一、串行通信中波特率是如何进行设置的?
51单片机工作在方式0和方式2的波特率是固定的,分别为、
64或
32。方式1和方式3的波特率是可变的,需由定时器产生,当T1作为波特率发生器时,
可推导出当SMOD=0时,定时器重载值的计算公式为:
如果PCON | = 0x80,计算公式可写成:
二、串行通信 4 种方式有何区别?
1、方式0:同步移位寄存器输入/输出方式,常用于扩展I/O口。波特率固定为振荡频率的1/12,并不受PCON寄存器中SMOD位的影响。
2、方式1:用于串行发送或接收,为10位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位停止位,共10位。波特率由定时器T1的溢出率与SMOD值同时决定。
3、方式2:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。收发一帧数据的格式为1位起始位、8位数据位(低位在前)、1位可编程的第9数据位和1位停止位,共11位。波特率取决于PCON中SMOD位的值:当SMOD=0时,波特率为 的1/64;当SMOD=1时,波特率为 的1/32。
4、方式3:用于串行发送或接收,为11位通用异步接口。TXD与RXD分别用于发送与接收数据。帧格式与方式2相同,波特率与方式1相同。