|
发表于 2012-11-29 12:47:39
|
显示全部楼层
TL0不要写零,给个补偿值,也就是这些汇编执行的时间除以顶事器的分频比.
RSEG ?PR?INT0_ISR?MAIN
USING 0
INT0_ISR:
PUSH PSW
MOV PSW,#00H
PUSH AR7
USING 0
; SOURCE LINE # 29
; {
; TR0=0; // Timer0 Off 当收到外部中断信号时停止计时
; SOURCE LINE # 31
CLR TR0
; a=TL0; //存放TL0的值
; SOURCE LINE # 32
MOV R7,TL0
MOV a?,#00H
MOV a?+01H,R7
; b=TH0; //存放TH0的值
; SOURCE LINE # 33
MOV R7,TH0
MOV b,#00H
MOV b+01H,R7
; TL0=0; //0定时器清0
; SOURCE LINE # 34
MOV TL0,#00H
; TH0=0;
; SOURCE LINE # 35
MOV TH0,#00H
; TR0=1;
; SOURCE LINE # 36
SETB TR0 |
|