首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

52定时器有关问题

2012-04-05 
52定时器问题用22.1184M晶振 定时器1的初始值 TH0 0xFETL0 0x0E要改成11.0592M的晶振 初值应该是多少

52定时器问题
用22.1184M晶振 定时器1的初始值 TH0 = 0xFE;TL0 = 0x0E;

要改成11.0592M的晶振 初值应该是多少?

怎么计算呢 请大家帮忙 谢谢

C/C++ code
    SCON &=0X1F;    SCON |= 0XD0;    TMOD |= 0x21;    IP   = 0x00;////    PCON = 0x00;//  38400PS//    AUXR = 0x09;//    AUXR1 = 0x00;           TH0 = 0xFE;    TL0  = 0x0E;    TL1  = 0xFF;    TH1 = 0xFF;    TH2 = 0xFF;    TL2 =  0xEE;    RCAP2H = 0xFF;    RCAP2L = 0xEE;    T2CON= 0x34;    TCON |= 0x15;    IE  |=  0x92;


[解决办法]
看看 manual
[解决办法]
晶体慢了一半

如果没有分频的话

那定时值应该为原来的一半


[解决办法]
看看单片机原理,

应该不是一半的关系

记得有个1减去啥的
[解决办法]
为了保证定时时间的一致,晶振降低1倍速度后,计数值也需减少1倍。
 计算方法和结果是:
 0x10000-(0x10000-0xfe0e)/2=0xff07
[解决办法]
探讨

为了保证定时时间的一致,晶振降低1倍速度后,计数值也需减少1倍。
计算方法和结果是:
0x10000-(0x10000-0xfe0e)/2=0xff07

[解决办法]
探讨

引用:

为了保证定时时间的一致,晶振降低1倍速度后,计数值也需减少1倍。
计算方法和结果是:
0x10000-(0x10000-0xfe0e)/2=0xff07

同意楼上。

定时器默认增一计数,溢出中断。

[解决办法]
电容仅仅是滤波作用,晶振减慢,电容可以增大,不增不会有问题;
不行的原因也不会在0x10000-(0x10000-0xfe0e)/2=0xff07这个公式上;

不行表现在什么地方?
[解决办法]
用移位的方法,向右移一位

热点排行