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

2024-02-18 08:48:10 浏览数 (2)

  • 根据下图,我们知道我们要 对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;		//低八位

0 人点赞