北理工计算机原理与应用实验三.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北理工计算机原理与应用实验三

本科实验报告实验名称: 计算机原理与应用实验三 课程名称:计算机原理与应用实验时间:任课教师:实验地点:实验教师:实验类型:■ 原理验证□ 综合设计□ 自主创新学生姓名:学号/班级:组 号:学 院:同组搭档:专 业:成 绩:实验三 串行通信一、实验目的了解串行通信的基本原理。掌握串行接口芯片8251 的工作原理和编程方法。掌握串行接口芯片8250 的工作原理和编程方法。掌握对串行接口芯片的初始化编程;学会串行通信半双工和全双工的编程技巧。二、实验内容及步骤1、利用PC 机系统的串行通信接口实现与实验系统的双机通信PC 机的串行通信接口的端口地址为3F8H,并画出三线连接,七线连线通信接口的连线图,接口为标准RS-232(25 芯)插座。2、连接电路连接好电路,其中8254 计数器用于产生8251 的发送和接收时钟,TXD 和RXD 连在九针接口处。3、接线实现点到点的异步串行通信,需要利用串行接口将两台计算机直接连接起来,其中关键是将发送数据(TD)和接受数据(RD)交叉连接,其余连接要满足于控制信号。CLK0 /8254接1M时钟CLK /8251接1M时钟(系统已经连接,不用学生连接)GATE0 /8254接+5V0UT0 /8254接TX/RXCLK /8251CS /8254接Y0 /IO 地址CS /8251接Y7 /IO 地址RXD /8251接TXD /九针接口TXD /8251接RXD /九针接口4、 设置计数器的值8254 计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。5、数据要求设串行通信的波特率为1200、偶校验、数据位为7 位、一位停止位,利用查询方式实现单工通信。要求发送方将任一文件传送到收方,收方收到后将源程序写入磁盘。分别编写收方和发方的通信程序。6、半双工通信上述参数不变,用中断方式实现半双工通信,编写程序。7、PC 机寄存器的端口地址如下表所示I/O端口IN/OUT寄存器名称3F8 *OUT发送保持寄存器3F8 *IN接收数据寄存器3F8 **OUT波特率因子(LSB)3F9 **OUT波特率因子(MSB)3F9 *OUT中断允许寄存器3FBOUT线路控制寄存器3FAIN中断标志寄存器3FCOUTMODEM控制寄存器3FDIN线路状态寄存器3FEINMODEM状态寄存器*线路控制寄存器第七位 DLAB=0** 线路控制寄存器第七位 DLAB=18、线路控制寄存器(LCR,只写)用来设置通信参数,初始化时必须设置,I/O端口地址3FBH或2FBH。b7:DLAB位。置0为常态,置1访问DLL、DLM寄存器;b6:中断控制位。置0禁止,置1允许;b5,b4,b3:奇偶校验。b2:停止位数。置0使用1位停止位,置1时,如果字符长度为5,使用1.5停止位,如果字符长度为6、7、8,使用2位停止位。b1,b0:字符长度。9、线路状态寄存器(LSR)用于提供与线路有关的状态信息,使用中可能随时查询,I/O端口地址3FDH或2FDH。b7:恒置0;b6:发送保持移位寄存器空(TSRE);b5:发送保持寄存器空(THRE),置1表示允许向THR输出数据;b4:断点中断(BI);b3:桢(字符)格式错(FE);b2:奇偶校验错(PE)b1:超载错误(OE)b0:数据就绪(DR),置1表示RBR中有数据。10、波特率因子寄存器(DLL、DLM,只写)两个寄存器组成一个16位寄存器,存放一个波特率因子(分频值)。对1.8432MHz频率进行分配,从而得到用户需要的波特率。DLL存放波特率因子的低8位,DLM存放波特率因子的高8位。I/O端口地址3F8H/3F9H或2F8H/2F9H,典型的波特率因子值可以根据公式得到:波特率因子=1843200/(波特率*16)例如,对于4800的波特率:因子=1843200/(4800*16)=24(0x18);于是DLL应设置为0,DLM应设置为0x18。11、接收缓冲寄存器(RBR,只读)用来存放从线路上接收的有效字符,等待本地读取,I/O端口地址3F8H或2F8H。12、发送保持寄存器(THR)用来存放待发送的数据,与RBR使用同一I/O地址,但互不干扰。13、中断允许寄存器(IER,只写)用来设置哪些中断源可以产生中断,响应位置0禁止,置1允许。I/O端口地址3F9H或2F9H。b7到b4:恒置0;b3:MODEM状态中断;b2:线路状态中断;b1:发送中断;b0:接受中断。14、中断识别寄存器(IIR,只读)用于提供与中断原因有关的信息,在中断服务例程中需要查询。I/O端口地址3FAH或2FAH。b7到b3:恒置0;b2,b1,b0:中断原因,组合及含义。三、编程提示1、可以首

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档