51单片机定时器精确定时方法

如题所述

精确定时一般用汇编来写,如果你选用晶体 F=12MHZ,则定时器每加一就是 1uS,这样就可以设定定时器的初始值了,
如果你需要50mS的定时,定时器初始值为:65536-50000=15536 即 3CH,B0H TH0=3CH TL0=B0H (设定时器0用来定时,工作在16位 MOV TMOD,#11H)如果你需要更长时间定时则需要软件计时了,比如一秒,需要 (50ms *20=1000ms) 20次了,这需要在定时器0的中断程序中计算了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-10
任何精确方法都有一定误差的,单片机中只有软件延时的精度是最好的,误差为0个指令周期,而中断的误差为3~8个指令周期,如果只是为了求时间常数,建议找一个小软件,这样算的快,也不会出错
第2个回答  2009-11-09
精确定时,你认为达到何种精度,算是精确?
第3个回答  2009-11-09
推荐你下载一个软件 单片机精灵 可以精确定时