MCS单片机串行通信.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS单片机串行通信

9.2 串行口结构与工作原理 图9.6 串行接口方式2和方式3的时序 (a)发送 (b)接收 9.2 串行口结构与工作原理 (1)发送。操作过程与方式1类似。当执行MOV SBUF,A命令时,便立即启动发送,从起始位开始依次向TxD脚发送发送缓冲器SBUF中的8位数据、附加的第9位数据(SCON中的TB8)和停止位。当一帧数据发送完毕,置TI=1。方式2和方式3发送时序如图9.6(a)所示。 (2)接收。当REN=1,允许接收。接收器开始检测RXD引脚上的信号,检测和接收数据的方法与方式1相似。当接收器收到第9位数据后,若同时满足以下的两个条件:一是RI=0,二是接收到第9位数据为1,则接收到数据有效,8位数据装入SBUF,第9位数据装入RB8,并由硬件将RI置位。若不满足这两个条件,则接收到的这一帧数据将丢失,重新开始检测起始位。方式2和方式3接收时序如图9.6(b)所示。 方式2或方式3的发送与接收时序与方式1相似,仅仅是多了一位数据TB8或RB8。 9.2 串行口结构与工作原理 9.2.3 波特率设计设置 1. 方式0的波特率 串行口工作在方式0时,发送和接收的波特率是固定的。波特率都等于振荡频率的1/12。即:波特率=fosc/12 2. 方式2的波特率 串行口工作在方式2时,发送和接收的波特率与电源控制寄存器PCON中的SMOD位有关。当SMOD=0时,波特率等于振荡频率的1/64;当SMOD=1时,波特率等于振荡频率的1/32。即: 波特率=fosc×2SMOD/64 (9-1) 由于PCON无位寻址功能,通常通过以下指令清零或者置1。 ANL PCON,#7FH;使得SMOD=0 ORL PCON,#80H;使得SMOD=1 9.2 串行口结构与工作原理 3. 方式1和方式3的波特率 串行口工作在方式1和方式3时,发送和接收的波特率是可变的,它与定时器的溢出速率和SMOD位有关。其波特率由下式确定: 波特率=2SMOD ×T1溢出速率/32 (9-2) 其中:T1 的溢出速率定义为定时时间的倒数,计算公式如下: 9.2 串行口结构与工作原理 定时器T1溢出速率= 波特率= (9-3) (9-4) 9.2 串行口结构与工作原理 式中:K为定时器T1位数,它和定时器T1的设定方式有关。即: 若定时器T1为方式0,则K=13; 若定时器T1为方式1,则K=16; 若定时器T1为方式2,则K=8; 定时器T1作波特率发生器时,通常选用T1 工作在方式2 定时方式,此时,T1 的计数速率为fosc/12(应禁止T1 中断)。因为定时器T1在方式2下工作,TH1和TL1分别设定为两个8位重装计数器,这种方式不仅可使得操作方便,也可避免因重装初值而带来的定时误差。 表9.2给出了工程设计中定时器T1产生的常用波特率与其他参数之间的关系。可根据表中规律,推算出其他串行口通信波特率。 9.2 串行口结构与工作原理 表9.2 常用波特率选取关系 fosc(MHz) 串行口工作方式 波特率(b/s) 定时器T1 SMOD C / T 模式 T1初值 12 方式0 1M × × × × 方式2 375K 187.5K 1 0 × × × × × × 方式1和方式3 62.5K 110 1 0 0 0 2 1 0FFH 0FFEBH 11.0592 19200 9600 4800 2400 1200 600 300 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 0FDH 0FDH 0FAH 0F4H 0E8H 0D0H 0A0H 6 110 55 0 0 0 0 2 1 72H 0FEEBH 9.3 8051双机串行异步通信 两台8051单片机可以很方便地通过串口实现异步通信。根据两台单片机的距离,应采用不同的电平标准才能实现正常通信。若两台单片机在1.5米以内,可以采用TTL/CMOS电平;若两台单片机更远,但在15米以内,则可以采用RS232C电平;若采用RS485总线标准,则通信距离可以达到1公里左右。TTL/CMOS电平采用≥2.4V表示逻辑“1”,采用≤0.5V表示逻辑“0”。 RS232C总线电平标准则是用-12V表示逻辑“1”, 用+12V表示逻辑“0”。因此,与TTL/CMOS电平相比,RS232C总线电平具有更强的抗干扰能力,传送数据的能力更强,通信距离更远。单片机串口采用的是TTL/CMOS电平。而PC机的串口(COM1、COM2)则采用的是RS232C总线电平。 9.3 8051双机串行异步通信 9.3.1 硬件连接 8051单片机的串口的输入与输出为TTL/

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档