MCS-51单片机的串行口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.串口控制寄存器SCON SCON中和串行口有关的位的功能描述如下: (1)SM0、SM1:串行口工作方式选择位。其定义见下表。
SM0 SM1 00 01 10 11
工作方式
功能说明
方式0 方式1
8位同步移位寄存器,波特率固定(为fosc/12) 10位UART,波特率可变(取决于T1的溢出率)
SM2=0或接收到的停止位为1,继而将并行数据送入接受SBUF,再置 RI=1,表示一帧数据接收完毕。发生的时序见下图。
方式1接收数据时的时序
3)波特率计算 方式1下串行口的波特率是可变的,与作为波特率发生器的定时器/
计数器T1的溢出率有关,其公式为
其中,SMOD是PCON寄存器最高位的值。 当定时器/计数器T1工作于方式2时,假设计数初值为X,则定时
2.电源控制寄存器PCON
PCON是控制CPU运行功率的寄存器。
D7 D6
SMOD --
D5 D4 D3 D2 D1 D0
--
-- GF1 GF0 PD IDL
(1)SMOD:串行口波特率的倍增位。当SMOD=1时,串行口波特 率加倍;系统复位时,SMOD=0。
(2)GF1、GF0:通用标志位。这两个位可作为系统“上电复位” 或“热复位”的检测标志。
方式0接收数据时的时序
2.方式1 1)方式1发送
当数据写入发送SBUF后,硬件自动添加起始位和停止位,与8 个数据位构成一帧,由TXD引脚逐位地按照设定波特率发送出去。 发送完毕,发送中断标志TI置1。其时序如下图所示。
方式1发送数据时的时序
ห้องสมุดไป่ตู้
2)方式1接收 要使在方式1的接收数据有效,必须满足两个条件:RI=0;
方式2 方式3
11位UART,波特率固定(为fosc/64或fosc/32) 11位UART,波特率可变(取决于T1的溢出率)
(2)SM2:多机通信控制位。 (3)REN:接收允许控制位。REN=1时允许串行口接收;REN=0时禁止 串行口接收。 (4)TB8:发送的第9数据位。在方式2或方式3时,其值由用户软件 设置。双机通信时,TB8常作为奇偶校验位使用;多机通信时,TB8常表 示主机发送的是地址帧还是数据帧。一般约定,TB8=0为数据帧,TB8=1 为地址帧。 (5)RB8:接收的第9数据位。在方式2或方式3时,发送机发送的第9 位数据TB8被接收机接收后,存放于接收机的SCON寄存器的RB8中。
字符帧的异步通信格式
2)同步通信 同步通信中,每一数据块开始时发送一个或两个同步字符,以
使发送端与接收端双方获得同步。数据块的各个字符间不存在起始 位和停止位,所以通信速度比异步通信快。同步通信时,如果发送 的数据块之间有时间间隔,则发送同步字符填充。
2.串行通信的传送方式 串行通信的传送方式可分为单工、半双工和全双工3种:
器/计数器T1的溢出周期为:
溢出率是溢出周期的倒数,则波特率计算公式变为:
定时器/计数器T1选择使用方式2作为波特率发生器,主要 是因为该方式为8位自动加载方式,具有自动重装计数初值的 功能,可以避免程序反复装入初值而引起的定时误差,使波特 率较为稳定。实际应用时,通常是通过波特率的值计算得到定 时器/计数器T1的计数初值,公式为:
UART发送操作图
UART接收操作
1.2 MCS-51单片机的串行口结构和控制
MCS-51系列的串行口内部包含发送缓冲器和接收缓冲器,可同 时接收和发送数据。发送缓冲器只能写入不能读出,接收缓冲器则 只能读出不能写入。两个缓冲器占用同一个地址(99H),并且用 同一个符号SBUF表示。
与串行口设置有关的特殊功能寄存器除了定时/计数器相关设 置之外,还包括两个控制寄存器:串口控制寄存器SCON和电源控制 寄存器PCON。
4.串行通信接口电路 能够完成异步通信的串行接口硬件电路称为UART,即通用异步
接收/发送器。 本质上,串行接口电路是以并行数据形式与CPU接口,以串行
数据形式与外部逻辑接口。MCS-51系列单片机串行通信的基本功能 可以描述为:发送数据时,从CPU接收并行数据,转换成一定格式 的串行数据,按规定的波特率逐位输出;接收数据时,将外设送来 的一定格式的串行数据转换成并行数据传送给CPU。
3.串行通信的数据传输速率
波特率是衡量一个通信系统数据传送快慢的常用指标。在串行通信中, 波特率指每秒传送二进制的位数,它是每一位的传送时间的倒数,也就是说 波特率是每秒传送的字符个数和每字符所含二进制位数的乘积。波特率的单 位是“波特”(baud)或位/秒(b/s),它既反映了串行通信的速率,也反 映了对传输通道的要求,波特率越高,要求传输通道的频带就越宽。
MCS-51单片机的串行口
MCS-51单片机的串行口
1.1 串行通信的基础知识
1.串行通信的分类
按照串行数据的同步方式,串行通信可以分为异步通信和同步 通信。
1)异步通信 异步串行通信每个数据以相同的帧格式传送,如图所示。每一帧
信息由起始位、数据位、奇偶位和停止位组成,从起始位开始到停止 位结束的全部内容称为“一帧”,发送一位数据所需的时间称为“位 时间”。
发送完成后自动将中断标志TI置位,呈中断申请状态,再次发送 数据之前,必须用软件将TI清0。
方式0发送数据时的时序
2)方式0接收 若满足REN=1和RI=0的条件,则自动触发串行口的同步接收数据
动作。此时串行口开始从RXD引脚串行输入数据,波特率为fosc/12。
当接收完8位数据后,中断标志RI被置位,请求中断。当再次接收时, 必须由软件将RI清0。
在异步串行通信中,格式位的发送和接收都必须有时钟信号对传送的数 据进行定时控制。发送时钟和接收时钟就是用来控制通信设备发送、接收字 符数据速度的,该时钟信号一般都是由外部时钟电路产生的。
在发送数据时,发送设备在发送时钟的下降沿将移位寄存器的数据串行 移位输出;接收数据时,接收设备在接收时钟的上升沿对接收数据采样,进 行数据位检测。时钟频率越高,则波特率越高,通信速度就越快。
(3)PD:掉电方式位。PD=1时,CPU立即进入掉电的省电模式 运行。
(4)IDL:待机方式位。IDL=1时,CPU立即进入闲置的省电模 式运行。
1.3 MCS-51单片机串行口的工作方式
1.方式0
1)方式0发送 当用户应用程序向SBUF写入数据时,在同步时钟TXD的控制下,
串行口将8位数据以fosc/12的固定波特率从RXD引脚输出。8位数据
相关文档
最新文档