(单片机_汪文)4.输入输出、中断、定时与串行通信.ppt

(单片机_汪文)4.输入输出、中断、定时与串行通信.ppt

  1. 1、本文档共166页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* SRXD3:JZ SCHRX ;若为接收命令,则转SCHRX JB F0H,STXD ;若本机发送就绪,则转STXD MOV SBUF,#00H ;本机发送未就绪,发 ;TRDY = 0 SETB SM2 SJMP RETURN ;返主程序 STXD: MOV SBUF ,#02H ;发送TRDY = 1的状态字 JNB TI ,$ ;等待发送完毕 CLR TI ;接收到后清TI LOOP1:MOV SBUF, @R0 ;发送一个字符数据 JNB TI ,$ ;等待发送完毕 CLR TI ;发送完毕后清TI INC R0 ;发送数据块始址加1 DJNZ R2,LOOP1 ;字符未发完,则继续 * SETB SM2 ;令SM2 = 1 SJMP RETURN ;返回 SCHRX:JB PSW.1,SRXD;本机接收就绪则STXD MOV SBUF ,#00H ;本机接收未就绪,发RRDY = 0 SETB SM2 ;令SM2 = 1 SJMP RETURN ;返回主程序 SRXD:MOV SBUF,#01H ;发出RRDY = 1状态字 LOOP2:JNB RI ,$ ;接收一个字符 CLR RI ;接收一帧字符后后清RI MOV @R1,SBUF ;存入内存 INC R1 ;接收数据块指针加1 DJNZ R3,LOOP2 ;若未接收完,则继续 * SETB SM2 ;令SM2 = 1 SJMP RETURN ;返回主程序 END * 在许多应用场合,需要由PC机与单片机组成分布式计算机系统,单片机完成数据的采集与过程控制,PC机完成数据的显示、管理,以及控制模型的优化等。本节讨论PC机与单片机的串行通信问题。PC系列微机利用异步通信接口可实现串行通信。异步通信接口的核心是通用异步接收/发送器UART(Universal Asynchronous Receiver Transmitter),配以电平转换电路和控制逻辑电路。 异步通信接口可以与调制解调器配合进行远距离通信。 4.5 PC机与单片机的通信 * 利用PC机的异步通信适配器,可以很方便地完成与单片机的连接。最简单的连接方式如图4.25(P99页)所示。由于单片机输入输出电平为TTL电平,而PC机是EIA-232-D标准接口,因此需要完成两种不同电平之间的转换,才能实现PC机与单片机之间的通信。图4.25中的MC1488芯片将TTL电平转换为EIA-232-D电平,MC1489芯片则将EIA-232-D电平转换为TTL电平。 * 本章小结(P101) * 作业:P102 二、简答题:1,2,3,5,6,7。 谢谢大家! 感谢您的观看! * 例3.编制一个串行方式2接收子程序,接收上例发送的16个数据,存首址为40H的内RAM中,并核对奇偶校验位,接收核对正确,发出回复信号FFH;发现错误,发出回复信号00H,并等待重新接收。 解:程序如下: * RXD2: MOV SCON,#80H ;置串行方式2,禁止接收 MOV PCON,#80H ;置SMOD=1 MOV R0,#40H ;置接收数据区首址 SETB REN ;启动接收 RWAP: JNB RI,$ ;等待一帧数据接收完毕 CLR RI ;清接收中断标志 MOV A,SBUF ;读接收数据,并在PSW中产生接收数据的奇偶值 JB PSW.0,ONE ;P=1,转另判 JB RB8,ERR

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档