波特率与定时器初值关系

波特率为每秒传输二进制代码的位数,1波特=1位/秒,单位是bps(位/秒)。单片机或计算机在串口通信时的速率用波特率表示。

波特率的计算:
单片机串行口可设定4种工作方式,计算公式如下:

方式0:fosc/12  //fosc为系统晶振频率
方式1:(2^SMOD/32)*(T1溢出率)//T1溢出率为其倒数
方式2:(2^SMOD/64)*fosc        //SMOD为PCON寄存器最高位
方式3:(2^SMOD/32)*(T1溢出率)

已知串口通信方式1下,波特率为9600bps,系统晶振频率为11.0592MHz,求TL1,TH1中装入的初值(定时器1方式2)
解:设初值X,则定时器每计256-X个数溢出一次,每计一个数的时间为一个机器周期,一个机器周期等于12个时钟周期,所以计一个数的时间为12/11.0592MHz(s),则定时器溢出一次的时间为[256-X]12/11.0592。方式1的波特率=(2^SMOD/32)(T1溢出率),取SMOD=0,则有9600=(1/32)*11059200/[256-X]*12,得到X=253

通常都是固定的,一般都是根据所使用的波特率来求定时器初值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值