关于单片机定时器的求算,怎么算出来的
例如用12M晶振做1ms定时计算如下:机器周期=12/12*10^6=1us(微秒)定时初值=(1*10^-3)/(1*10^-6)=1000;所以:TH0=(65536...
例如用12M晶振做1ms定时计算如下:
机器周期=12/12*10^6=1us(微秒)
定时初值=(1*10^-3)/(1*10^-6)=1000;
所以:
TH0=(65536-1000)%256;
TL0=(65536-1000)/256;
将65536-1000=64536化为16进制为:0xFC18
TH0=0xFC;
TL0=0X18;
到底是TH0=(65536-1000) 256 前面 是用百分拍“%”还是用除号“/”
到底是TL0=(65536-1000) 256 前面 是用百分拍“%”还是用除号“/”
TH0=64536除以256=252.09375 取整数=252 十六进制=FC。
所以TH0=FC 这个我能理解了。
但那TL0=(65536-1000)/256;
TL0=64536除以256=252.09375 说是取余数。这个余数是多少。
TL0=多少 有人说是18(十六进制)我不知是乍么算来的,
有人高人告诉我吗。是怎么得来。我是小学毕业,能说得我懂吗。 展开
机器周期=12/12*10^6=1us(微秒)
定时初值=(1*10^-3)/(1*10^-6)=1000;
所以:
TH0=(65536-1000)%256;
TL0=(65536-1000)/256;
将65536-1000=64536化为16进制为:0xFC18
TH0=0xFC;
TL0=0X18;
到底是TH0=(65536-1000) 256 前面 是用百分拍“%”还是用除号“/”
到底是TL0=(65536-1000) 256 前面 是用百分拍“%”还是用除号“/”
TH0=64536除以256=252.09375 取整数=252 十六进制=FC。
所以TH0=FC 这个我能理解了。
但那TL0=(65536-1000)/256;
TL0=64536除以256=252.09375 说是取余数。这个余数是多少。
TL0=多少 有人说是18(十六进制)我不知是乍么算来的,
有人高人告诉我吗。是怎么得来。我是小学毕业,能说得我懂吗。 展开
2个回答
展开全部
更多追问追答
追问
非常感谢你。另外TH0=(65536-1000)%256; TH0不是高8位吗,怎么是用“%”的符号,“%”的符号不是%是取余数的吗,TL0=(65536-1000)/256; TH0不是低8位吗,怎么是用“/”的符号,“/”的符号不是%是取整数的吗,那样写法对不对,有影响吗,,再次谢谢你,
追答
TH0=(65536-1000)%256 %是取整数的
TL0=(65536-1000)/256 /是求余数的
举个例子,13除以3=4.33333 (也就是4余1) 所以13%3=4 13/3=1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询