单片机用C编程时定时器部分的 TH0=(65536-50000)⼀256;TL0=(65536-50000)%256;是什么意思??

2024-12-04 10:18:24
推荐回答(3个)
回答1:

因为定时器是十六位,低八位计满256,高八位加一,定时器高位的值就应该除以256后的整数部分,定时器的低位是除以256后的余数部分,%是求余运算符,晶振12M,12分频后,主频1M,50000个为50毫秒

回答2:

你用的晶振应该是11.0592,但这样也不对。。。反正就像:TH0=(65536-50000)/256,其中50000就是定时器的时间,它计数50000次就会溢出

回答3:

参考C语言运算符号"/"是除法后取整数,"%"是除后取余数.
那么,余数给TL0,商即整数给TH0.