
51单片机波特率公式
51单片机波特率公式中TH1=TL1=256-晶振值/12/2/16/波特率,16是因为它一个字节要采集16次检测,但是为什么还要去除以2呢。。。求解!!...
51单片机波特率公式中TH1 = TL1 = 256 - 晶振值/12 /2/16 /波特率,16是因为它一个字节要采集16次检测,但是为什么还要去除以2呢。。。求解!!
展开
1个回答
展开全部
51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。
模式2的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。
模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率,就是说定时器1每溢出一次,串口发送一次数据。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。
波特率 = (2smod/32) * 溢出速率 (T1的溢出速率)
模式2的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。
模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率,就是说定时器1每溢出一次,串口发送一次数据。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。
波特率 = (2smod/32) * 溢出速率 (T1的溢出速率)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |