
;**************************************************************************
;  Read/Write 16-bit Register MAX3140
;      
;**************************************************************************

WRITE_MAX3140_16BIT_REGISTER:
			
			CLR     CS_3140 
			MOV     A,MAX3140_WRITE_REGISTER   ;Get HB
			  
			MOV     R2,#8
			SETB    DIN_3140   ;make sure DIN is input

HBYTE_3140:             RLC     A
			MOV     DIN_3140,C	           ;Write
			SETB    SCLK_3140
			MOV     C,DOUT_3140                ;Read	
			CLR     SCLK_3140
			MOV     ACC.0,C
			DJNZ    R2,HBYTE_3140
			MOV     MAX3140_READ_REGISTER,A 
			;
 			;Get LByte
			;
			MOV     A,MAX3140_WRITE_REGISTER+1 
			MOV     R2,#8
			SETB    DIN_3140                   
LBYTE_3140:             RLC     A
			MOV     DIN_3140,C	 
			SETB    SCLK_3140
			MOV     C,DOUT_3140  
			CLR     SCLK_3140
			MOV     ACC.0,C
			DJNZ    R2,LBYTE_3140
			MOV     MAX3140_READ_REGISTER+1,A 
			SETB    CS_3140
			RET

