TH0=(65536-500)/256 什么意思
答案:4 悬赏:30 手机版
解决时间 2021-12-01 07:44
- 提问者网友:最美的风景
- 2021-11-30 18:29
TH0=(65536-500)/256 什么意思
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-11-30 19:34
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加油咯
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加油咯
全部回答
- 1楼网友:蕴藏春秋
- 2021-11-30 21:19
dwsadsdassd
- 2楼网友:污到你湿
- 2021-11-30 20:52
换成白话文就是:
65536 减掉 500 除以 256
得出的答案存放到 TH0 裏面
65536 减掉 500 除以 256
得出的答案存放到 TH0 裏面
- 3楼网友:醉吻情书
- 2021-11-30 20:26
你把TH0 TL0分别当成256进制数的高低两位就ok了 就可以像十进制数一样分离两位数 当然256进制数十我创造的哈 可以这么理解
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯