Tải bản đầy đủ (.doc) (5 trang)

TN3 LAB4

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.77 KB, 5 trang )

LCD_E BIT P3.4
LCD_RS BIT P3.5
LCDADDR EQU 6000H
ORG 0000H
MAIN: MOV @R0,30H
MOV DPTR,#LCDADDR
ACALL CLEAR
ACALL INIT_LCD
MOV R0,#1
MOV R1,#0
ACALL GOTOXY
MOV R2,#0
RETURN:

MOV A,R2
ACALL DISPLAYSTRING2
INC R2
CJNE R2,#8,RETURN
MOV R0,#1
MOV R1,#12
ACALL GOTOXY
MOV A,#19
ACALL DISPLAYSTRING2

MAIN1:

MOV R0,#1
MOV R1,#8
ACALL GOTOXY
ACALL READADC
ACALL CALADC


MOV A,R0
ADD A,#9
ACALL DISPLAYSTRING2
MOV A,#8


ACALL DISPLAYSTRING2
MOV A,R1
MOV B,#10
DIV AB
ADD A,#9
ACALL DISPLAYSTRING2
MOV A,B
ADD A,#9
ACALL DISPLAYSTRING2
SJMP MAIN1
INIT_LCD:
MOV A,#38H
ACALL WRITECOM
MOV A,#0CH
ACALL WRITECOM
MOV A,#06H
ACALL WRITECOM
MOV A,#0C0H
ACALL WRITECOM
RET
CLEAR:
MOV A,#01H
ACALL WRITECOM
RET

WRITECOM:
MOV DPTR,#LCDADDR
SETB LCD_E
CLR LCD_RS
MOVX @DPTR,A


CLR LCD_E
ACALL WAIT_LCD
RET
WRITETEXT:
MOV DPTR,#LCDADDR
SETB LCD_E
SETB LCD_RS
MOVX @DPTR,A
CLR LCD_E
ACALL WAIT_LCD
RET
WAIT_LCD:
MOV R7,#10
L1:

MOV R6,#250
DJNZ R6,$
DJNZ R7,L1
RET

DISPLAYSTRING2:
MOV DPTR,#MESSAGE
MOVC A,@A+DPTR

ACALL WRITETEXT
RET
MESSAGE: DB "VOLTAGE .0123456789V"
READADC:
MOV DPTR,#4000H
MOV A,#00H
MOVX @DPTR,A
ACALL DELAY_ADC
MOVX A,@DPTR
MOV R0,A


RET
DELAY_ADC:
MOV R5,#100
DJNZ R5,$
RET
GOTOXY:
CJNE R0,#1,HANG2
MOV A,#80H
BACK: ADD A,R1
ACALL WRITECOM
RET
HANG2:

MOV A,#0C0H
SJMP BACK

CALADC:
MOV A,R0

MOV B,#51
DIV AB
MOV R0,A
MOV A,#5
MUL AB
MOV B,#51
DIV AB
MOV R1,A
MOV A,#5
MUL AB
MOV B,#51
DIV AB
MOV R2,A
MOV A,#5


MUL AB
MOV B,#51
DIV AB
CJNE A,#5,KHAC
KHAC: JC NEXT
INC R2
NEXT: MOV A,R1
MOV B,#10
MUL AB
ADD A,R2
MOV B,#2
MUL AB
MOV R1,A
RET

END



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×