本帖最后由 datouyuan 于 2010-9-27 20:03 编辑
35楼程序中的“7”是因为从“CLR TR0”到“SETB TR0”这段指令之间,T0正好停了7个机器周期。
假如在这段指令加1个NOP,那么就应该为8了。
2 、Intel 蓝本内容:
……
; ACC required by some Cygnal devices
; Update 8051 Interrupt Timer
CLR TR0
MOV A , TL0
ADD A , #LOW (?RTX_CLOCK + 7)
MOV TL0 , A
MOV A , TH0
ADDC A , #HIGH (?RTX_CLOCK + 7)
MOV TH0,A
SETB TR0
刚看了6楼的程序,补偿原理和intel的程序是一样的。 |