北理工微机实验三.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北理工微机实验三详解

 PAGE \* MERGEFORMAT 9 实验三 串行通信 一、实验目的 1.了解串行通信的基本原理。 2.掌握串行接口芯片8251的工作原理和编程方法。 3.掌握串行接口芯片8250的工作原理和编程方法。 4. 掌握对串行接口芯片的初始化编程,学会串行通信半双工和全双工的编程技巧。 二、实验内容及步骤 1、利用PC机系统的串行通信接口实现与实验系统的双机通信,PC机的串行通信接口的端口地址为3F8H,并画出三线连接,七线连线通信接口的连线图,接口为标准RS-232(25芯)插座。 2、按图1连接好电路,其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在九针接口处。 图1 串口通信电路 3、接线(参考): CLK0 /8254 接 1M时钟 CLK /8251 接 1M时钟 GATE0 /8254 接 +5V OUT0 /8254 接 TX/RXCLK /8251 CS /8254 接 Y0/IO地址 CS /8251 接 Y7/IO地址 RXD /8251 接 TXD /九针接口 TXD /8251 接 RXD /九针接口 4、 8254计数器的计数初值=时钟频率 /(波特率X波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52. 5、设串行通信的波特率为1200、偶校验、数据位为7位、一位停止位,利用查询方式实现单工通信。要求发送方将任一文件传送到收方,收方收到后将源程序写入磁盘。分别编写收方和发方的通信程序。 6、上述参数不变,用中断方式实现半双工通信,编写程序。 7、PC机寄存器的端口地址如表1所示: 表1 PC机寄存器的端口地址 I/O端口IN/OUT寄存器名称3F8*OUT发送保持寄存器3F8*IN接收数据寄存器3F8**OUT波特率因子(LSB)3F9**OUT波特率因子(MSB)3FBOUT线路控制寄存器3FAIN中断标志寄存器3FCOUTMODEM控制寄存器3FDIN线路状态寄存器3FEINMODEM状态寄存器* 线路控制寄存器第七位 DLAB = 0 ** 线路控制寄存器第七位 DLAB = 1 波特率和除数因子对应关系如表2所示: 表2 波特率和除数因子对照表 波特率 单位/Hz因子值波特率 单位/Hz因子值MSBLSBMSBLSB500900180000407506002000003A110041724000030134.503593600002015003004800001830001807200001060000C09600000C12000060 三、编程提示 1. 可以首先采用查询方式,实现单工PC机系统与实验系统的双机通信,之后再实现双工方式通信; 2. 再尝试实现利用中断方式,实现单工PC机系统与实验系统的双机通信,之后再实现双工方式通信; 3. 要求能够实现字符和文件的传输。 四、实验流程图 双工收发实验代码的主流程图,如图3所示: 图3 双工收发实验代码主程序流程图 PC机串行通讯初始化参考流程: 五、实验代码 ;PC端程序代码 STACK SEGMENT PARA STACK DB 256 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START: MOV DX,3FBH;传输线路控制寄存器LCR,最高位为DLAB=1 MOV AX,80H OUT DX,AL MOV DX,3F8H;DLAB=1,除数锁存器(低字节)DLL MOV AX,60H OUT DX,AL MOV DX,3F9H;DLAB=1,除数锁存器(高字节)DLH MOV AX,0 OUT DX,AL;高字节DLH:00H,低字节:60H,设置波特率为1200 MOV DX,3FBH;传输线路控制寄存器LCR,最高位为DLAB=0 MOV AX,0AH;DLAB=0,0=禁止中断,0=无附加奇偶标志位,0=奇校验,1=有奇偶校验,0=1位停止位,10=7位 OUT DX,AL MOV DX,3FCH; MOV AX,03H;正常工作状态,rts引脚为低电平,DTR引脚低电平 OUT DX,AL MOV DX,3F9H;DLAB =0,禁止中断 MOV AX,0 O

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档