T0RA2 :
POP A
POP PSW
RETI
;==============================================================
INT_T0WAH:;终止响应位(读数据)读结束
JNB RSF,T0WAH1
JMP ERROR3
T0WAH1:
;SETB CTPIO
;SETB TSIO
MOV P3,#0FFH
SETBRDF ;设置有新接收数据标志
MOV A,RDATX ;处理数据
MOV STATE,A
JZT0WAH2
CPL A
MOV P0,A
CLR RDF ;数据已处理,清标志
MOV TCON,#01H ;下降沿中断
MOV IE,#81H ;开外部中断0
POP A
POP PSW
RETI
T0WAH2:
CLR RDF ;数据无须处理,清标志
MOV TCON,#01H ;下降沿中断
MOV IE,#81H ;开外部中断0
POP A
POP PSW
RETI
;==============================================================
ERROR1: ;无结束位
MOV TCON,#01H ;下降沿中断
MOV IE,#81H ;开外部中断0
MOV P0,#0FEH
;SETB CTPIO
;SETB TSIO
MOV P3,#0FFH
POP A
POP PSW
RETI
;==============================================================
ERROR2: ;无响应位
MOV TCON,#01H ;下降沿中断
MOV IE,#81H ;开外部中断0
MOV P0,#0FCH
;SETB CTPIO
;SETB TSIO
MOV P3,#0FFH
POP A
POP PSW
RETI
;==============================================================
ERROR3: ;RSCNT错
MOV TCON,#01H ;下降沿中断
MOV IE,#81H ;开外部中断0
MOV P0,#0F8H
;SETB CTPIO
;SETB TSIO
MOV P3,#0FFH
POP A
POP PSW
RETI
;================================================================
DLY2MS:
MOV DLYD0,#02H
DLY2MS1:
MOV DLYD1,#0FFH
DLY2MS2:
DJNZDLYD1,DLY2MS2
DJNZDLYD0,DLY2MS1
RET
;================================================================