11.4 串行口工作模式2的C51程序设计
串行口的工作模式2为固定波特率的串行异步通信方式,在模式2中数据帧的格式如图11.11所示。一帧数据由11位构成,按照顺序分别为起始位1位、8位串行数据(低位在前)、可编程位1位、停止位1位。在程序中可以设置控制寄存器SCON的SM0=1和SM1=0来实现。
图 11.11 模式2的帧格式
11.4.1 模式2的波特率
串口的工作模式2是11位异步发送接收方式。模式2下的波特率的计算公式如下。
模式2波特率=fosc×2SMOD/64
从公式中可以看出,在模式2下,波特率由单片机的振荡频率fosc和PCON的波特率倍增位SMOD共同决定。当SMOD=0时,波特率为fosc/64,当SMOD=1时,波特率为fosc/32。串口模式2的波特率不由定时器来设置,只可选两种:fosc/32或者fosc/64。
例如,如果8051单片机外接12MHz的晶振,通过寄存器PCON可以选择波特率。在C51程序中,则可以采用如下的赋值语句来实现,示例如下。
PCON=0x00;//设置SMOD=0
PCON=0x80;//设置SMOD=1