- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.1 数据通信的基本概念 7.1.1 根据通信方式分类 7.1.2 根据同步方式分类 异步通信 7.1.3 根据数据传输方向分类 7.2 51单片机串行口 7.2.1 串行口的结构 7.2.1 串行口的结构 7.2.2 串行口控制寄存器SCON 7.2.3 电源控制寄存器PCON 7.3 串行口工作方式 7.3.1 方式0 方式0发送 方式0接收 7.3.2 方式1 接收需满足的条件 7.3.3 方式2和方式3 7.4 单片机串行口波特率 7.4.1 波特率与字符传输速率 7.4.2 波特率的计算 7.5 串行口的应用 程序 7.5.2 双单片机异步串行通信 1#单片机程序 2#单片机程序 7.5.3 多机通信 7.5.4 RS-232总线及接口电路 方式2:波特率固定的11位通用异步通信方式 。 方式3:波特率可变的11位通用异步通信方式 。 通信数据格式:包括1位起始位(低电平),8位数据位、1位程控位(TB8或RB8)和1位停止位(高电平),按照先发送/接收低位,后发送/接收高位的顺序通信 。 方式2波特率固定为固定为fOSC/32或fOSC/64; 方式3波特率由具体的波特率发生器(定时器T1产生)设置决定。 方式2(方式3)帧格式 根据通信协议的约定由程序对TB8进行设置,然后再执行指令MOV SBUF, A,启动发送过程。发送完数据的第8位(D7)之后,由硬件自动将TB8作为第9位数据发送。发送完毕,硬件置位发送中断标志位TI,表示发送已完成。 方式2(方式3)发送时序图 方式2(方式3)发送 首先设置允许接收控制位REN=1,检测到有效的起始位后,依次按先低位后高位的顺序接收8位数据位D0~D7,再将接收的第9位数据→RB8。如果接收条件具备,硬件置位接收中断标志位RI,表示接收已完成,然后执行指令MOV A, SBUF,将接收的8位数据传输给累加器A。 方式2(方式3)接收时序图 方式2(方式3)接收 (1) RI=0; (2) SM2=0 或 SM2=1,接收到的第9位数据RB8=1 。 (3) REN = 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 单片机串行口有四种工作方式: 方式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设置为1:波特率为fOSC/32,波特率加倍。 方式1和方式3的波特率可变,其值由设定的定时器T1溢出速率确定。 实际使用中,T1一般采用自动装载初值的方式2。此种方式操作方便,可以避免软件重载初值引入的误差,从而保证波特率的稳定。 FDH 2 0 0 6MHz 4800b/s FDH 2 0 1 6MHz 9600b/s FEH 2 0 1 6MHz 19200b/s E8H 2 0 0 11.0592MHz 1200b/s F4H 2 0 0 11.0592MHz 240
文档评论(0)