8051ADC0809LCD232– Circuit download
;THIS DEMO PROGRAM READS DATA FROM ADC TO MCU AND
; OUTPUT WILL BE SHOWN IN P1 AS BINARY VALUE
;P0.0 = A0 P0.1 = A1 P0.2 = A2
;P3.2 = EOC
;P3.3 = START
;P3.6 = ALE
;P3.7 = OE
;DATA = PORT 2
MOV P0,#00H
MOV P1,#0FFH
MOV P2,#00H
MOV P3,#04H
MAIN:
SETB P2.0
SETB P2.1
LCALL DELAY
CLR P2.0
CLR P2.1
LCALL DELAY1
LJMP MAIN
DELAY:
CLR P3.7 ;OE
CLR P0.0 ;A2
CLR P0.1 ;A1
CLR P0.2 ;A0
CLR P3.6 ;ALE
SETB P3.6 ;ALE
SETB P3.3 ;START
CLR P3.3;START
HERE: JB P3.2,HERE ;wait for end of conversion
SETB P3.7 ;0E
MOV r7,P1 ;read the data
uB2: mov r6, #3Fh
uB1: mov r5, #5Fh
djnz r5, $
djnz r6, uB1
djnz r7, uB2
ret
DELAY1:
CLR P3.7 ;OE
SETB P0.0 ;A0
CLR P0.1 ;A1
CLR P0.2 ;A2
CLR P3.6 ;ALE
SETB P3.6 ;ALE
SETB P3.3 ;START
CLR P3.3;START
HERE1: JB P3.2,HERE1 ;wait for end of conversion
SETB P3.7 ;0E
mov r7, P1
uB4: mov r6, #3Fh
uB3: mov r5, #5Fh
djnz r5, $
djnz r6, uB3
djnz r7, uB4
ret
END