00问答网
所有问题
单片机程序TL0=60536%256什么意思?
如题所述
举报该问题
推荐答案 2020-04-03
这是定时器T0写初始值,要计算出计时常数,X=60536,变成
16进制
数是X=EC78H,可写程序为
TH0=0xEC;//高8位
TL0=0x78; //低8位
可这样需要把60536转换成16进制数,为了省略转换过程,就让
编译器
去转换。所以写成
TH0=60536/256;//求高8位
TL0=60536%256;//求低8位
计算方法是做除法,60536/256,但是要除以后的
余数
,就是低8位,而不要商,商是高8位。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/eIZZenITZrjIZ0DrnZ.html
其他回答
第1个回答 2020-04-11
因为单片机th0,tl0是2个8位的寄存器,最大256。而tmod=0x01是定时器方式1,定时时间最多65536,要赋值直接运算的话还要算完在转换为16进制,在分成高8位和低8位。顾直接采用运算方式将计算方法65536-50000/256直接出来就是高8位的数据,而%256是除256后取余数,正好是低8位的数据,所以采用这个计算方法。
相似回答
8051
单片机
Timer0 时间设置问题
答:
第一个问题是
单片机
本身的设计就如此,第二个问题,因为51单片机Timer0是16位的,而单片机是8位的,故用了两个特殊功能寄存器来装数,高8位TH0和低8位
TL0
,所以在写65536-12000000/2400
=60536
这个时就要将60536/256=高8位,
60536%256
得低8位,放到一起就是0xEE11了。
求助,51
单片机
定时器初值设定问题
答:
2、T0计数初值X的高8位,将X除以
256
,或X右移8位得到。给TH0。3、T0计数初值X的低8位,将X取余256,或者X&0x00ff,或者左移8位右移8位得到。给
TL0
。4、采用常量表达式交给编译器完成计算过程,
程序
可读性更好。方便阅读,改写,效果与实际定时值写法完全一致。 追问 嗯,那就是X=1000,1000除以256给TH0,1000...
51
单片机
计数器工作方式1的时候, 预置数为60535 怎么存放到THO中去的...
答:
你要装几个数呢?要装
6053
5个数的话,就直接这样TH0=(65535-5000)/
256
,因为TH0存放的是装入总数对256的模,
TL0
装的是余数,请采纳
8051
单片机
Timer0 时间设置问题
答:
第一个问题是
单片机
本身的设计就如此,第二个问题,因为51单片机Timer0是16位的,而单片机是8位的,故用了两个特殊功能寄存器来装数,高8位TH0和低8位
TL0
,所以在写65536-12000000/2400
=60536
这个时就要将60536/256=高8位,
60536%256
得低8位,放到一起就是0xEE11了。
大家正在搜
单片机程序0x02什么意思
单片机程序裸跑是什么意思
单片机程序中MOV代表什么意思
单片机编程是什么意思
单片机0xbf是什么意思
单片机0xef是什么意思
单片机中ILE什么意思
单片机程序意思
单片机dula是什么意思
相关问题
单片机中TH0=(65536-100)/256 TL0=(6...
单片机中TH0和TL0是什么意思?
单片机用C编程时定时器部分的 TH0=(65536-5000...
51单片机定时器时间赋值TH0=65535-((65535-...
单片机程序不懂。TMOD=0x01;TH0=(65536-5...
TH0=(65536-10000)/256; TL0=(65...
单片机 51里 看到很多程序都有这样的语句 例如 TH0=-...
单片机程序里TL0=0XB0;TH0=0X3C是什么意思