前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【51单片机】如何【手搓】定时器寄存器配置【低8位TL0(low)】和【高8位TH0(high)】

【51单片机】如何【手搓】定时器寄存器配置【低8位TL0(low)】和【高8位TH0(high)】

作者头像
YY的秘密代码小屋
发布2024-02-18 08:48:10
2110
发布2024-02-18 08:48:10
举报
文章被收录于专栏:C++系列
  • 根据下图,我们知道我们要 对TL0,TH0赋初值
  • TF在第三步配置TCON时已经赋0
  • TL0(LOW)低八位
  • TH0(HIGH)高八位
在这里插入图片描述
在这里插入图片描述

2.手搓配置【低8位TL0(low)】和【高8位TH0(high)】

  • 我们知道TL0 和TH0是一个16位寄存器,他会不断+1, 间隔是1微秒
  • 总共定时时间 65535微秒 1111 1111 1111 1111
  • 我们要求计时为1ms,64535离计数器溢出(65535)差1000,也就是当我们设初值为65535+1时,每过1ms,计数器就会溢出
  • 同时我们知道一个规律: 一个n进制m位数,/
n^2

n^2

能够平分前面几位和后面几位

  • 1234->1234/100=12
  • 1234->1234%100=34
  • 综上所述:
  • 一个2进制16位数,/
16^2

得到前八位,%

16^2

得到后八位

  • 故最终代码为:
代码语言:javascript
复制
TH0 = 63536/256;		//高八位
TL0 = 63536%256;		//低八位
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.手搓配置【低8位TL0(low)】和【高8位TH0(high)】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档