52定时器问题

Wang471981125 2012-01-31 11:04:55
用22.1184M晶振 定时器1的初始值 TH0 = 0xFE;TL0 = 0x0E;

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

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


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;
...全文
142 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wang471981125 2012-02-13
  • 打赏
  • 举报
回复
未解决问题
tengchao998 2012-02-09
  • 打赏
  • 举报
回复
用移位的方法,向右移一位
bjtea 2012-02-04
  • 打赏
  • 举报
回复
电容仅仅是滤波作用,晶振减慢,电容可以增大,不增不会有问题;
不行的原因也不会在0x10000-(0x10000-0xfe0e)/2=0xff07这个公式上;

不行表现在什么地方?
Wang471981125 2012-02-04
  • 打赏
  • 举报
回复
郁闷着呢

用22.1184可以

想改成11.0592的就不行

改成11.0592的晶振是否需要改晶振旁边的电容 按理说不应该呢
net_friends 2012-02-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 binzo 的回复:]

引用 4 楼 bjtea 的回复:

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

同意楼上。

定时器默认增一计数,溢出中断。
[/Quote]+
bjtea 2012-01-31
  • 打赏
  • 举报
回复
为了保证定时时间的一致,晶振降低1倍速度后,计数值也需减少1倍。
计算方法和结果是:
0x10000-(0x10000-0xfe0e)/2=0xff07
chinaye1 2012-01-31
  • 打赏
  • 举报
回复
看看单片机原理,

应该不是一半的关系

记得有个1减去啥的
lbing7 2012-01-31
  • 打赏
  • 举报
回复
晶体慢了一半

如果没有分频的话

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

AnYidan 2012-01-31
  • 打赏
  • 举报
回复
看看 manual
Binzo 2012-01-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bjtea 的回复:]

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

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

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧