1-第二章 串行通讯.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  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文档。上传文档
查看更多
本资源来源于互联网,版权为原作者所有。若侵犯到您的版权,请提出指正,我们将立即删除。

计算机与通信工程学院 方式2和方式3 方式2和方式3接收 方式2和方式3的接收过程与方式1类似。数据从RXD端输入,接收过程由RXD端检测到负跳变时开始(CPU对RXD不断采样,采样速率为所建立的波特率的16倍,)当检测到负跳变,16分频计数器就立即复位,同时把1FFH写入输入移位寄存器,计数器的16个状态把一位时间等分成16份,在每一位的第7,8,9个状态时,位检测器对RXD端的值采样,如果所接收到的起始位不是0,则复位接收电路等待另一个负跳变的来到,若起始位有效(=0),则起始位移入输入移位寄存器,并开始接收这一帧的其余位。 当起始位0移到最左面时,通知接收控制器进行最后一次移位。把8位数据装入接收缓冲器,第9位数据装入SCON中的RB8,并置中断标志RI=1。 数据装入接收缓冲器和RB8,并置位RI,只在产生最后一个移位脉冲时,并且要满足下列条件。 (1)RI=0,SM2=0; (2)接收到的第9位数据为1时,才会进行 如果不满足上述条件接收到的数据信息就会丢失,而且中断标志RI不置1。 请注意与方式1的区别,在方式2和方式3中装入RB8的是第9位数据,而不是停止位(方式1中装入的是停止位)。所接收的停止位的值可用于多机处理(多机通信中的地址/数据标志位),也可作奇偶校验位。 计算机与通信工程学院 多机通信 串行口以方式2和方式3接收时, 若SM2(串行口控制寄存器SCON中的SM2为多机通信控制位)为1: 当接收器收到的第9位数据为1时,数据才装入接收缓冲器,并将中断标志RI置“1”,向CPU发中断申请; 如果接收到的第9位数据为0。则不产生中断标志,信息将丢失, 而当SM2为0时 接收到一个数据字节后,不管第9位数据是1还是0,都产生中断标志(RI=1)接收到的数据装入接收缓冲器。利用这个特点,可实现多个MCS-51之间的通信, 如图8-1为一种简单的主从式的多机系统: 主机控制与从机之间的通信 从机之间的通信只能经主机才能实现,从机是被动的 TXD RXD 89C51 主机 TXD RXD 89C51 1号从机 TXD RXD 89C51 2号从机 TXD RXD 89C51 3号从机 计算机与通信工程学院 多机通信 从机系统由从机的初始化程序(或相关的处理程序)将串行口编程为方式2或方式3接收,且置SM2为1,允许串行口中断, 当主机要发送一数据块给从机时,它先送出一地址字节,以辨认目标从机。 地址字节与数据字节可用第9位来区别 发出地址信息时第9位为1 发数据(包括命令)信息时第9位为0。 当主机发送地址时,各从机的串行口接收到第9位信息(RB8)为1,则把中断标志RI置“1”。 这样,使每一台从机都检查一下所接收到的主机发送来的地址是否与本机相符。 若为本机地址,则清除SM2(=0),并准备接收即将来到的数据(或命令)。 没有被寻址的从机,则保持SM2=1状态,这些从机将不理睬进入到串行口的数据字节。 在主机发送数据时,各从机串行口接收到RB8为0信息,只有被寻址的从机(已清SM2)激活中断标志RI,接收主机的数据(或执行主机的命令),实现和主机的信息传送。 其余从机因SM2≠0,且第9位RB8为0,不满足接收数据的条件,即将所接收到的数据丢失。 计算机与通信工程学院 波特率 串行口每秒钟发送(或接收)的位数称为波特率。假设发送一位数据所需要的时间为T,则波特率为: 方式0:波特率固定为振荡器频率的1/12。 方式2: 如果SMOD=0(复位时SMOD=0),波特率为振荡器频率的1/64 如果SMOD=1,波特率为振荡器频率的1/32。 方式1和3的波特率由定时器1的溢出率所决定: 波特率=(定时器1溢出率)/n 式中:定时器1溢出率=定时1的溢出次数/秒 SMOD=0,n=32。 SMOD=1,n=16。 计算机与通信工程学院 波特率计算公式 模式0波特率设置: 波特率=FOSC/12 模式1波特率设置: SMOD=0: 波特率= FOSC /[32×12×(256-TH1)] TH1=256-FOSC/(384×波特率) SMOD=1: 波特率=2× FOSC /[32×12×(256-TH1)] TH1=256-2×FOSC/(384×波特率) 模式2波特率设置: SMOD=0:波特率= FOSC /64 SMOD=1: 波特率=2× FOSC /64 模式3波特率设置: 与模式1相同。 计算机与通信工程学院 一些波特率设置 波特率 (方式1、3) fosc=6M fosc=12M fosc = 11.0592M SMOD T1方式 初值 SMOD T1方式 初值 SMOD T1方式 初值 62.5k 1 2 FFH 19.2k 1 2 FDH 9.6k 0 2 FDH 4

文档评论(0)

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

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

1亿VIP精品文档

相关文档