1.引言:
在串行通信中,收发双方发送或接收的数据速率要有一定的约定,我们通过软件对MCS-51串行口编程可以约定四种工作方式。其中,方式0和方式2的波特率时固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。
串行口的四种工作方式对应这三种波特率,由于输入的移位时钟的来源不同,所以各种方式的波特率的计算公式也不同。
2.各种方式的波特率介绍
- 工作方式0
方式0时,移位时钟脉冲由S6(即第6个状态周期,第12个节拍)给出,即每个机器周期产生一个移位时钟,发送或接收一位数据。所以,波特率为振荡频率的十二分之一,并不受 PCON寄存器中SMOD的影响,即:
方式0的波特率=fosc/12,fosc是系统晶振的震荡频率
- 工作方式2
工作方式2波特率的产生与工作方式0不同,控制接收与发送的移位时钟由振荡频率fosc的第二节拍P2(即fosc/2)给出,所以工作方式2的波特率取决于PCON中SMOD位的值。当SMOD=0时,波特率为fosc的六十四分之一,若SMOD=1,则波特率为fosc的三十二分之一,即:方式二的波特率=[(2^SMOD)/64]*fosc
- 工作方式1和工作方式3
方式1和方式3的移位时钟脉冲由定时器T1的溢出率决定,故波特宰由定时器T1的溢出率与SMOD值同时决定,即:方式1和方式3的波特率=[