TH0=(65536-500)/256 什么意思

 我来答
寻丝微孛彩
2019-06-07 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:30%
帮助的人:718万
展开全部
TH0
是单片机
计数器0
的高8位寄存器
TH
=
timer
hign
TL
=
timer
low
假设晶振频率是12mhz,一个机器周期=晶振频率/12=1
us
采用定时器0的方式1时,有16位寄存器(TH0和TL0),2^16
=
65536。
500是指定时时间为500
us。
65536-500
是计数器的初值,也就是定时器走500次
(1次为1us),到达65536会产生一个中断,定时器的计时时间为500
us。
(65536-500)/256
这个值赋给
TH0
高8位(2^8=256)
(65536-500)%256
这个值赋给
TL0
低8位

利用定时/计数器T1的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12
MHz。
解:1、计算计数初值X:
由于晶振为12
MHz,所以机器周期Tcy为1
s。
所以:
N=t/
Tcy
=10000/1=10000
X=65536-10000=55536=D8F0H
即应将D8H送入TH0中,F0H送入TL0中
我也是初学单片机,对
TH0=(65536-500)/256
这种方法理解不深,也可以直接如
X=65536-10000=55536=D8F0H
把10进制数化成
16进制数。
lz加油咯
虎海超植孟
2019-09-04 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:712万
展开全部
这是16位的定时器,最大计数2的16次方即65536。
式中的5000表示需要定时器定时一次需要计数的个数。
那么定时器的初始值就是(65536-50000)。
需要把这个初值分别赋给
th0(高字节)tl0(低字节)
高字节就是这个数除以256,即th0=(65536-50000)/256。
具体的结果编译器就给你计算了,这是一个省劲的写法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式