北理工微机原理实验三--使用8251A的串行接口应用实验

上传人:回**** 文档编号:122488834 上传时间:2022-07-20 格式:DOCX 页数:14 大小:783.48KB
返回 下载 相关 举报
北理工微机原理实验三--使用8251A的串行接口应用实验_第1页
第1页 / 共14页
北理工微机原理实验三--使用8251A的串行接口应用实验_第2页
第2页 / 共14页
北理工微机原理实验三--使用8251A的串行接口应用实验_第3页
第3页 / 共14页
点击查看更多>>
资源描述
本科实验报告实验名称: 实验三 使用8251A的串行接口应用实验 课程名称:计算机原理与应用实验实验时间:任课教师:实验地点:实验教师:实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:学 院:同组伙伴:专 业:成 绩:1. 实验目的1) 掌握串行通信原理及半双工和全双工的编程措施;2) 掌握用8251A接口芯片实现微机间的同步和异步通信;3) 掌握8251A芯片与微机的接口技术和编程措施。2. 实验原理和内容8251A是一种可编程的同步/异步串行通信接口芯片,具有独立的接受器和发送器,能实现单工、半双工、双工通信。1) 8251A内部构造8251A通过引脚D0D7和系统数据总线直接接口,用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接受CPU的控制信号、控制数据传送方向。CPU对8251A的读写操作控制表如表3-4所示。表3-4 CPU对8251A的读写操作控制表 2) 8251A的方式控制字和命令控制字方式控制字拟定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如图3-10所示。命令控制字使8251A处在规定的状态以准备收发数据,格式如图3-11所示。方式控制字和命令控制字无独立的端口地址,8251A 根据写入的顺序来辨别。CPU对8251A初始化时先写方式控制字,后写命令控制字。3) 状态寄存器8251状态寄存器用于寄存8251A的状态信息,供CPU查询,定义如图3-12所示。TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空/CTSTXE)成立时才置位。溢出错误:CPU没读走前一种字符,下一种字符又接受到,称为溢出错误。帧错误:在字符结尾没检测到停止位,称为帧错误。4) PC机寄存器的端口地址其中:线路控制寄存器第七位:DLAB=0;线路控制寄存器第七位:DLAB=1。5) 波特率和除数因子对照表实验硬件连接措施:通过计算机点到点三线制串口通信线,掌握接线的措施以及RS-232原则的机械、电气规范。3. 实验连接措施按图连接好电路,其中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译码/Y7(2B8H-2BFH。4. 编程提示8251的控制口地址为2B9H,数据口地址为2B8H。8254计数器的计数初值=时钟频率/(波特率X波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子16,则计数器初值52。1MHz = 1000000Hz基于8251芯片实现异步串行通信一般有两种方式,一种是查询方式,另一种是中断方式,使用哪种方式取决于进行初始化时寄存器的设立。8254 计数器的计数初值=时钟频率/(波特率波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。本实验采用8251A异步方式发送,运用8086汇编语言实验计算机点到点的串口通信,设立:波特率为1200bps、数据位7位、停止位1位、偶校验方式,运用查询方式或中断方式实现双机通信,可以传播多种字符。程序具体设计如下:1) 基本型实验:从键盘输入一种文献或打开已有的文献发送出去,再接受回来在屏幕上显示,实现自发自收。2) 提高型实验:设计发送方和接受方两个程序,规定将某汇编语言传送到接受方,接受方收到后将源程序写入指定磁盘或屏幕显示。5. 实验代码发送端代码:STACK SEGMENT PARA STACKDB 256 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:MOV DX,3FBH线路控制寄存器MOV AX,80H10000000B,DLAB=1,数据位,停止位,校验位,波特率因子OUT DX,ALMOV DX,3F8H波特率寄存器(低)MOV AX,60H查表OUT DX,ALMOV DX,3F9H波特率寄存器(高)MOV AX,0查表OUT DX,ALMOV DX,3FBH线路控制寄存器MOV AX,0AH00001010B,DLAB=0OUT DX,ALMOV DX,3FCH;调制解调器控制寄存器MOV AX,03H00000011B,OUT1,2均输出1,祈求发送,数据已就绪OUT DX,ALMOV DX,3F9H中断容许寄存器MOV AX,0多种中断所有严禁OUT DX,ALFOREVER:用死循环不断检测8251状态MOV DX,3FDH ;从线路状态寄存器读状态IN AL,DXTEST AL,1EH死记JNZ ERROR ;传播线状态寄存器所有都是0TEST AL,01H 00000001B,检测接受缓存寄存器与否有数据JNZ RECEIVE 可以收了 TEST AL,20H 00100000B,检测发送保持寄存器与否为空JNZ SEND 可以发了JMP FOREVERSEND:MOV AH,1INT 16HJZ FOREVER 可以发但是未接受到键盘字符收到了MOV AH,0INT 16H输入读入ALMOV DX,3F8H 扔进(对于发送端是)发送保持寄存器,发出OUT DX,ALCMP AL,03HJE DONEMOV DL,ALMOV AH,02HINT 21H显示发送的字符CMP AL,0DH00001101BJNZ FOREVERMOV DL,0AHMOV AH,02HINT 21HJMP FOREVERRECEIVE:MOV DX,3F8HIN AL,DXAND AL,7FHCMP AL,03H;JZ DONEMOV DL,ALMOV AH,02HINT 21HCMP AL,0DHJNZ FOREVERMOV DL,0AHMOV AH,02HINT 21HJMP FOREVERERROR:MOV DX,3F8HIN AL,DXMOV DL,0AHMOV AH,02HINT 21HJMP FOREVERDONE:MOV AH,4CHINT 21H CODE ENDSEND STAR接受端代码:DATA SEGMENT IO8254AEQU 280H IO8251AEQU 2B8H IO8251BEQU 2B9HDATA ENDS STACK SEGMENT PARA STACKDB 256 DUP(0)STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV DX,IO8254A+3MOV AL,00010110B ;设立8254计数器0工作方式OUT DX,ALMOV DX,IO8254AMOV AL,52 ;给8254计数器0送初值OUT DX,ALMOV DX,IO8251B ;对8251进行初始化MOV AX,0MOV CX,3reset8251: OUT DX,ALPUSH CXMOV CX,40H ;向8251控制端口送40H,使其复位LOOP $POP CXLOOP reset8251MOV AL,40HOUT DX,ALMOV CX,40HLOOP $MOV AL,5AHOUT DX,ALMOV AL,27HOUT DX,ALFOREVER:MOV DX,IO8251B ;从线路状态寄存器读状态IN AL,DXTEST AL,38H ;检测与否为00111000JNZ ERROR ;传播线状态寄存器所有都是0TEST AL,02H ;检测接受数据与否准备好了JNZ RECEIVE ;等于0则表达数据没有准备好TEST AL,01H ;数据没有准备好JNZ send ;没有,则跳转等待JMP FOREVERsend:MOV AH,1 ;检测键盘按下INT 16HJZ FOREVER ;有键盘按下MOV AH,0 ;读键盘INT 16HMOV DX,IO8251A ;将键盘的数据输出发送到缓冲器OUT DX,ALCMP AL,03HJZ DONEMOV DL,ALMOV AH,02HINT 21HCMP AL,0DHJNZ FOREVERMOV DL,0AHMOV AH,02HINT 21HJMP FOREVERRECEIVE:MOV DX,IO8251A ;接受数据IN AL,DXAND AL,7FH ;最高位为停止位CMP AL,03H;JZ DONEMOV DL,ALMOV AH,02HINT 21HCMP AL,0DHJNZ FOREVERMOV DL,0AHMOV AH,02HINT 21HJMP FOREVERCMP AL,0DHJNZ FOREVERERROR:MOV DX,IO8251AIN AL,DXMOV DL,?MOV AH,02HINT 21HJMP FOREVERDONE:MOV AH,4CHINT 21HCODE ENDSEND START
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 各类标准


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!