单片机问题。 设fosc=11.0592MHz,串行口接方式1工作,T1工作在模式2,试分别求出S

单片机问题。 设fosc=11.0592MHz,串行口接方式1工作,T1工作在模式2,试分别求出SMOD=0和SMOD=1时串行传输波特率的取值范围。

串行口接方式1工作,T1工作在模式2时的波特率计算公式如下:

SMOD=0时,波特率=11059200/(32*12*(256-x))=28800/(256-X)

把X最小值0代入得最低波特率为112.5bps

把X最大值255代入得最高波特率为28800bps

所以SMOD=0时,波特率范围在112.5bps~28800bps


SMOD=1时,波特率=2*11059200/(32*12*(256-x))=57600/(256-X)

把X最小值0代入得最低波特率为225bps

把X最大值255代入得最高波特率为57600bps

所以SMOD=1时,波特率范围在225bps~57600bps

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
51单片机波特率计算:

方式0: Baud=Fosc/12;
方式1: Baud=2^(SMOD)/32 ×T1溢出率;
方式2: Baud=2^(SMOD)/64 ×Fosc;
方式3: Baud=2^(SMOD)/32 ×T1溢出率;
注:T1溢出率=1/T1中断时间;
题目串口工作方式1,选择 Baud=2^(SMOD)/(32×T1中断时间);①式
按标准51单片机 12T模式计算,T1工作模式2,8位自重装,也就是 8位定时器,定时范围为 (1~256)×12/Fosc;②式
①②式组合得:Baud=2^(SMOD)×Fosc/(32×12×(1~256));
当 SMOD=0时,Baud=Fosc/(384×(1~256))=28800/(1~256),范围:112.5~28800bps;
当 SMOD=1时,Baud=Fosc/(192×(1~256))=57600/(1~256),范围:225~57600bps;本回答被网友采纳
相似回答