GOTO RCV1 ; 5 us X CNT0
DECFSZ CNT1,1 ; [0] DO 1 ms LOOP CNT1 TIMES
GOTO RCV0 ; [0]
RCV2
&n
bsp;CLRF CNT0 ; CLEAR CALIB COUNTER LOW BYTE
CLRF CNT1 ; CLEAR CALIB COUNTER HIGH BYTE
;*************************************************************************
; 2.5 IS AVERAGE FOR DETECTING FALLING EDGE IN RCV1
; 2 INSTRUCTIONS FOR JUMP OUT RCV1 TO RCV2
; 2 INSTRUCTIONS FOR RCV2 - CLEAR CALIBRATION COUNTER
; TOTAL 6.5 INSTRUCTIONS < 1 CALIBRATION LOOP SO DISCARD
;*************************************************************************
RCV3
BTFSC PORTA,RFIN ; INPUT HIGH?
GOTO RCV6 ; [0][0] YES--END CALIBRATION
INCF CNT0,1 ; INCREMENT 16BIT COUNTER
SKPNZ ;
INCF CNT1,1 ; [0]
CLRWDT ; RESET WATCH DOG TIMER
NOP ;
BTFSS CNT1,3 ;
GOTO RCV3 ;
GOTO RMT_0 ; [0]
; TOTAL = 10
RCV6
CLRC ; DIVIDE CNT1:CNT0 BY 8 (600/8=75)
RRF CNT1,1 ;
RRF CNT0,1 ;
RRF CNT1,1 ;
RRF CNT0,1 ;
RRF CNT1,1 ;
RRF CNT0,1 ;
MOVLW MIN/80 ;
SUBWF CNT0,W ;
BTFSS STATUS,C ; NEGATIVE?
GOTO RMT_0 ; [0] YES--HEADER SHORTER THAN MIN.
; TOTAL = 11
; ************* VALID HEADER RECEIVED *********************
RCV7
MOVLW NBITS ; VALID START MARKER WAS RECEIVED
MOVWF CNT1 ;
M
OVF CNT0,W ;
MOVWF CNT2 ; CNT2 = CNT0
MOVLW 6H ; SEE NOTE BELOW
SUBWF CNT2,1 ;
GOTO DL1 ; COMPENSATE FOR FIRST BIT
; TOTAL = 8
;**********************************************************************************
; 2.5 IS AVERAGE PLAY BETWEEN RISING EDGE AND JUMP OUT OF CALIBRATION LOOP.
; 2 FOR JUMP OUT OF RCV3 TO RCV6
; 11 INSTRUCTIONS FOR RVC6 - CAIBRATION COUNTER DIVIDE
; 8 INSTRUCTIONS FOR RCV7 - COMPENSATE FOR POST CALIBRATION CALCUATIONS
; TOTAL 22.5 INSTRUCTIONS BETWEEN RISING EDGE AND ENTERING DL1
; THEREFORE SUBTRACT 22.5/4 = 5.625 TO COMPENSATE FOR POST CALCULATION ON 1ST BIT
;**********************************************************************************
RCV8
MOVLW 4H ; WAIT A MAXIMUM OF 4 Te
MOVWF TMP_CNT ; SET TEMP LOOP COUNTER
RCV10A
MOVFW CNT0 ; and CSR processing
MOVWF CNT2 ; Refer to explanation above
RCV10B
BTFSC PORTA,RFIN ; Wait for rising edge
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

