定时器/计数器初值设置方法

 我来答
有学问的免子
2016-01-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2165
采纳率:0%
帮助的人:1116万
展开全部
1机器周期=12(51系列为12时钟周期,有的改进型单片机是1时钟周期)×时钟周期=12(1)×(1/晶振频率M)=1us(1/12us,如采用12M晶体)。
以定时50ms为例
如果定时器在方式1工作,是16位计数器,最大值为65536(216),也就是能进行最大65536次计数。而50ms定时操作需要50000个机器周期,1个机器周期=1us,所以需要50000次计数操作。

为了计数器定时器工作,需要预先填充定时器初值(初值=定时器计数最大计数次数-所需定时计数次数)。所以需设置定时器初值15536=65536-50000,即3CB0H(10进制15536转换成16进制数3CB0),所以TH0=0x3c,TL0=0xb0,高位就是TH0的值,低位为TL0的值。
如果使用11.0592MHZ的晶振,其他条件不变,11.0592M的晶振每秒可产生0.9216M个机器周期,50ms就需要46080个机器周期。定时器在方式1工作,是16位计数器,最大值为65536,所以需设置初值19456=65536-46080,即4C00H,所以TH0=0x4c,TL0=0x00。

由上面的分析,我们可以得出推导16位定时器/计数器初值设定高8位TH0,低TL0的公式为:
TH0=(65536-所需计数次数)/256=初值/256;
TL0=(65536-所需技术次数)%256=初值%256;
追答
参考资料来源:吴鉴鹰吧
贡献文档:百度文库《吴鉴鹰单片机项目实战精讲》
单片机开发板参考:吴鉴鹰单片机开发板(有详细的视频教程,板子功能全面,适合学习使用)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式