文档介绍:第8章 MCS-51串行口
串口通讯的基本方式
串口控制
串行接口的工作方式
串口的应用
串口通讯的基本方式
(一).异步通讯
以字符为传送单位用起始位和停止位标识每个字符的开始和结束字符间隔不固定,只需字符传送时同步。
异步通讯常用格式:一个字符帧
异步通讯的双方需要两项约定:
一帧字符位数的规定:数据位,校验位,起始位和停止位。
(位/秒)对传送速率的规定
例:要求每秒传送120个字符,每帧为10位。
解: B=120×10=1200波特
数据位传输率=120×8=960位/秒
(二).同步通讯
以一串字符为一个传送单位,字符间不加标识位,在一串字符开始用同步字符标识,硬件要求高,通讯双方须严格同步。
D0
D1
D2
D3
D4
D5
D6
D7
停止位
起始位
:并串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。
:串并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接收结束标志,申请中断。
:接收编程命令和控制参数,设置工作方式:同步/异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。
单工通讯:数据单向传送。
半双工通讯:数据可分时双向传送。
全双工通讯:可同时进行发送和接收。
发送器
接收器
发送器
接收器
MCS-51串行控制 1个全双工串行接口,可同时进行发送和接收。
串行接口输入/输出引脚:TXD()、RXD()
数据格式():按不同方式,一帧位数 8/10/11发送/接收时,数据皆低位在前。
一帧字符发送/接收结束,置位标志位(TI/RI)并申请SIO中断。
中断控制:中断允许位ES
中断入口:0023H
D0
D1
D2
D3
D4
D5
D6
D7
停止位
起始位
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D8
停止位
起始位
D7
串行接口控制
发送SBUF和接收SBUF共用一个地址99H 。
1)发送SBUF存放待发送的8位数据,写入SBUF将同时启动发送。发送指令: MOV SBUF,A
2)接收SBUF存放已接收成功的8位数据,供CPU读取。读取串行口接收数据指令:
MOV A,SBUF
(98H)
SM0,SM1:选择串行口4种工作方式。
SM2:多机控制位,用于多机通讯。
REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。
TB8发送的第9位数据位,可用作校验位和地址/数据标识位
RB8:接收的第9位数据位或停止位
TI:发送中断标志,发送一帧结束,TI=1,必须软件清零
RI:接收中断标志,接收一帧结束,RI=1,必须软件清零
SMOD():波特率加倍控制位。
SMOD=1,波特率加倍, SMOD=0,则不加倍。
串行接口的工作方式SM0,SM1选择四种工作方式。
(1) 方式0:同步移位寄存器方式。用于扩展并行I/O接口。
,无起始位和停止位。
:数据输入/输出端。
TXD:同步脉冲输出端,每个脉冲对应一个数据位。
= fosc/12
如: fosc=12MHz, B=1MHz,每位数据占1s。
:写入SBUF,启动发送,一帧发送结束,TI=1。
接收过程:REN=1且RI=0,启动接收,一帧接收完毕,RI=1。
发送时序
写入
SBUF
RXD输出
TXD
TI
D0
D1
D2
D3
D4
D5
D6
D7
写REN=1
RI=0
RXD输入
RI
接收时序
(a)
(b)
数据从RXD()引脚串行输出,低位在先,高位在后;TXD()引脚输出移位脉冲,其频率为foc/12;发送完毕后,中断标志位TI为1。如要发送数据,如下所示:
MOV SCON,#00H ;串行口方式0
MOV SBUF,A ;将数据送出
JNB TI,$ ;等待数据发送完毕
移位寄存器方式
(2) 方式1 8位数据异步通讯方式。
:8位数据位,1个起始位(0),1个停止位(1)。
:接收数据端。 TXD:发送数据端。
:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。
:写入SBUF,同时启动发送,