微机原理及c其应用_第8章.pptVIP

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

5.数据接收/发送寄存器 (1)发送保持寄存器THR 用来保存CPU送来的并行数据,并转送到发送移位寄存器,将此并行数据转换成串行数据,且加上起始位、校验位和停止位,再从SOUT引脚串行输出。 (2)接收缓冲寄存器RBR 从SIN引脚输入的串行数据被送到接收移位寄存器,去掉起始位、校验位和停止位以后,转换成并行数据并存入RBR中,等待CPU来接收。 (3)FIFO控制寄存器 16550的一个主要优点是它具有16字节的先进先出的内部接收器和发送器FIFO存储器,使得16550大大地降低了对CPU响应串行数据接收/发送中断的速度要求,适合于高速串行通信系统中使用。 FFCR则用于对FIFO的控制。 其格式如图 8.22所示。 EN REVC XMIT DMA 0 0 RT2 RT1 FFCR D7 D0 接收器FIFO产生中断的条件 DMA方式控制位 接收器清除 FIFO允许位 0:不是DMA方式 1:DMA方式 00:FIFO中有1字节数据 01: FIFO中有4字节数据 10: FIFO中有8字节数据 11: FIFO中有16字节数据 0:无效 1:清除接收 器FIFO 0:禁止FIFO 1:允许FIFO 发送器清除 0:无效 1:清除发送器FIFO 图8.22 FIFO控制寄存器 8.3.4 16550的初始化编程 ①为确定通信波特率设置除数寄存器。 ②对通信线路控制寄存器设置,以确定异步通信的字符格式 。 ③设置FIFO控制寄存器。 ④设置中断允许寄存器,以确定CPU与16550进行数据传送时,是否采用中断传送方式。 ⑤设置Modem控制寄存器。 一般情况下,应设置为03H,即使16550输出DTR和RTS两个信号为有效电平(若系统中未使用这2个信号,这样的设置也不会带来问题)。此外,在PC机系统中,常使用16550输出引脚OUT2来控制其中断请求信号INTR的输出,如图8.23所示。若要使用中断,则OUT2位应置为“1”,这样对此寄存器的控制字则应为0BH。 16550 INTR OUT2 8259A的IRi 图8.23 16550的中断请求信号与8259A的连接 例: 设16550的端口地址为3F8~3FFH,欲使16550以9600波特率进行串行通信,字符格式为7个数据位、2个停止位、奇校验方式,允许所有中断,则相应的初始化程序为: MOV DX,03FBH ;DX指向16550的通信线控制寄存器地址 MOV AL,80H ;置DLAB=1 OUT DX,AL? MOV DX,03F8H ;除数寄存器(低字节)地址 MOV AL,78H ;对应波特率为9600的除数为0078H OUT DX,AL ;送除数低字节 INC DX ;指向除数寄存器(高字节)地址 MOV AL,0 ? OUT DX,AL ;送除数高字节 MOV AL,0EH ;通信控制寄存器控制字:0→DLAB;7位数据 MOV DX,03FBH ;奇校验,2个停止位 OUT DX,AL? MOV DX,03FAH ;DX指向FIFO控制寄存器 MOV AL,87H ;FIFO控制字:允许FIFO并清除接收器和发送器 ? ;FIFO,设置接收器FIFO中有8个字节时申请中断。 OUT DX,AL? MOV DX,03F9H ;指向中断允许寄存器地址 MOV AL,0FH ;中断允许控制字:允许所有的中断 OUT DX,AL ? MOV DX,03FCH ;指向Modem控制寄存器 MOV AL,0BH ;Modem控制字:使OUT2、DTR、RTS输出 OUT DX,AL ;均为有效(低电平) 从COM1串行口发送一个字符的子程序, 设待发送的字符已在CL中。 SEND:MOV DX,03FDH ;DX指向16550的通信线

文档评论(0)

1haodian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档