学习嵌入式第四十六天
文章目录
- UART
- 1.概念
- 2.通信方式
- 3.数据传输
- 1.数据传输顺序
- 2.数据传输形式
- 3.串行并行的区别
- 4.串口通信时序
- 4.奇偶校验
- 5.串口通信参数
- 6.串口寄存器配置
- 7.主从应答
- 7.主从应答
UART
1.概念
- UART:Universal Asynchronous Receiver Transmitter,通用异步收发器, 51单片机拥有两个串口,一个被用于ISP下载程序,另一个被用于和主机之间的通信(全双工串行异步)
2.通信方式
- 单工:发送发和接收方固定,数据只能从发送方发给接收方,通过一根信号线实现,因此传输方向呈现单一性
- 半双工:通信双方既可以作为发送方也可以作为接收方,通过一根信号线实现,传输方向可以是双向的,但同一时刻传输方向呈现单一性
- 全双工(UART):通信双方既可以作为发送方也可以作为接收方,通过两根信号线实现,传输方向在任意时刻都是双向的
3.数据传输
1.数据传输顺序
- UART在数据传输时,遵循LSB优先原则(低位先传)
2.数据传输形式
- 串行:通过一根信号线传输数据,按照先后次序逐个bit发送数据
- 并行:同时多根信号线同时传输数据
3.串行并行的区别
- 串行:传输速率慢,硬件成本低,实现简单,传输距离远,抗干扰性好(RS485)
- 并行:传输速率快,硬件成本高,实现复杂,传输距离近,抗干扰性差
4.串口通信时序
- 串口通信时,空闲时为高电平
- 当由高电平变为低电平,代表发送一个起始位,准备开始通信
- 发送数据
- 再发送一个bit的校验位(奇偶校验)
- 再发送一个bit的停止位,代表这一次串口通信结束
4.奇偶校验
-
问题:无法检测偶数个bit出错
-
奇校验:校验位为“1”,若数据位中的“1”的个数加上校验位“1”的个数保持奇数个,代表校验通过
-
偶校验:校验位为“0”,若数据位中的“1”的个数加上校验位“0”的个数保持奇数个,代表校验通过
5.串口通信参数
- 波特率:bps,bit per second,每秒传输bit的数量,常见波特率:2400,4800,9600,115200
- 数据位:8,串口传输通常8bit数据位传输
- 停止位:1,1bit停止位
- 校验位:
- None,N,无校验
- Even,E,偶校验
- Odd,O,奇校验
6.串口寄存器配置
-
SCON/PCON串口控制寄存器
PCON寄存器中的bit6置0代表通过SCON寄存器中的SM0和SM1两位指定串口工作方式
- 将SCON寄存器中的bit6和bit7清0
- 将SCON寄存器中的SM1(bit6)置1,SM0(bit7)清0,代表串口工作在8位UART模式
- 将SCON寄存器中的REN(bit4)置1,代表允许串口接收数据
- SCON寄存器中的T1(bit1)位,代表串口8位数据发送完毕硬件自动置1,但需软件清0
- SCON寄存器中的R1(bit0)位,代表串口8位数据发送完毕硬件自动置1,但需软件清0
- PCON寄存器SMOD(bit7)置1,代表波特率加倍
-
定时器相关配置
TMOD定时器模式选择寄存器
- 将TMOD寄存器中的高四位清0(定时器1)
- 将TMOD寄存器中的bit5置1,bit4清0,代表定时器1工作在8位自动重装载模式
- 将定时器初值写入TH1和TL1
- 将TCON寄存器中的bit6置1,代表允许定时器1开始计数
-
中断寄存器相关配置
IE中断控制寄存器
- 将IE寄存器中的EA(bit7)置1,代表CPU能相应所有中断
- 将IE寄存器中的ES(bit4)置1,代表串口允许中断
7.主从应答
- 主机:拥有对通信的绝对控制权,通信都是由主机发起
- 从机:无法直接发起通信,只能根据主机下发的指令完成对应操作
代表串口允许中断
7.主从应答
- 主机:拥有对通信的绝对控制权,通信都是由主机发起
- 从机:无法直接发起通信,只能根据主机下发的指令完成对应操作