; 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
MOV LW 4H ; [1] WAIT A MAXIMUM OF 4 Te
MOV WF TMP_CNT ; [1] SET TEMP LOOP COUNTER
RCV10A
MOV FW CNT0 ; [1] and CSR processing
MOV WF CNT2 ; [1] Refer to explanation above
RCV10B
BTFSC PORTA,RFIN ; [2] Wait for rising edge
GOTO RCV11 ; [0] Edge found--Process
CLRWDT ; [1] Clear watchdog Timer
BTFSC PORTA,RFIN ; [2] Wait for Next rising edge
GOTO RCV11 ; [0] Edge found--Process
DECFSZ CNT2,1 ; [1] Decrement Timeout counter
GOTO RCV10B ; [2] Loop Back
; TOTAL = 8, RFIN CHECKED EVERY 4uS ON AVERAGE
DECFSZ TMP_CNT,1 ; [1] ALL Te PERIODS
GOTO RCV10A ; [2] ... NO, THEN WAIT FOR NEXT ONE
GOTO RMT01 ; [0] ... YES, [0] TIMEOUT--no edge found
RCV11
MOV LW 3H ; [1] SEE NOTE BELOW
SUBWF CNT0,W ; [1]
MOV WF CNT2 ; [1]
;*************************************************************************
; 2 SETUP OF TEMP LOOP COUNTER ( ONLY ONCE )
; 2 SETUP TE LOOP COUNTER ( MAX 4 )
; 3 DECREMENT TEMP LOOP COUNTER ( MAX 4 )
; 4 IS THE AVERAGE PLAY BETWEEN EDGE AND EDJE BEING DETECTED IN RCV9
; 2 JUMP OUT OF RCV10B TO RCV11
; 3 FOR RCV11
; TOTAL 10 INSTRUCTIONS BETWEEN EDGE AND ENTERING DL1
; THEREFORE SUBTRACT 10/4 = 2.5 => 3 DL1 LOOPS TO COMPENSATE FOR
;*************************************************************************
DL1
CLRWDT ; [1] RESET WATCHDOG TIMER
DECFSZ CNT2,1 ; [1] [2, IF SKIP]
GOTO DL1 ; [2] CNT0 X 4 us
SAMPLE1
BTFSS PORTA,RFIN ; [2] INPUT HIGH? FIRST SAMPLE
GOTO RMT01 ; [0] NO--ERROR
MOV F CNT0,W ; [1] CALIBRATION COUNTER
MOV WF CNT2 ; [1] (NOMINALLY 75 FOR 300 us PULSE)
DECF CNT2,1 ; [1] SUBTRACT 2 FROM FINAL CALIB COUNTER TO COMPENATE FOR THIS
GOTO $+1 ; [2]
NOP ; [1]
; TOTAL = 8 => 1 LOOP COUNTER
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页
本文关键字:源程序 PIC单片机,单片机-工控设备 - PIC单片机