STC15单片机串行口S1在不同工作方式下波特率的倍率处理
STC15单片机的串行口S1可以通过不同的工作方式来实现不同的波特率倍率处理。具体如下:
1. 模式0:12T模式,波特率倍率为1
在模式0下,串行口S1的时钟源为系统时钟,每个机器周期为12个时钟周期,因此波特率倍率为1,即实际波特率等于设定波特率。
2. 模式1:16T模式,波特率倍率为1、2
在模式1下,串行口S1的时钟源为系统时钟,每个机器周期为16个时钟周期。当SMOD=0时,波特率倍率为1,即实际波特率等于设定波特率;当SMOD=1时,波特率倍率为2,即实际波特率为设定波特率的一半。
3. 模式2:波特率可编程模式,波特率倍率为1、2、4、8、16、32、64、128
在模式2下,串行口S1的时钟源为定时器1的溢出中断,波特率可编程,可以设置波特率倍率为1、2、4、8、16、32、64、128。具体设置方法为:先设置定时器1的初值和重载值,然后设置波特率控制寄存器SCON的SMOD位为0或1,最后设置定时器1的控制寄存器TMOD的GATE位为0,TR1位为1,即可启动定时器1,实现波特率可编程。
4. 模式3:两个串行口模式,波特率倍率为1、2、4、8、16、32、64、128
在模式3下,串行口S1的时钟源为定时器1的溢出中断,波特率可编程,可以设置波特率倍率为1、2、4、8、16、32、64、128。同时,串行口S1还可以与串行口S0配合使用,实现两个串行口的数据传输。具体设置方法与模式2类似,只需将串行口S1的控制寄存器SCON的SM2位设置为1即可。
总之,STC15单片机的串行口S1可以通过不同的工作方式和波特率倍率设置来实现不同的波特率倍率处理,以满足不同的应用需求。
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。