单片机定时器0,TH0和TL0初值的计算 您所在的位置:网站首页 log31等于0如何计算的 单片机定时器0,TH0和TL0初值的计算

单片机定时器0,TH0和TL0初值的计算

2024-06-02 10:43| 来源: 网络整理| 查看: 265

以晶振12MHZ为例: 可以得到: TMOD=0x01; TL0=0xb0; TH0=0x3c;

至于怎么来的请看: 12M晶振每秒可产生1M个机器周期,1M个机器周期就是1000000个机器周期。一个机器周期为1us, 50ms就需要50000个机器周期,定时器在方式1工作,为16位,最大值为65536,所以需设初值为65536-50000=15536; 15536转化为16进制得3cb0;故高位TH0=0x3c;TL0=0xb0;

不同频率晶振产生的机器周期不一样: 公式为:机器周期=晶振频率/12。。。这是在该晶振频率下每秒产生多少M机器周期。

比如当晶振频率为11.0592M的晶振。则每秒可产生机器周期为11.0592/12=0.9216M的机器周期,也就是921600个机器周期。50ms等于0.05秒,所以需要921600*0.05=46080个机器周期;定时器在方式1工作,为16位,最大值为65536,所以需设初值为65536-46080=19456;转为16进制为(4c00),所以高位TH0=0x4c; TL0=0x00;



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有