微机原理实验三.pdf

微机原理实验三.pdf

ID:57330593

大小:607.65 KB

页数:12页

时间:2020-08-12

微机原理实验三.pdf_第1页
微机原理实验三.pdf_第2页
微机原理实验三.pdf_第3页
微机原理实验三.pdf_第4页
微机原理实验三.pdf_第5页
资源描述:

《微机原理实验三.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三使用8251A的串行接口应用实验一、实验目的1)掌握串行通信原理及半双工和全双工的编程方法。2)掌握用8251A接口芯片实现微机间的同步和异步通信。3)掌握8251A芯片与微机的接口技术和编程方法。二、实验原理和内容8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能实现单工、半双工、双工通信。1)8251A内部结构8251A通过引脚D0~D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接收CPU的控制信号、控制数据传送方向。CPU对8251A的读写操作控制表如表3-4所

2、示。表3-4CPU对8251A的读写操作控制表/CSC/D/RD/WR操作1任意任意任意无操作,D0~D7呈高阻0110写控制字0010写数据0101读状态0001读数据2)8251A的方式控制字和命令控制字方式控制字确定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10所示。命令控制字使8251A处于规定的状态以准备收发数据,格式如图3-11所示。方式控制字和命令控制字无独立的端口地址,8251A根据写入的次序来区分。CPU对8251A初始化时先写方式控制字,后写命令控制字3)状态寄存

3、器8251状态寄存器用于寄存8251A的状态信息,供CPU查询,定义如图3-12所示。TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件(数据缓冲器空•/CTS•TXE)成立时才置位。溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。帧错误:在字符结尾没检测到停止位,称为帧错误。4)PC机寄存器的端口地址表3-5PC机寄存器的端口地址地址寄存器名称备注说明0x3F8发送保持寄存器DLAB=00x3F8接收缓存寄存器DLAB=00x3F8波特率因子寄存器(高位)DLAB=10x3F9波特率因子寄存器(低位)DL

4、AB=10x3F9中断允许寄存器DLAB=00x3FA中断识别寄存器0x3FB线路控制寄存器0x3FCMODEM控制寄存器0x3FD线路状态寄存器0x3FEMODEM状态寄存器其中:线路控制寄存器第七位:DLAB=0;线路控制寄存器第七位:DLAB=1。5)波特率和除数因子对照表表3-6波特率和除数因子对照表波特率因子值波特率因子值单位HzMSBLSB单位HzMSBLSB500900180000407506002000003A110041724000030134.50359360000201500300480000183000180720

5、0001060000C09600000C12000060实验硬件连接方法:通过计算机点到点三线制串口通信线,掌握接线的方法以及RS-232标准的机械、电气规范。6)实验连接方法按图连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。1)8254/CLK0连接时钟/1MHz;2)8254/CS连接I/O译码/Y0(280H---287H);3)8254/OUT0连接8251/TX/RXCLK;4)8254/GATE0连接+5V;5)8251/TXD连接8251/RXD;6)8251/CS连接I/O译码/Y

6、7(2B8H---2BFH。7)编程提示8251的控制口地址为2B9H,数据口地址为2B8H。8254计数器的计数初值=时钟频率/(波特率X波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子16,则计数器初值52。基于8251芯片实现异步串行通信一般有两种方式,一种是查询方式,另一种是中断方式,使用哪种方式取决于进行初始化时寄存器的设置。8254计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。本实验采用8251A异步方式发送,利用

7、8086汇编语言实验计算机点到点的串口通信,设置:波特率为1200bps、数据位7位、停止位1位、偶校验方式,利用查询方式或中断方式实现双机通信,能够传输多个字符。三、实验流程图四、实验代码(1)收发字符datasegmentio8254aequ280hio8254bequ283hio8251aequ2b8hio8251bequ2b9hmes1db'youcanplayakeyonthekeybord!',0dh,0ah,24hmes2ddmes1dataendscodesegmentassumecs:code,ds:datastart:

8、movax,datamovds,axmovdx,io8254b;设置8254计数器0工作方式moval,16houtdx,almovdx,io8254amoval,52;给8254计数器0送初

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。