打印
[ZLG-ARM]

关于11.0592晶振的浅析

[复制链接]
2492|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tmake|  楼主 | 2009-7-11 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、印字为k11.0592的晶振为频率11.0592MHz,是用来做串口通信用的,容易设置波特率.

2、一个晶振:型号是“11.0592H5C”,这里的11.0592是MHZ,11.0592表示频点,H应该是公司代号,5表示05年,C表示第C批产品.

3、只所以要用11.0592M这个这么变态的数字 是因为在串口通信中 你需要计算出波特率。而波特率必须是个整数 为了使波特率是个整数 所以晶振就必须是11.0592的。。但是 使用11M的也可以.一般来说 11.0592是个很常用的晶振。 还有22.1184M也是。。

4、不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期 

机器周期=12/n(n指晶振频率),假设你要定时的时间为M 

那么定时的初值为: 
M/机器周期=初值; 
TH0=(65536-初值)%256; 
TL0=(65536-初值)/256; 
将(65536-初值)所得的值化成16进制,其高位就是TH0的值,低位为TL0的值 
例如用12M晶振做1ms定时计算如下: 
机器周期=12/12*10^6=1us(微秒) 
定时时间=(1*10^-3)/(1*10^-6)=1000; 
所以:TH0=(65536-1000)%256; 
TL0=(65536-1000)/256; 
将65536-1000=64536化为16进制为:0xFC18 
TH0=0xFC; 
TL0=0X18;
12M的晶振每秒可产生1M个机器周期,50ms就需要50000个机器周期,定时器在方式1工作,是16位计数器,最大值为65536,所以需设置初值15536,即3CB0H,所以TH0=0x3c,TL0=0xb0。 

11.0592M的晶振每秒可产生0.9216M个机器周期,50ms就需要46080个机器周期,定时器在方式1工作,是16位计数器,最大值为65536,所以需设置初值19456,即4C00H,所以TH0=0x4c,TL0=0x00

5.为了适应单片机的串口通讯波特率的计算而来的。用11.0592MHz晶振刚好能够得出一个整数的波特率,这样在上位机和下位机的同步方面比较方便哦!

6.要是用单片机用做定时器(不用时钟芯片,而用中断控制)的话,还是要用12M的晶振,这样一个时钟周期正好是1微米哦!

相关帖子

沙发
masashinakayama| | 2009-7-11 15:51 | 只看该作者

1微米?

这个**有点意思!

使用特权

评论回复
板凳
postcode| | 2009-7-13 13:24 | 只看该作者

的确是这样的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

179

帖子

0

粉丝