文档介绍:单片机串口通信
第1页,此课件共32页哦
同步方式仅在开始用若干字符作为同步号令,然后连续发送数据,如图所示。由于没有在每一个字符中,配置起始、停止位,所以结构紧凑,传输效率高、速度快,其组成如下图所自动从端口TXD() 接收数据,数据校验正确后送SBUF,一帧数据接收完毕 RI=1,串口向CPU请求中断且表示接收已经结束。单片机只要通过执行:
MOV A,SBUF
第11页,此课件共32页哦
串行口的控制寄存器
MCS-51的串行口有四种工作方式,用户可以通过对串行控制寄存器SCON编程来设定。此外,还有波特率控制寄存器PCON,必须详细了解这些特殊功能寄存器,才能正确应用串行通信接口。
1.串行口控制寄存器SCON
特殊功能寄存器SCON的地址为98H,具有位地址,可位寻址,复位时为00H,其格式如下:
SM0、SM1:串行口的方式选择位,见表7-1。
第12页,此课件共32页哦
SM2:方式2和方式3的多机通信控制位;
REN:允许串行接收位。
TB8:在方式2和方式3中,发送的第9位数据,需要时由软件置位或复位。
RB8:在方式2和方式3中,接收到的第9位数据;
在方式1时,RB8是接收到的停止位;在方式0,不使用RB8。
TI:发送中断标志。TI必须由软件清“0”
RI:接收中断标志,RI必须由软件清“0”。
第13页,此课件共32页哦
2.特殊功能寄存器PCON
特殊功能寄存器PCON的地址为87H,没有位地址。其格式如下:
PCON的最高位是串行口波特率系数控制位SMOD,当SMOD为“1”时,方式2,3中使波特率加倍。PCON的其他位为掉电方式控制位,。
第14页,此课件共32页哦
单片机串行接口的工作方式
一、串行口工作方式0:串口扩展为并口
1)波特率固定为 发送—位数据等于一个机器周期。
2)不论是发送还是接收,数据都是从RXD()端出入。TXD端而作为同步移位脉冲输出端。
3)工作于方式0时,可将串行接口扩展为并行接口,
第15页,此课件共32页哦
串行接口的工作方式
串行通信接口有4种工作方式,它们由SCON中的SM0、SM1决定。下面从应用的角度,重点讨论各种工作方式的功能特性和工作原理。
1.方式0——移位寄存器方式
方式0通过外接一个移位寄存器扩展一个并行的输入/输出口。
(1)发送
方式0发送时,串行口上外接74LS164移位寄存器。其接口如图7-7所示。
(2)接收
方式0接收时,串行口上外接并行输入串行输出移位寄存器74LS166,其接口如图7-8所示。
图7-7 方式0发送接口图
图7-8 方式0接收接口图
DATA
第16页,此课件共32页哦
必须注意:在接收时,除了设置SCON控制字为方式0外,还应设置允许接收控制位REN为“1”,清除RI中断标志,才能启动接收器工作。
方式0工作时,必须使SCON控制字的SM2位(多机通信控制位)为“0”,从而不影响TB8和RB8位。由于波特率固定,故无需用定时器提供。但以中断方式传输数据时,CPU响应中断不会自动清除TI、RI标志,所以在中断服务程序中,必须由指令将TI、RI清“0”。
方式1:方式1为8位异步通信接口,1帧信息为10位,即1位起始位(0)、8位数据(低位在前)及1位停止位(1),
如图7-9所示。TXD为发送端,RXD为接收端,波特率由定
时器T1的溢出率来决定。
图7-9 方式1数据格式
第17页,此课件共32页哦
(1)发送: CPU向发送缓冲器SBUF写入一个数据后,便启动串行口在TXD端输出帧信息,先发送起始位“0”,接着从低位开始依次输出8位数据,最后输出停止位。发送完一帧信息后,发送中断标志TI置“1”,向CPU请求中断。
(2)接收:当允许接收位REN置“1”后,接收器便采样RXD端电平,当采样到“1”到“0”的跳变时,启动接收器接收。计数器的16个状态把1位时间等分成16份,并在第7、8、9个计数状态时,采样RXD电平。因此,每一位的数值采样三次,取其中至少有两次相同的值为确认值。启动后,如果三次采样的确认值不是“0”,则起始位无效,复位接收电路重新检测。如果确认值为“0”,起始位有效,则开始按从低位到高位的顺序接收一帧的数据信息。
必须注意,在方式1接收中设置有数据辨识功能:只有同时满足以下两个条件时,接收到的数据才有效,才会将数据装入SBUF,并置RI为“1”,向CPU请求中断;否则,所接收的数据帧无效。当SM2=1时,接收到的停止位“1”装