当前位置:首页 > 单片机 > 单片机
[导读]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。

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

MCS-51单片机中断系统的结构如图4-1所示。MCS-51单片机有5个中断源,分别是2个外部中断源、2个定时/计数器中断源和1个串行接口中断源。与中断系统有关的寄存器有TCON、SCON、IE和IP,它们都可以按位寻址...

关键字: MCS-51 单片机 中断系统

单片机系统用户可以通过中断系统的软件和硬件实现对某一中断请求的开放(或允许)和屏蔽。开放是指中断请求发生时中断系统响应该请求,并完成相应的中断服务处理工作;相反地,屏蔽是指中断系统既不接收中断请求,也不进行中断处理。

关键字: MCS-51 单片机 中断系统

MCS-51单片机4个并行I/O端口引脚的内部结构如图2-10所示,每个端口有8个相互独立且内部结构完全相同的引脚。图2-10中的字母X代表引脚序号,是0~7的整数。接下来将分别介绍P0、P1、P2和P3口的引脚特性。

关键字: MCS-51 单片机 并行 I/O 端口 引脚特性

MCS-51系列单片机产品有8051,8031,8751,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模R...

关键字: MCS-51 单片机 引脚

MCS-51单片机的CPU字长为8位,内部包含运算器、控制器和特殊功能寄存器。由于特殊功能寄存器在功能和使用方法方面与存储器比较相似,因此将与存储器一同讲解。本小节仅介绍运算器和控制器的基本情况。

关键字: MCS-51 单片机 控制器 运算器

MCS-51单片机内部集成了微处理器、存储器、输入接口和输出接口,其体系结构如图2-1所示。在MCS-51单片机中,ROM存放程序代码,RAM存放数据,因此ROM和RAM分别被称为程序存储器和数据存储器。因为,程序存储器...

关键字: MCS-51 单片机 哈佛体系结构 数据存储器

PIC单片机的EUSART是一种串行通信接口,我们可以利用他让不同设备之间传输数据,我们来讲讲我们最常用的串行异步接收和发送。管脚串行异步接收和发送。如果只要两个引脚,一个是接收RX一个是发送TX。数据格式我们先来

关键字: pic单片机 串行通信接口 eusart

 TMS320LF2407是美国TI(Texas Instruments)公司专为数字伺服控制和嵌入式控制系统而推出的一种低功耗、高性能16位定点DSP芯片。通过把高速的数字信号处理器内核和功能强大的

关键字: DSP 串行通信接口 总线与接口 减摇水舱 试验台架

近年来,DSP在电子、通信和控制领域得到了非常广泛的应用,在DSP应用系统设计中与上、下位机的通信必不可少。目前几乎所有的DSP都提供一个或多个串口,然而,多数DSP芯片提

关键字: tms320vc5402 串行通信接口 总线与接口

摘要:异步串行通信接口(SCI)因其结构简洁、使用方便,因而在各类MCU、DSP和MPU芯片设计中获得广泛的应用。本文给出一种以状态机为控制核心、以数据流为执行中心的异步串行通信接口IP核结构设计的通用方法。此方法已

关键字: IP核 异步串行通信 串行通信接口 状态机
关闭