;PROGRAM FOR 12BIT ADC TLV 2543 WITH AT89C52 BY S.D. DWIVEDI ;ANY CAN CHANGE CODE FOR 11 CHANNELS ;ASSEMBLER USED PINNACLE CS EQU P1.1 EOC EQU P1.2 DIN EQU P1.3 DOUT EQU P1.4 SCLK EQU P1.5 ORG 00H ;sending control byte FOR CH 0 MOV A,#00H ;FOR SELECT OF CHANEL 0 MOV R3,#4 CLR CS REPT:RLC A MOV DIN,C CLR SCLK ;SIFTED DOUT I BIT OF LAST CONVERSION ACALL DELAY SETB SCLK ;LATCHED I BIT INTO DIN ACALL DELAY DJNZ R3,REPT WAIT:JNB EOC,WAIT MOV R3,#4 RETP:RLC A MOV DIN,C CLR SCLK ;SIFTED DOUT I BIT OF LAST CONVERSION ACALL DELAY SETB SCLK ;LATCHED I BIT INTO DIN ACALL DELAY DJNZ R3,RETP MOV R3,#4 ETPR:RLC A MOV DIN,C CLR SCLK ;SIFTED DOUT I BIT OF LAST CONVERSION ACALL DELAY SETB SCLK ;LATCHED I BIT INTO DIN ACALL DELAY DJNZ R3,ETPR SETB CS ACALL DELAY SETB DOUT MOV R3,#8 CLR CS DATAOUT:SETB SCLK ACALL DELAY CLR SCLK ACALL DELAY MOV C,DOUT RLC A DJNZ R3,DATAOUT MOV R6,A MOV R3,#4 ;OUT OF 8 BIT LSB I DATA FROM ADC IN TO R6 DATOUT: SETB SCLK ACALL DELAY CLR SCLK ACALL DELAY MOV C,DOUT RLC A DJNZ R3,DATOUT MOV R7,A ;OUT OF 8 BIT MSB I DATA FROM ADC IN TO R7 ;;END OF READ ADC CH 0********************************************* DELAY:NOP NOP NOP RET END