单片机原理及应用第7章 串行通信及应用.pptVIP

单片机原理及应用第7章 串行通信及应用.ppt

  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文档。上传文档
查看更多
* 执行指令MOV SBUF, A,内部发送控制信号SEND有效,按照设置的波特率,每经过一个TX发送时钟脉冲,产生一个移位脉冲,驱动TXD引脚依次输出字符帧的各位信息。 TXD引脚串行输出发送起始位、8位数据,1位停止位,低位在先,高位在后,8位数据和1位停止位发送完成后,中断标志位TI硬件置1,SEND失效 。 图7.3.5 方式1发送时序图 方式1发送 * 检测RXD(P3.1)引脚上的从1到0的下降沿跳变,然后持续采样检测,确认起始位后,开始从RXD引脚按位接收数据,直到接收到有效的8位数据或检测到有效的停止位,接收完成后硬件置位RI,执行指令MOV A, SBUF,读入接收的8位数据。 图7.3.6 方式1接收时序图 方式1接收 * 接收需满足的条件 (1) 结束接收时,RI=0 (RI=0意味着之前接收的数据已经成功 处理,接收缓冲器SUBF已空置,保证数据不冲突)。 (2) SM2=0 或 SM2=1,接收到有效的停止位。 (3) REN = 1允许接收状态。 * 7.3.3 方式2和方式3 方式2:波特率固定的11位通用异步通信方式 。 方式3:波特率可变的11位通用异步通信方式 。 通信数据格式:包括1位起始位(低电平),8位数据位、1位程控位(TB8或RB8)和1位停止位(高电平),按照先发送/接收低位,后发送/接收高位的顺序通信 。 方式2波特率固定为固定为fOSC/32或fOSC/64; 方式3波特率由具体的波特率发生器(定时器T1产生)设置决定。 图7.3.7 方式2(方式3)帧格式 * 根据通信协议的约定由程序对TB8进行设置,然后再执行指令MOV SBUF, A,启动发送过程。发送完数据的第8位(D7)之后,由硬件自动将TB8作为第9位数据发送。发送完毕,硬件置位发送中断标志位TI,表示发送已完成。 图7.3.8 方式2(方式3)发送时序图 方式2(方式3)发送 * 首先设置允许接收控制位REN=1,检测到有效的起始位后,依次按先低位后高位的顺序接收8位数据位D0~D7,再将接收的第9位数据→RB8。如果接收条件具备,硬件置位接收中断标志位RI,表示接收已完成,然后执行指令MOV A, SBUF,将接收的8位数据传输给累加器A。 图7.3.9 方式2(方式3)接收时序图 方式2(方式3)接收 * (1) RI=0; (2) SM2=0 或 SM2=1,接收到的第9位数据RB8=1 。 (3) REN = 1允许接收状态。 接收需满足的条件 * 7.4 单片机串行口波特率 异步串行通信中,收发双方之间没有直接的同步信号,但是从数据传输快慢的角度看,两者必须步调一致,才能保证数据的正确通信。因此,收发双方对数据传输速率的约定,就归结为波特率的设置。 * 7.4.1 波特率与字符传输速率 波特率:串行口每秒发送或接收数据的位数,单位为位/秒(b/s或bps)。设发送一位所需要的时间为t秒,则波特率为1/t。常见的波特率包括1200、4800、9600、19200等。波特率越大,传输速率越快,单位时间内数据传输量就越大,效率越高。 波特率是二进制位的传输速率,字符速率是字符帧的传输速率。 在异步通信中,一个字符帧包括起始位、数据位、校验位、停止位等信息,所以字符传输速率不等同于波特率,但两者之间存在具体的关系。 * 例7–2 采用异步通信方式发送ASCII码,规定字符帧格式为1位起始位,8位数据位,1位奇校验位,2位停止位。若字符传送速率为每秒100个字符,求该异步通信的波特率及传送一位二进制位所需要的时间。 分析:一个字符帧包括1+8+1+2=12位,即12位/帧,代 入公式: 波特率=100帧/秒×12位/帧=1200位/秒=1200bps。 传送一位需要时间=1/1200bps=0.833ms/位 传送一个字符需要时间=0.833ms/位*12位=9.996ms * 7.4.2 波特率的计算 单片机串行口有四种工作方式: 方式0和方式2的波特率固定,其值与系统振荡频率有关。 方式1和方式3的波特率可变,其值由设定的定时器T1溢出速率确定。 (1)方式0的波特率 方式0的波特率固定,其值为fOSC/12。 例如:时钟振荡频率fOSC=12MHz,则波特率为fOSC/12=1MHz。 (2)方式2的波特率 方式2的波特率固定,其值为fOSC/32或fOSC/64。存在两种波特率的原因是PCON寄存器中SMOD位的设置。 SMOD设置为0:波特率为fOSC/64,波特率正常; SMOD设置为

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档