[工学]第7章单片机课件.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文档。上传文档
查看更多
[工学]第7章单片机课件

2.方式2接收 SM0、SM1=10,且REN=1。 数据由RXD端输入,接收11位信息。当位检测逻辑采样到RXD引脚从1到0的负跳变,并判断起始位有效后,便开始接收一帧信息。在接收器完第9位数据后,需满足以下两个条件,才能将接收到的数据送入SBUF。 (1)RI=0,意味着接收缓冲器为空。 (2)SM2=0或接收到的第9位数据位RB8=1时。 当上述两个条件满足时,接收到的数据送入SBUF(接收缓冲器),第9位数据送入RB8,并置“1”RI。若不满足这两个条件,接收的信息将被丢弃。 例7-2 方式2接收在双机通讯中的应用。 本例与上例相对应。若附加的第9位数据为校验位,在接收程序中应作偶校验处理,设1组寄存器区的R0为数据缓冲器指针。 PIRI: PUSH PSW PUSH Acc SETB RS0 ;选择1组寄存器区 CLR RS1 CLR RI MOV A,SBUF ;收到数据送A MOV C,P JNC L1 JNB RB8,ERP ;ERP为出错处理程序 AJMP L2 L1: JB RB8,ERP L2: MOV @R0,A INC R0 POP Acc POP PSW ERP: ……… ;出错处理程序段 ……… RETI 四. 方式3 SM0、SM1=11,为波特率可变的9位异步通讯方式,除波特率外,方式3和方式2相同。 方式3的波特率由下式确定: 波特率=(2SMOD/32)×定时器T1的溢出率 7.3 多机通讯 要保证主机与所选择的从机实现可靠地通讯,必须保证串行口具有识别功能。 SM2位就是设置的多机通讯控制位。 若SM2=1,表示置多机通讯功能位,这时出现两种可能情况: (1)接收到的第9位数据为1时,数据才装入SBUF,并置中断标志RI=1向CPU发出中断请求; (2)接收到的第9位数据为0时,则不产生中断标志,信息将抛弃。 若SM2=0,则接收的第9位数据不论是0还是1,都产生RI=1中断标志,接收到的数据装入SBUF中。 从机的地址分别为00H、01H和02H。 多机通讯工作过程: (1)从机串行口编程为方式2或方式3接收,且置“1”SM2和REN位,使从机只处于多机通讯且接收地址帧的状态。 (2)主机先将从机地址发送给各从机,接着才传送数据或命令,主机发出的地址信息的第9位为1,数据信息的第9位为0。 当主机向各从机发送地址时,各从机的串行口接收到的第9位信息RB8为1,且由于SM2=1,则置“1” RI,各从机响应中断,执行中断服务程序。 在中断服务子程序中,判主机送来的地址是否和本机地址相符合,若为本机地址,则该从机清“0”SM2位,准备接收主机的数据或命令;若地址不相符,则保持SM2=1状态。 (3)主机发送数据帧,此时各从机串行口接收到的RB8=0,只有与前面地址相符合的从机系统(即已清“0”SM2位的从机)才能激活RI,进入中断服务程序,在中断服务程序中接收主机的数据(或命令); 其它的从机因SM2保持为1,又RB8=0不激活RI,不能进入中断,所接收的数据丢失不作处理,从而保证主机和从机间通讯的正确性。 7.4 波特率的制定方法 方式0和方式2的波特率是固定的;方式1和方式3波特率可由定时器T1的溢出率来确定。 一. 波特率的定义 串行口每秒钟发送(或接收)的位数 对于定时器的不同工作方式,得到的波特率的范围不一样,因为,计数位数的不同。 二. 波特率的计算 (1)方式0 波特率固定为时钟频率fosc的1/12,且不受SMOD位的值的影响。 若fosc=12MHz,波特率为fosc/12即1Mb/s。 (2)方式2 波特率与SMOD位的值有关。 波特率= (2SMOD/64)×fosc 若fosc=12MHz: SMOD=0 波特率=187.5kb/s; SMOD=1 波特率=375kb/s (3)方式1或方式3 常用定时器T1作为波特率发生器 波特率= (2SMOD/32)×T1的溢出率 实际设定波特率时,T1常设置为方式2定时(自动装初值)这种方式不仅操作方便,也可避免因软件重装初值而带来的定时

文档评论(0)

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

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

1亿VIP精品文档

相关文档