TH0=0xFC和TL0=0x67怎么理解?在51单片机定时1ms怎么得前面的数值?
2个回答
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
频率是12M时,需计数的脉冲个数是1000,因此定时器初值是(65536-1000)。
其中高8位代表的是有多少个256,低8位是不足256部分。
1 mS 应该用
TH0=(65536-1000)/256; // 定时时间 1mS
TL0=(65536-1000)%256;
(65536-1000) 与 -1000 不是一个概念
(65536-1000) = 64536 十六进制 为 0xFC18
-1000 为负1000 编译后的 十六进制 会变成 0xFB18
扩展资料:
定时设置完成后,应按“设定”键检查多次定时设定情况是否与实际情况一致。如有异,请按时间需要进行调整或重新设定。
注:如果每天不需要设定20组,而其他组已设定,必须按“清除”键,将多余各组的时间程序清除。
如设置的时间程序是跨天的,需要逐一将“开”与“关”时间程序相对应的星期模式对应好。
参考资料来源:百度百科-定时器
展开全部
c51单片机需要用到下面的概念:
时钟频率=11.0592兆赫兹=11059200赫兹
时钟周期 = 频率的倒数=1 / 11059200
机器周期=12个时钟周期=12 / 11059200
开始计算:
下面的x指的是多少个机器周期才能到达1ms也就是0.001s
x * (12 / 11059200) = 0.001(秒)
x = (0.001 * 11059200) / 12
x = 921.6 (机器周期个数) 约等于 921(机器周期个数)
由于装填计时器数据时需要用到16位所以最大为0xFFFF=65536
由此可得最终填充的数据为 y = 65536 - 921 = 64615
换算成16进制 = 0xFC67
时钟频率=11.0592兆赫兹=11059200赫兹
时钟周期 = 频率的倒数=1 / 11059200
机器周期=12个时钟周期=12 / 11059200
开始计算:
下面的x指的是多少个机器周期才能到达1ms也就是0.001s
x * (12 / 11059200) = 0.001(秒)
x = (0.001 * 11059200) / 12
x = 921.6 (机器周期个数) 约等于 921(机器周期个数)
由于装填计时器数据时需要用到16位所以最大为0xFFFF=65536
由此可得最终填充的数据为 y = 65536 - 921 = 64615
换算成16进制 = 0xFC67
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询