单片机定时里 TH0=(65536-45872)/256; TL0=(65536-45872)%256; 这两句 为什么每算完一次就是50MS?
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
/256和%256 是用于计算TH,和TL的值。即高8位,和低8位。
要了解定时器计数一次是多久,例如:定时器对系统时钟计数,系统时钟周期1US,那么定时器1US计数一次。要计数1MS,那么就计数1000次,计算方法:
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
依次类推。
50MA定时初值应该是50000,但考虑到中断延迟,故把常数改为了45872。
前一个求商后赋值给TH0,后一个求余数赋值给TL0
相当于:
TH0=(65536-100)>>8,所以得到16位的高八位。
TL0=(65536-100)&0x00ff,所以得到16位的低八位。
TH0=(65536-100)/256 ;//这是定时100us时高8位的值。
TL0=(65536-100)%256;//这是定时100us时低8位的值。
扩展资料:
(1)单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。
(2)单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。
(3) 单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。
(4)单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。
参考资料来源:百度百科-单片原理