TH0=(65536-500)/256 什么意思
2个回答
展开全部
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加油咯
是单片机
计数器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加油咯
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询