
RS EQU P3.6
E EQU P3.7
dat EQU P1
OE EQU P3.0
ADCSTART EQU P3.1
CLOCK EQU P3.3
ALE EQU P3.4
ORG 0000H
AJMP MAIN
;=============
ORG 0003H
SETB OE
MOV R2,P2
CLR OE
RETI
;=============
ORG 000BH
AJMP INIT0
;=============
ORG 001BH
CPL CLOCK
RETI
;==============
ORG 0050H
MAIN: SETB EA
;========
SETB ET1
MOV TMOD,#21H
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
;========
SETB EX0
SETB PX0
SETB IT0
;========
SETB ET0
SETB PT0
MOV TH0,#4DH
MOV TL0,#0B0H
SETB TR0
;=========
ACALL SET1602
WWW: MOV dat,#80h
ACALL W1602C
START: MOV DPTR,#0200H
MOV R4,#5
LOOP: CLR A
MOVC A,@A+DPTR
MOV dat,A
ACALL W1602D
INC DPTR
DJNZ R4,LOOP
mov A,R2 //read
;==============
MOV B,#51
DIV AB //Z
MOV R1,B
ADD a,#30h
mov dat,a
ACALL W1602D //
;==============
mov dat,#2eH
ACALL W1602D //"."
;==============
MOV A,R1
MOV B,#5
DIV AB
ADD A,#30H
MOV dat,a
ACALL W1602D
;================
MOV A,B
ADD A,#30H
mov dat,a
ACALL W1602D
SJMP WWW
SET1602: MOV dat,#38h
ACALL W1602C
MOV dat,#38h
ACALL W1602C
MOV dat,#38h
ACALL W1602C
MOV dat,#38h
ACALL W1602C
MOV dat,#06h
ACALL W1602C
MOV dat,#0Ch
ACALL W1602C
MOV dat,#01h
ACALL W1602C
RET
;====================
W1602C: CLR RS
CLR E
MOV R3,#03H
DJNZ R3,$
SETB E
MOV R3,#07
DJNZ R3,$
CLR E
NOP
NOP
RET
;====================
W1602D: SETB RS
CLR E
MOV R3,#02H
DJNZ R3,$
SETB E
MOV R3,#5
DJNZ R3,$
CLR E
NOP
NOP
RET
;=====================
INIT0: CLR TR0
CLR ALE
CLR ADCSTART
NOP
NOP
SETB ALE
SETB ADCSTART
NOP
NOP
CLR ALE
CLR ADCSTART
NOP
NOP
MOV TH0,#4DH
MOV TL0,#80H
SETB TR0
RETI
ORG 0200H
TAB1: DB "Volt:"
END
|