MCS-51单片机PCON是电源控制寄存器,其第7位为SMOD为波特率增倍,默认SMOD=0,你题目没有写清楚串行口的工作方式,我给你介绍一下,有以下几种:
方式0:波特率固定不变,其值为f/12,这里就是12MHZ/12,即100000
方式2:波特率有两种固定值
因为SMOD给的为0,就不说SMOD为1的情况了,SMOD=0时,波特率=(2^SMOD/64)*f,这里就是12*10^6/64
方式1和方式3时,波特率可变的,关键是定时器T1的溢出率
波特率=(2^SMOD/32)*定时器T1的溢出率
我举个例子:
设串行口工作方式1下,SMOD=0,f=11.059MHZ,T1工作在方式2下,TL1.TH1,的初值为FDH(253D),求波特率
解:
T1因为工作方式2为自动重装初值的8位定时器,求
其溢出一出要的时间Tc=(256-253)*12/11.059*10^6
根据Tc求溢出率=1/Tc=307194.4
根据上面的公式求波特率=2^0*307194.4/32=9600(位/秒)
希望我的回答能对你有用
温馨提示:答案为网友推荐,仅供参考