曾经的承诺 https://bbs.21ic.com/?674938 [收藏] [复制] [RSS]

日志

11.0592M晶振

已有 1901 次阅读2011-12-18 00:21 |个人分类:模拟技术|系统分类:模拟技术

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微米哦!

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)