串口介绍
串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。
单片机的串口可以使单片机与单片机,单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。
51单片机内部自带UART(通用异步收发器),可实现单片机的串口通信。
硬件电路
简单双向串口通信有两根通信线(发送端TXD和接收端RXD)
TXD与RXD要交叉连接
当只需单向的数据传输时,可以直接一根通信线
当电平标准不一致时,需要加电平转换芯片
电平标准
电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
TTL电平*:+5V表示1,0V表示0 传输距离 10多米
RS232电平*:-3 ~ -15V表示1,+3 ~ +15V表示0 传输距离 10多米
RS485电平*:两线压差+2~ +6V表示1,-2 ~-6V表示0(差分信号)传输距离 1000米
接口及引脚定义
DB9
类似的是VGA接口但是用于输入输出视频,是不同的
常见通讯接口比较
此外还有:CAN、USB等
全双工:通信双方可以在同一时刻互相传输数据
半双工:通信双方可以互相传输数据,但必须分时复用一根数据线
单工:通讯只能有一方发送到另一方,不能反向传输
异步:通信双方各自约定通信速率
同步:通信双方靠一根时钟线来约定通信速率
总线:连接各个设备的数据传输线路(类似于一条马路,把路边各住户连接起来,使住户可以相互交流)
51单片机的UART
STC89C52有1个UART
STC89C52的UART有四种工作模式:
模式0:同步移位寄存器
模式1:8位UART,波特率可变(常用)
模式2:9位UART,波特率固定
模式3:9位UART,波特率可变
串口参数及时序图
波特率:串口通信的速率
检验位:用于数据验证
停止位:用于数据帧间隔
串口模式图
SBUF:串口数据缓存寄存器,物理上是两个独立的存储器,但占用相同的地址。写操作时,写入的是发送存储器,读操作时,独处的是接受存储器
串口和中断系统
串口相关寄存器
数据显示模式
HEX模式/十六进制模式/二进制模式:以原始数据的形式显示
文本模式/字符模式:以原始数据编码后的形式显示