您现在的位置: 主页 > MCU > 单片机技术应用 > AT89S51串行口工作方式1 -
本文所属标签:
为本文创立个标签吧:

AT89S51串行口工作方式1 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
  串行口的方式1为双机串行通信方式,如右图所示。    当SM0、SM1两位为01时,串行口设置为方式1的双机串行通信。TXD脚和RXD脚分别用于发送和接收数据。    方式1收发一帧的数据为10位,1个起

 

本文引用地址: http://www.21ic.com/app/mcu/201804/765111.htm

  串行口的方式1为双机串行通信方式,如右图所示。

当SM0、SM1两位为01时,串行口设置为方式1的双机串行通信。TXD脚和RXD脚分别用于发送和接收数据。

方式1收发一帧的数据为10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。方式1的帧格式如下图所示。

方式1时,串行口为波特率可变的8位异步通信接口。方式1的波特率由下式确定

式中,SMOD为PCON寄存器最高位的值(0或1)。

1.方式1发送

串行口以方式1输出时,数据位由TXD端输出,发送一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1,当CPU执行一条数据写发送缓冲器SBUF的指令(MOVSBUF,A),就启动发送。方式1发送时序如下图所示。

下图中,TX时钟的频率就是发送的波特率。发送开始时,内部发送控制信号SEND变为有效,将起始位向TXD引脚(P3.0)输出,此后每经过一个TX时钟周期,便产生一个移位脉冲,并由TXD引脚输出一个数据位。8位数据位全部发送完毕后,中断标志位TI置1,然后SEND(的反)失效。

2.方式1接收

串行口以方式1(SM0、SM1=01)接收时(REN=1),数据从RXD(P3.1)引脚输入。当检测到起始位的负跳变时,则开始接收。方式1的接收时序如下图所示。

接收时,定时控制信号有两种(如下图所示),一种是接收移位时钟(RX时钟),它的频率和传送的波特率相同;另一种是位检测器采样脉冲,它的频率是RX时钟的16倍。也就是在1位数据期间,有16个采样脉冲,以波特率的16倍速率采样RXD引脚状态。当采样到RXD端从1到0的负跳变时就启动检测器,接收的值是3次连续采样(第7、8、9个脉冲时采样)取其中两次相同的值,以确认是否是真正的起始位(负跳变)的开始,这样能较好地消除干扰引起的影响,以保证可靠无误地开始接收数据。

当确认起始位有效时,开始接收一帧信息。接收每一位数据时,也都进行3次连续采样(第7、8、9个脉冲时采样),接收的值是3次采样中至少两次相同的值,以保证接收到的数据位的准确性。当一帧数据接收完毕后,必须同时满足以下两个条件,这次接收才真正有效。

(1)RI=0,即上一帧数据接收完成时,RI=1发出的中断请求已被响应,SBUF中的数据已被取走,说明“接收SBUF”已空。

(2) SM2=0或收到的停止位=1(方式1时,停止位已进入RB8),则将接收到的数据装入SBUF和RB8(装入的是停止位),且中断标志RI置1。

若不同时满足这两个条件,收到的数据不能装入SBUF,这意味着该帧数据将丢失。

 



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > AT89S51串行口工作方式1 -
 

"AT89S51串行口工作方式1 -"的相关文章

网站地图

围观()