当前位置:首页 > 单片机 > 单片机
[导读]MCS-51单片机内部有一个全双工的异步串行通信接口,其结构如图4-18所示。串口工作时,单片机P3口的P3.0引脚和P3.1引脚处于第二功能,分别是串口的数据接收端RXD和发送端TXD。

MCS-51单片机串口的基本结构

MCS-51单片机内部有一个全双工的异步串行通信接口,其结构如图4-18所示。串口工作时,单片机P3口的P3.0引脚和P3.1引脚处于第二功能,分别是串口的数据接收端RXD和发送端TXD。

图4-18 MCS-51单片机串口内部结构示意图

串口控制寄存器SCON决定了串口的工作方式,而串口的波特率与定时/计数器1的溢出率直接相关。另外,串口发送数据和接收数据都可以产生串口中断请求。

发送缓冲区只能写入不能读出。发送数据时,在发送控制器的控制下,发送缓冲区中的并行数据转换为串行数据,并被插入格式信息以形成完整的字符数据帧,最后由TXD引脚发送出去。接收缓冲区只能读出不能写入。接收数据时,由RXD引脚接收字符数据帧。在接收控制器的控制下,字符数据帧中的格式信息被滤除,然后数据被移位寄存器转换成并行数据并存入接收缓冲区。可见,MCS-51单片机的串口是全双工的串口,可以同时进行数据发送和接收。

串口的工作方式

MCS-51单片机的串口有4种工作方式,其中方式0主要用于并行I/O接口的扩展,其他方式用于数据传输。

1.串口工作方式0

在方式0时,串口是8位同步移位寄存器,既可以移位输入也可以移位输出,并不是真正的数据通信方式,主要用于扩展外部并行I/O接口。如该方式的时序(见图4-19)所示,TXD是移位脉冲的输出引脚,RXD是数据移位输入或输出的引脚。另外,方式0的字符数据帧中只有8个数据位,没有格式信息。

图4-19串口工作方式0时序

a)发送(输出)时序b)接收(输入)时序

(1)数据的发送

发送数据前,首先将TI清0,然后只要向SBUF中写入数据,就会启动串口的发送,如指令“MOV SBUF,A”。之后,引脚TXD和RXD分别出现移位脉冲和数据位。当所有数据位发送完毕后,串口发送中断请求标志位TI被单片机硬件置1,以表明一次数据发送过程结束。单片机硬件在任何时候都不会自动将TI清0。再次发送数据前,必须用软件指令将TI清0,如执行指令“CLR TI”。

(2)数据的接收

接收数据前,必须令REN=1且RI=0,以启动串口的接收过程。之后,TXD引脚出现移位脉冲,串口等待RXD引脚上出现的数据位,并将其送入移位寄存器。当接收完一个完整数据帧后,硬件将移位寄存器中的数据送入接收缓冲区SBUF,并将接收中断请求标志位RI置1,以表明数据接收完毕。再次接收数据前,需将SBUF中的数据取走,并将RI清0。取SBUF中的数据可以用指令“MOV A,SBUF”,该指令将接收缓冲区的数据送入累加器A。只能用软件指令将RI清0,如指令“CLR RI”,因为单片机硬件不会自动将RI清0。

2.串口工作方式1

在方式1时,串口可接收和发送8位数据,其时序如图4-21所示。1个字符帧中有10个二进制位,包括8个数据位、1个起始位和1个停止位。TXD和RXD分别是发送数据和接收数据的引脚。

图4-21串口工作方式1时序

a)发送(输出)时序b)接收(输入)时序

(1)数据的发送

与方式0相似,发送数据前,首先将TI清0,然后只要向SBUF中写入数据,就会启动串口的发送过程。被发送的数据从TXD向外输出,低位在前高位在后。一帧数据发送完毕后,TI被单片机硬件置1。再次发送数据前,必须用软件指令将TI清0。

(2)数据的接收

接收数据前,令REN=1且RI=0,以启动串口接收过程。通过RXD接收字符数据帧,接收顺序为先低位再高位。实际上,数据的接收是通过采样实现的,每个数据位上RXD被采样3次,其中两次相同的采样值作为采样结果送入接收端的移位寄存器。一个完整字符帧接收完毕后,RI被置1,并且接收的8个数据位被送入接收缓冲区,而停止位“1”被送入接收方SCON的RB8中。若再次接收数据,则必须提前将RI清0。

3.串口工作方式2和方式3

串口工作方式2和方式3属于多机通信方式(多机通信的具体实现方法见前文关于SM2的描述),主机与从机的连接关系如图4-23所示,其时序如图4-24所示。方式2和方式3的唯一差别是波特率计算公式不同,见表4-14。

图4-23多机通信中主机与从机的连接

(1)数据的发送

方式2和方式3的字符帧包含11个二进制位,与方式1相比,在停止位前多了TB8位,该TB8位来自于发送方SCON寄存器中的TB8位。发送方的TB8位最终将被送入接收方SCON寄存器的RB8位中。

图4-24串口工作方式2和方式3时序

a)发送(输出)时序b)接收(输入)时序

与其他工作方式的发送过程相同,发送前需将TI清0,然后向SBUF中写入数据以启动发送。数据由TXD向外发送,数据发送完毕后,TI被硬件置1。再次发送数据前,必须用指令将TI再次清0。

(2)数据的接收

串口接收数据前,需令REN=1且RI=0。数据由RXD引脚接收。在字符数据帧中,停止位和D7之间的位来自发送方的TB8,并被送入接收方SCON寄存器的RB8位中。因此在图4-24所示接收时序中,停止位和D7之间的位用RB8表示。一个字符数据帧接收完毕后,RI不一定被硬件置1。见表4-16,RI被硬件置1的情况有两种,分别是:①SM0=0;

②SM0=1并且RB8=1。再次接收数据前,必须将RI清0,并令REN=1。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭