11.2 串行口工作模式0的C51程序设计

51系列单片机串行口的工作模式0是同步移位寄存器输入/输出方式,模式0的数据帧格式,如图11.7所示。从图中可以看出,模式0中的数据以8位为一帧,没有起始位和停止位,发送时低位在前,高位在后。在程序中可以设置控制寄存器SCON的SM0=0和SM1=0来将串行口设置为工作模式0。

11.2 串行口工作模式0的C51程序设计 - 图1

图 11.7 串行工作模式0的数据帧格式

11.2.1 模式0的波特率

8051单片机在串口模式0下,每个机器周期产生一个移位时钟,对应着一个比特数据的发送和接收。因此,此时波特率固定为8051单片机振荡频率的1/12,其波特率的计算公式如下。

串口模式0波特率=fosc/12

例如,对于24MHz的外部晶体振荡频率,模式0可以获得24MHz/12=2Mbit/s的波特率。

同时,在串口模式0下,波特率不受波特率倍增位SMOD的影响。因此,在C51程序设计时只要指定串口工作于模式0便完成了串口速率的设置,而无需再设置波特率。