51单片机的串行接口介绍
51单片机内部集成1~2个可编程通用异步串行通信接口(即UART),采用全双工制式。该通信接口有四种工作方式,并且
能设置各种波特率
串行口结构
1、串行口数据缓存器SBUF用于存放发送/接收的数据,它在物理上是同一个寄存器,逻辑上是两个
2、串行口寄存器SCON用于控制串行口的工作方式
3、波特率发生器由定时器T1构成
4、波特率于单片机的晶振频率、定时器T1初值、串行口的工作方式以及波特率选择位SMOD有关
设置工作方式(串行口控制寄存器SCON)
可位寻址
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|---|---|
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0 | SM1 | 工作方式 | 功能 | 波特率 |
---|---|---|---|---|
0 | 0 | 方式0 | 8位同步移位寄存器 | Fosc/12 |
0 | 1 | 方式1 | 10位UART | 可变 |
1 | 0 | 方式2 | 11位UART | Fosc/64 或 Fosc/32 |
1 | 1 | 方式3 | 11位UART | 可变 |
控制位 | 功能 | 说明 |
---|---|---|
SM2 | 多机通信控制位 | (空) |
REN | 允许串行接收位 | REN=1时,允许接收;REN=0时,禁止接收 |
TB8 | 发送数据第九位 | (空) |
RB8 | 接收数据第九位 | (空) |
TI | 发送中断标志位 | 发送完一帧数据的标志,由硬件置位,软件清零 |
RI | 接收中断标志位 | 接收完一帧数据的标志,由硬件置位,软件清零 |
进行单机通信了解上面的就够使用了,(空)的以后再补充
设置波特率
本人只用过工作方式1,所以这里只介绍工作方式1
波 特 率 = 2 S M O D ∗ ( T 1 溢 出 率