一、串口(UART)
串口又叫异步收发器,是一种常用通讯接口,可用于单片机与电脑、单片机与单片机、单片机与其他模块通信。还有其他通信协议:I2C、SPI、One-Wire、CAN、USB等。
同步与异步:同步约定了时间,异步没有约定时间。
全双工、半双工、单工:全双工可同时收发数据,半双工在同一时刻只能收或发,单工只能单向传输。
二、原理图
电平标准不一致,加电平转换芯片。TTL电平标准,+5v表示1,0v表示0。另外还有RS232、RS485电平标准。
TXD:发送 RXD:接收(TXD与RXD交叉连接)
此单片机有一个UART,有四种工作模式:模式0:同步移位寄存器
模式1:8位UART,波特率可变(常用)
模式2:9位UART,波特率固定
模式3:9位UART,波特率可变
三、内部结构
SBUF:串口数据缓存寄存器,物理上是两个寄存器,但占用同一块地址。
SMOD:1,波特率加倍。
四、时序图
五、框架
六、相关寄存器
1.定时器
2.串口
3.中断
七、实验
1.模拟串口
实验现象:发送0xAA,LED1亮;发送0xBB,LED1灭;发送其他值,返回接收到数据。
UART.c
UART.h
main.c
2.硬件串口
实验现象:同上。
Timer.c
Timer.h
UART.c
UART.h
main.c