Download Print this page

IST TSic 206 Application Note page 9

Temperature sensor ic

Advertisement

STRB:
BIT_LOOP:
WAIT_FALL:
PAUSE_STRB:
WAIT_RISE:
NEXT_BIT:
WAIT_PF:
P_RISE:
WAIT_PR:
ATTSic_E2.1.4 | App Note | Temperature Sensor IC
INCF
TSTROBE,1
BTFSC
STATUS,Z
GOTO
RTI
BTFSS
PORTB,0
GOTO
STRB
CLRF
BIT_CNT
CLRF
STRB_CNT
CLRF
TIME_OUT
BTFSS
PORTB,0
GOTO
PAUSE_STRB
INCFSZ TIME_OUT,1
GOTO
WAIT_FALL
GOTO
RTI
INCF
STRB_CNT,1
MOVF
TSTROBE,0
SUBWF STRB_CNT,0
BTFSS
STATUS,Z
GOTO
PAUSE_STRB
;; LENGTH OF THIS LOOP IS 6-STATES. THIS HAS TO
;; MATCH THE LENGTH OF THE LOOP THAT ACQUIRED TSTROBE
BCF
STATUS,C
BTFSC
PORTB,0
BSF
STATUS,C
RLF
INDF,1
CLRF
TIME_OUT
BTFSC
PORTB,0
GOTO
NEXT_BIT
INCFSZ TIME_OUT,1
GOTO
WAIT_RISE
GOTO
RTI
INCF
BIT_CNT,1
MOVLW 0X08
SUBWF BIT_CNT,0
BTFSS
STATUS,Z
GOTO
BIT_LOOP
CLRF
TIME_OUT
BTFSS
PORTB,0
GOTO
P_RISE
INCFSZ TIME_OUT,1
GOTO
WAIT_PF
GOTO
RTI
CLRF
TIME_OUT
BTFSC
PORTB,0
GOTO
NEXT_BYTE
INCFSZ TIME_OUT,1
GOTO
WAIT_PR
GOTO
RTI
;; INCREMENT TSTROBE
;; IF TSTROBE OVERFLOWED TO ZERO THEN
;; SOMETHING WRONG AND RETURN FROM INTERRUPT
;; LOOK FOR RISE ON ZAC WIRE
;; IF RISE HAS NOT YET HAPPENED INCREMENT TSTROBE
;; MEMORY LOCATION USED AS BIT COUNTER
;; MEMORY LOCATION USED AS STROBE COUNTER
;; MEMORY LOCATION USED FOR EDGE TIME OUT
;; WAIT FOR FALL OF ZAC WIRE
;; NEXT FALLING EDGE OCCURRED
;; CHECK IF EDGE TIME OUT COUNTER OVERFLOWED
;; EDGE TIME OUT OCCURRED
;; INCREMENT THE STROBE COUNTER
;; MOVE TSTROBE TO W REG
;; COMPARE STRB_CNT TO TSTROBE
;; IF EQUAL THEN IT IS TIME TO STROBE
;; ZAC WIRE FOR DATA, OTHERWISE KEEP COUNTING
;; CLEAR THE CARRY
;; SAMPLE THE ZAC WIRE INPUT
;; IF ZAC WIRE WAS HIGH THEN SET THE CARRY
;; ROTATE CARRY=ZAC WIRE INTO LSB OF REGISTER
;; THAT FSR CURRENTLY POINTS TO
;; CLEAR THE EDGE TIMEOUT COUN
;; IF RISE HAS OCCURRED THEN WE ARE DONE
;; INCREMENT THE EDGE TIME OUT COUNTER
;; EDGE TIME OUT OCCURRED.
;; INCREMENT BIT COUNTER
;; THERE ARE 8-BITS OF DATA
;; TEST IF BIT COUNTER AT LIMIT
;; IF NOT ZERO THEN GET NEXT BIT
;; CLEAR THE EDGE TIME OUT COUNTER
;; WAIT FOR FALL OF PARITY
;; INCREMENT TIME_OUT COUNTER
;; EDGE TIMEOUT OCCURRED
;; CLEAR THE EDGE TIME OUT COUNTER
;; WAIT FOR RISE OF PARITY
;; INCREMENT EDGE TIME OUT COUNTER
;; EDGE TIME OUT OCCURRED
9/15

Advertisement

loading

Related Products for IST TSic 206