51单片机串口uart串口初步学习
51单片机串口uart串口初步学习
1.什么是串口
- 一种应用十分广泛的通讯接口,可以使单片机与单片机,单片机与电脑或者模块之间互相通信。
- UART(通用异步收发器)
这是其中一种串口接口
但我们在笔记本上常用usb转串口(CH340)来连接uart。
2.如何连接串口
2.1连接方式
VCC-VCC
TXD-RXD
RXD-TXD
GND-GND
注意:TXD与RXD交叉连接;若单向数据传输可以只连接一根线;当电平标准不一致时,需要电平转换芯片(如RS232,RS485,TTL)
以下为电平标准介绍:
3.其他通信接口介绍
名称 | 引脚 | 通信方式 | 特点 |
---|---|---|---|
uart | TX,RX | 全双工,异步 | 点对点 |
I2C | SCL,SDA | 全双工,同步 | 可挂载多个设备 |
SPI | SCLK,MOSI,MISO,CS | 全双工,同步 | 可挂载多个设备 |
1—Wire | DQ | 全双工,同步 | 可挂载多个设备 |
此外还有can总线,USB等。
4. 51单片机的UART
STC89C52 只有一个UART
其工作模式有四种
- 模式0:同步移位寄存器
- 模式1:8位UART,波特率可变
- 模式2:9位UART,波特率固定
- 模式3:9位UART,波特率可变
常用模式为模式1。
以下为串口模式图:
以下为完整模式图:
接下来即配置寄存器
1 |
|
附:波特率如何计算?
若给计时器配置为0xF3(243),即每计13个数溢出一次。
又当使用12Mhz的晶振,在12T模式下,每一微秒记一次数。
所以,每隔13us溢出一次,溢出的频率即为1/13(0.0769230769230769)MHz
若波特率加倍 就是(0.07692/16)MHz = 0.00480769MHz = 4807.69Hz(约等于4800Hz),有略微误差。若为11.0582Mhz晶振,可以没有误差。
51单片机串口uart串口初步学习
http://jiangno.com/2024/09/08/24_9_8_UART/