码迷,mamicode.com
首页 > 其他好文 > 详细

1?1?.?0?5?9?2?M?晶?振?与12M晶振

时间:2014-06-12 14:21:16      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:class   使用   一个   test      read   

标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以先12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的单片机)。 11.0592M是因为在进行通信时,12M频率进行串行通信不容易实现标准的波特率,比如9600,4800,而11.0592M计算时正好可以得到,因此在有通信接口的单片机中,一般选11.0592M 
 计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式:    

 

11.0592M 9600=(2÷32)×((11.0592M/12)/(256-TH1)) TH1=250    

12M 9600=(2÷32)×((12M/12)/(256-TH1)) TH1≈249.49   


 上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。

 

1?1?.?0?5?9?2?M?晶?振?与12M晶振,布布扣,bubuko.com

1?1?.?0?5?9?2?M?晶?振?与12M晶振

标签:class   使用   一个   test      read   

原文地址:http://www.cnblogs.com/perfy/p/3782169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!