NEWTEMP CALL    DSRX8		;  
        ADDLW   1
        BTFSS   STATUS,Z
        GOTO    NEWTEMP		;    
GETTEMP CALL    DSRESET		;   
        BTFSS   STATUS,Z
        RETURN			; 
        MOVLW   0XCC
        CALL    DSTX8		;   
        MOVLW   0XBE
        CALL    DSTX8		;  
        CALL    DSRX8		; 
        MOVWF   DSMAG
        CALL    DSRX8		;  
        MOVWF   DSSIGN
        CALL    DSRESET		;   
        MOVLW   0XCC
        CALL    DSTX8		;   
        MOVLW   0X44
        CALL    DSTX8		;   
        MOVF    DSSIGN,W	;   ,
        BTFSC   STATUS,Z	;   255  0.
        GOTO    OKTMP
        ADDLW   1
        BTFSS   STATUS,Z
        RETURN
OKTMP   CLRW
        RETURN
;        
DQLOW   MACRO
        BCF     PORTA,DSBIT	;DSBIT -   ,   
        BSF     STATUS,RP0
        BCF     TRISA,DSBIT
        BCF     STATUS,RP0
        ENDM
DQHIZ   MACRO
        BSF     STATUS,RP0
        BSF     TRISA,DSBIT
        BCF     STATUS,RP0
        ENDM
; ,    
PAUSE
        MOVWF   TMP0
LOOP1   CLRWDT
        DECFSZ  TMP0,F
        GOTO    LOOP1
        RETURN
;       
DSRESET DQLOW
        MOVLW   .150
        CALL    PAUSE
NN      BCF     INTCON,GIE
        BTFSC   INTCON,GIE
        GOTO    NN
        DQHIZ
        MOVLW   .17
        CALL    PAUSE	;     67 
        MOVF    PORTA,W
        BSF     INTCON,GIE
        ANDLW   1<<DSBIT
        MOVWF   TMP1
        MOVLW   .75
        CALL    PAUSE
        MOVF    TMP1,W
        RETURN
;     
DSTX8   MOVWF   TMP2
        MOVLW   8
        MOVWF   TMP1	; 
DSTXLP  BCF     INTCON,GIE
        BTFSC   INTCON,GIE
        GOTO    DSTXLP
        DQLOW
        MOVLW   2
        CALL    PAUSE
        RRF     TMP2,F
        BTFSC   STATUS,C
        BSF     PORTA,DSBIT
        BSF     INTCON,GIE
        MOVLW   17
        CALL    PAUSE
        DQHIZ
        DECFSZ  TMP1,F
        GOTO    DSTXLP
        RETURN
;     
DSRX8   MOVLW   8
        MOVWF   TMP1
DSRXLP  BCF     INTCON,GIE
        BTFSC   INTCON,GIE
        GOTO    DSRXLP
        DQLOW
        MOVLW   2
        CALL    PAUSE
        DQHIZ
        MOVF    PORTA,W
        BSF     INTCON,GIE
        ANDLW   1<<DSBIT
        ADDLW   .255
        RRF     TMP2,F
        MOVLW   .17
        CALL    PAUSE
        DECFSZ  TMP1,F
        GOTO    DSRXLP
        MOVF    TMP2,W
        RETURN
