TH0=0xFC和TL0=0x67怎么理解?在51单片机定时1ms怎么得前面的数值?
展开全部
频率是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组,而其他组已设定,必须按“清除”键,将多余各组的时间程序清除。
如设置的时间程序是跨天的,需要逐一将“开”与“关”时间程序相对应的星期模式对应好。
参考资料来源:百度百科-定时器
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
频率是12M时,需计数的脉冲个数是1000
因此定时器初值是(65536-1000)
其中高8位代表的是有多少个256,低8位是不足256部分
因此
TH0=(65536-1000)/256=64536/256=252=0xFC
TL0=(65536-1000)%256=64536%256=24=0x18
如果晶振频率是11·0592M,可算出,计数脉冲个数是921个
TH0=(65536-921)/256=252=0xFC
TL0=(65536-921)%256=103=0x67
知道原理就行,实际运用时,一可以用软件计算,二是可以直接写计算公式
因此定时器初值是(65536-1000)
其中高8位代表的是有多少个256,低8位是不足256部分
因此
TH0=(65536-1000)/256=64536/256=252=0xFC
TL0=(65536-1000)%256=64536%256=24=0x18
如果晶振频率是11·0592M,可算出,计数脉冲个数是921个
TH0=(65536-921)/256=252=0xFC
TL0=(65536-921)%256=103=0x67
知道原理就行,实际运用时,一可以用软件计算,二是可以直接写计算公式
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-05-09
展开全部
公式算算麻烦的,用STC下载器自动算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询