第章MCS单片机串行通信概述.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文档。上传文档
查看更多
(3)REN——允许串行接收位 由软件置“1”或清“0”   REN=1 允许串行口接收数据。   REN=0 禁止串行口接收数据。 (4)TB8——发送的第9位数据 方式2和3时,TB8是要发送的第9位数据 可作为奇偶校验位使用,也可作为地址帧或数据帧的标志。 =1为地址帧, =0为数据帧 (5)RB8——接收到的第9位数据 方式2和3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。方式0不使RB8 (6)TI——发送中断标志位 方式0时,串行发送第8位数据结束时由硬件置“1”, 其它工作方式,串行口发送停止位的开始时置“1”。TI=1,表示一 帧数据发送结束,可供软件查询,也可申请中断。CPU响应中断后, 向SBUF写入要发送的下一帧数据。TI必须由软件清0。 (7)RI——接收中断标志位 方式0时,接收完第8位数据时,RI由硬件置1。 其它工作方式,串行接收到停止位时,该位置“1”。RI=1,表示一 帧数据接收完毕,并申请中断, CPU从接收SBUF取走数据。该位状态也可软件查询。RI必须由软件清“0”。 要保证主机与所选择的从机实现可靠地通讯,必须保证串口具有识别功能。 SCON中的SM2位就是满足这一条件而设置的多机通讯控制位 原理:在串行口以方式2(或方式3)接收时, 若SM2=1,表示置多机通讯功能位,这时有两种可能: (1)接收到的第9位数据为1时,数据才装入SBUF,并置中断标志RI=1向CPU发出中断请求; (2)接收到的第9位数据为0时,则不产生中断标志,信息将抛弃。 若SM2=0,则接收的第9位数据不论是0还是1,都产生RI=1中断标志,接收到的数据装入SBUF中。 设多机系统中有一主机和3个8031从机,如下图。 主机的RXD与从机的TXD相连,主机TXD与从机的RXD端相连 从机地址分别为00H、01H、02H。 多机通讯工作过程: (1)从机串行口编程为方式2或方式3接收,且置“1”SM2和REN位,使从机只处于多机通讯且接收地址帧的状态。 (2)主机先将从机地址(即准备接收数据的从机)发给各从机, 主机发出的地址信息的第9位为1, 各从机接收到的第9位信息RB8为1,且由于SM2=1,则置“1” RI,各从机响应中断,执行中断程序。在中断服务子程序中,判主机送来的地址是否和本机地址相符合,相符则该从机清“0”SM2位,准备接收主机的数据或命令;若不符,则保持SM2=1状态。 (3)接着主机发送数据帧,此时各从机串行口接收到 的RB8=0,只有地址相符合的从机系统(即已清“0”SM2位的从机)才能激活RI,进入中断,在中断程序中接收主机的数据(或命令) 其它的从机因SM2=1,又RB8=0不激活中断标志RI,不能进入中断,接收的数据丢失。 多机系统是主从式,由主机控制多机之间的通讯,从机和从机的通讯只能经主机才能实现。 串行口的编程和应用 自己去阅读 串行口方式1应用编程(双机通讯) 是采用查询还是中断方式? 发送程序的设计 接收程序的设计 串行口方式2应用编程 方式2的使用和方式3基本一样(方式3的波特率要由用户决定),具体使用方法可以参照方式3。 串行口方式3应用编程(双机通讯) * * * * * * * * * * * * * * * * (1) 时钟振荡频率为12MHz或6MHz时,表中初值X和相应的波特率之间有一定误差。例如,FDH的对应的理论值是10416波特(时钟6MHz)。与9600波特相差816波特,消除误差可以调整时钟振荡频率fosc实现。例如采用的时钟振荡频率为11.0592MHz。 (2) 如果串行通讯选用很低的波特率,例如,波特率选为55,可将定时器T1设置为方式1定时。但在这种情况下,T1溢出时,需用在中断服务程序中重新装入初值。中断响应时间和执行指令时间会使波特率产生一定的误差,可用改变初值的方法加以调整。 例7-3 若8031单片机的时钟振荡频率为11.0592MHz,选用T1为方式2定时作为波特率发生器,波特率为2400b/s,求初值。 上述结果可直接从表7-2中查到。 这里时钟振荡频率选为11.0592 MHz,就可使初值为整数,从而产生精确的波特率。 * * 多个MCS-51单片机可利用串行口进行多机通讯。要保证主机与所选择的从机实现可靠地通讯,必须保证串行口具有识别功能。 串行口控制寄存器SCON中的SM2位就是为满足这一

文档评论(0)

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

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

1亿VIP精品文档

相关文档