TH0=0xFC和TL0=0x67怎么理解?在51单片机定时1ms怎么得前面的数值?

 我来答
帐号已注销
2020-02-13 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

频率是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 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
11kxmx
推荐于2017-11-22 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:70%
帮助的人:2502万
展开全部
频率是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
知道原理就行,实际运用时,一可以用软件计算,二是可以直接写计算公式
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-05-09
展开全部
公式算算麻烦的,用STC下载器自动算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式