?? lcd00.asm
字號:
XPOS EQU 20H ;列方向地址指針(用于LCDPOS子程序)
YPOS EQU 21H ;行方向地址指針(用于LCDPOS子程序)
screen equ 22h
RSPIN EQU P3.6
RWPIN EQU P3.5 ;
EPIN EQU P3.2 ;
CS1PIN EQU P3.4 ;
CS2PIN EQU P3.3 ;
ORG 0000H
sJMP START
START: MOV SP,#60H
mov r3,#02h
mov dptr,#82
aCALL PUTSTR
MAIN:
aCALL LCDRESET
MOV A,#0
aCALL LCDFILL
MOV DPTR,#STRING1
aCALL PUTSTR
;aCALL PUTSTR
sJMP MAIN
waiting:aCALL LCDRESET
MOV A,#0
aCALL lcdfill
orl screen,#0ffh
mov dptr,#string2
acall putstr
cpl p2.3
sjmp waiting
DELAY400MS:
MOV R0,#20 ;延時子程序(400MS)
DL4_PA: MOV R1,#100
DL4_PB: MOV R2,#100
DJNZ R2,$
DJNZ R1,DL4_PB
DJNZ R0,DL4_PA
RET
DELAY:
MOV R6,#2
DLY_PA: MOV R5,#0
DLY_PB: MOV R4,#0
DJNZ R4,$
DJNZ R5,DLY_PB
DJNZ R6,DLY_PA
RET
GETSTRCHAR:
GSC_PA:
CLR A
MOVC A,@A+DPTR
INC DPTR
MOV B,A
INC A
CLR C
JZ GSC_LAX
CLR A
MOVC A,@A+DPTR
INC DPTR
SETB C
GSC_LAX:
RET
PUTSTR:
aCALL DELAY
aCALL DELAY
aCALL GETSTRCHAR
PUSH DPL
PUSH DPH
JNC PSR_LAX
JNB B.7,PSR_LBY
;CHINESE:
aCALL HZKPOS
aCALL PUTCHARDOT
aCALL PUTCHARDOT
sJMP PSR_LBX
PSR_LBY:
;ENGLISH:
;aCALL HZKPOS
;aCALL PUTCHARDOT
PSR_LBX:
POP DPH
POP DPL
djnz r3,putstr
ret
sJMP PUTSTR
PSR_LAX:POP DPH
POP DPL
RET
PUTCHARDOT:
MOV R7,#8
PAC_PA:
CLR A
MOVC A,@A+DPTR
aCALL LCDWRITE
INC YPOS
INC DPTR
CLR A
MOVC A,@A+DPTR
aCALL LCDWRITE
DEC YPOS
INC DPTR
aCALL CUSORNEXT
MOV A,XPOS
JNZ PAC_LAX
INC YPOS
PAC_LAX:
DJNZ R7,PAC_PA
RET
HZKPOS:
MOV R2,#5
HTP_PA:
CLR C
RLC A
XCH A,B
RLC A
XCH A,B
DJNZ R2,HTP_PA
MOV DPTR,#HZKDOT
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
RET
LCDFILL: ;LCD整屏顯示A的內容
MOV R7,A
MOV YPOS,#0
LFL_PB: MOV XPOS,#0
LFL_PA: MOV A,R7
aCALL LCDWRITE ;定位并寫數據
aCALL CUSORNEXT
MOV A,XPOS
JNZ LFL_PA
MOV A,YPOS
JNZ LFL_PB
RET
lcdfull_wait:
mov r7,a
mov ypos,#05
lpl_b: mov xpos,#30h
lfl_a: mov a,r7
acall lcdwrite
acall cusornext
mov a,xpos
jnz lfl_a
mov a,ypos
jnz lpl_b
ret
LCDWRITE: ;定位并寫數據子程序
aCALL LCDPOS ;內部寫數指針定位
aCALL LCDWD ;寫數據
RET
CUSORNEXT:
ANL YPOS,#07h
INC XPOS
MOV A,XPOS
JNB ACC.7,CNT_LAX
MOV XPOS,#0
INC YPOS
MOV A,YPOS
ANL A,#0F8H
JZ CNT_LAX
MOV YPOS,#0
CNT_LAX:
RET
LCDPOS: ;內部寫數指針定位子程序
PUSH ACC
MOV A,XPOS
JB ACC.6,LPS_LAY
MOV A,YPOS
;jb screen.0,here_xy
sjmp goon
here_xy:mov ypos,#05h
goon: ANL A,#07H
;ADD A,#0B8H
orl a,#0b8h
aCALL LCDWC1 ;設頁碼
;jb screen.0,here_yx
sjmp goon_0
here_yx:mov xpos,#30h
goon_0: MOV A,XPOS
ANL A,#3FH
ORL A,#40H
aCALL LCDWC1 ;設列碼
sJMP LPS_LAX
LPS_LAY:MOV A,YPOS
ANL A,#07H
;ADD A,#0B8H
orl a,#0b8h
aCALL LCDWC2 ;設頁碼
MOV A,XPOS
ANL A,#3FH
ORL A,#40H
aCALL LCDWC2 ;設列碼
LPS_LAX:POP ACC
RET
LCDWD: ;送數據子程序
MOV B,A
MOV A,XPOS
JB ACC.6,LWD_LAY
MOV A,B
aCALL LCDWD1
sJMP LWD_LAX
LWD_LAY:MOV A,B
aCALL LCDWD2
LWD_LAX:
RET
LCDRESET: ;LCD控制器復位
MOV A,#3FH ;打開LCD顯示
aCALL LCDWC1
aCALL LCDWC2
MOV A,#0C0H
aCALL LCDWC1
aCALL LCDWC2
RET
LCDWC1:
aCALL WAITIDLE1
clr rwpin
clr rspin
MOV P1,A
SETB CS1PIN
SETB EPIN
NOP
CLR EPIN
CLR CS1PIN
RET
LCDWC2: ;送片2控制字子程序
aCALL WAITIDLE2
clr rwpin
clr rspin
MOV P1,A
SETB CS2PIN
SETB EPIN
NOP
CLR EPIN
CLR CS2PIN
RET
LCDWD1: ;片1寫數據子程序
aCALL WAITIDLE1
setb rspin
clr rwpin
MOV P1,A
SETB CS1PIN
SETB EPIN
NOP
CLR EPIN
CLR CS1PIN
RET
LCDWD2: setb rspin
clr rwpin
aCALL WAITIDLE2
MOV P1,A
SETB CS2PIN
SETB EPIN
NOP
CLR EPIN
CLR CS2PIN
RET
LCDRD1:
aCALL WAITIDLE1
MOV P1,#0FFH
SETB RSPIN
SETB RWPIN
SETB CS1PIN
SETB EPIN
NOP
MOV A,P1
CLR EPIN
CLR CS1PIN
RET
LCDRD2:
aCALL WAITIDLE2
MOV P1,#0FFH
SETB RSPIN
SETB RWPIN
SETB CS2PIN
SETB EPIN
NOP
MOV A,P1
CLR EPIN
CLR CS2PIN
RET
WAITIDLE1:ret
MOV P1,#0FFH
CLR RSPIN
SETB RWPIN
SETB CS1PIN
SETB EPIN
WT1_PA: NOP
JB P1.7,WT1_PA
CLR EPIN
CLR CS1PIN
RET
WAITIDLE2:ret
CLR RSPIN
SETB RWPIN
SETB CS2PIN
SETB EPIN
WT2_PA: NOP
JB P1.7,WT2_PA
CLR EPIN
CLR CS2PIN
RET
HZKDOT:
DB 00H,02H,04H,01H,84H,00H,44H,00H
db 0E4H,0FFH,34H,09H,2CH,09H,27H,09H
DB 24H,29H,24H,49H,24H,0C9H,0E4H,7FH
db 04H,00H,04H,00H,04H,00H,00H,00H ;"有",0
DB 00H, 00H,0feH,0ffH, 02H, 08H, 22H, 10H ;限
DB 0daH, 08H, 06H, 07H, 00H, 00H,0feH,0ffH
DB 92H, 42H, 92H, 24H, 92H, 08H, 92H, 14H
DB 0ffH, 22H, 02H, 61H, 00H, 20H, 00H, 00H
DB 00H, 01H, 00H, 01H, 80H, 00H, 40H, 30H ;公
DB 30H, 28H, 0cH, 24H, 00H, 23H,0c0H, 20H
DB 06H, 20H, 18H, 28H, 20H, 30H, 40H, 60H
DB 80H, 00H, 80H, 01H, 80H, 00H, 00H, 00H
DB 10H, 00H, 10H, 00H, 92H, 3fH, 92H, 10H ;司
DB 92H, 10H, 92H, 10H, 92H, 10H, 92H, 10H
DB 0d2H, 3fH, 9aH, 00H, 12H, 40H, 02H, 80H
DB 0ffH, 7fH, 02H, 00H, 00H, 00H, 00H, 00H
DB 00H,00H,00H,01H,00H,01H,00H,01H
db 00H,01H,00H,01H,00H,01H,00H,01H ;"-",1
DB 00H,00H,00H,01H,00H,01H,00H,01H
db 00H,01H,00H,01H,00H,01H,00H,01H;"-",2
DB 00H,00H,00H,01H,00H,01H,00H,01H
db 00H,01H,00H,01H,00H,01H,00H,01H;"-",3
DB 04H,20H,0FCH,3FH,04H,20H,00H,20H
DB 00H,20H,00H,30H,00H,08H,00H,00H;"L",0
DB 0F0H,0FH,08H,10H,04H,20H,04H,20H
DB 04H,20H,08H,20H,1CH,10H,00H,00H;"C",1
DB 04H,20H,0FCH,3FH,04H,20H,04H,20H
DB 04H,20H,18H,18H,0E0H,07H,00H,00H;"D",2
DB 00H,02H,08H,01H,88H,00H,0C9H,7FH
db 2EH,01H,98H,02H,48H,44H,00H,20H;
DB 08H,10H,08H,0CH,0F8H,03H,08H,20h
db 08H,40H,0FCH,3FH,08H,00H,00H,00H;"初",4
DB 10H,40H,90H,21H,70H,12H,1FH,0CH
db 12H,06H,0F0H,09H,00H,30H,20H,00H
DB 70H,7FH,28H,21H,27H,21H,22H,21H
db 28H,21H,70H,7FH,20H,00H,00H,00H;"始",5
DB 80H,00H,40H,00H,20H,00H,0F8H,7FH
db 07H,00H,02H,04H,00H,02H,00H,01H
DB 0FFH,3FH,0C0H,40H,60H,40H,30H,40H
db 1CH,40H,08H,78H,00H,00H,00H,00H ;"化",6
DB 00H,80H,00H,80H,00H,80H,00H,80H
db 00H,80H,00H,80H,00H,80H,00H,80H ;"_",0
DB 00H,00H,80H,20H,98H,20H,98H,3FH
db 00H,20H,00H,20H,00H,00H,00H,00H ;"i",1
DB 80H,20H,80H,3FH,00H,21H,80H,00H
db 80H,00H,80H,20H,00H,3FH,00H,20H ;"n",2
DB 00H,00H,00H,6BH,80H,94H,80H,94H
db 80H,94H,80H,93H,80H,60H,00H,00H ;"g",3
DB 00H,00H,04H,20H,0FCH,3FH,04H,21H
db 04H,01H,04H,01H,88H,00H,70H,00H ;"P",0
DB 00H,00H,00H,00H,00H,00H,04H,20H
db 0FCH,3FH,00H,20H,00H,00H,00H,00H ;"l",1
DB 00H,00H,80H,1FH,40H,22H,40H,22H
db 40H,22H,40H,22H,80H,13H,00H,00H ;"e",2
DB 00H,00H,80H,1CH,40H,22H,40H,22H
db 40H,22H,40H,12H,80H,3FH,00H,20H ;"a",3
DB 00H,00H,80H,09H,40H,32H,40H,22H
db 40H,24H,0C0H,24H,00H,19H,00H,00H ;"s",4
DB 00H,00H,80H,1FH,40H,22H,40H,22H
db 40H,22H,40H,22H,80H,13H,00H,00H ;"e",5--02
DB 00H,00H,00H,00H,00H,00H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;" ",6
DB 80H,0FH,80H,30H,00H,0CH,80H,03H
db 00H,0CH,80H,30H,80H,0FH,80H,00H ;"w",0
DB 00H,00H,00H,19H,80H,24H,80H,22H
db 80H,22H,80H,22H,00H,3FH,00H,20H ;"a",1
DB 00H,00H,80H,20H,98H,20H,98H,3FH
db 00H,20H,00H,20H,00H,00H,00H,00H ;"i",2
DB 00H,00H,80H,00H,80H,00H,0E0H,1FH
db 80H,20H,80H,20H,00H,00H,00H,00H ;"t",3
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",4
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",5
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",6
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",7
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,10H,20H,10H,20H,0F8H,3FH
db 00H,20H,00H,20H,00H,00H,00H,00H;"1",0
DB 00H,00H,70H,30H,08H,28H,08H,24H
db 08H,22H,88H,21H,70H,30H,00H,00H;"2",1
DB 00H,00H,30H,18H,08H,20H,88H,20H
db 88H,20H,48H,11H,30H,0EH,00H,00H;"3",2
DB 00H,00H,00H,07H,0C0H,04H,20H,24H
db 10H,24H,0F8H,3FH,00H,24H,00H,00H;"4",3
DB 00H,00H,0F8H,19H,08H,21H,88H,20H
db 88H,20H,08H,11H,08H,0EH,00H,00H;"5",4
DB 00H,00H,0E0H,0FH,10H,11H,88H,20H
db 88H,20H,18H,11H,00H,0EH,00H,00H;"6",5
DB 00H,00H,38H,00H,08H,00H,08H,3FH
db 0C8H,00H,38H,00H,08H,00H,00H,00H;"7",6
DB 00H,00H,70H,1CH,88H,22H,08H,21H
db 08H,21H,88H,22H,70H,1CH,00H,00H;"8",7
DB 00H,00H,0E0H,00H,10H,31H,08H,22H
db 08H,22H,10H,11H,0E0H,0FH,00H,00H;"9",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
DB 00H,00H,00H,30H,00H,30H,00H,00H
db 00H,00H,00H,00H,00H,00H,00H,00H ;".",8
STRING1: DB 80H,00H,80H,01H,80H,02H,80H,03H
db 80H,04H,80H,05H,80H,06H,80H,07H
db 80H,08H,80H,09H,80H,0aH,80H,0bH
db 80H,0cH,80H,0dH,80H,0eH,80H,0fH
db 80H,10H,80H,11H,80H,12H,80H,13H
db 80H,14H,80H,15H,80H,16H,80H,17H
db 80H,18H,80H,19H 80H,1aH,80H,1bH
db 80H,1cH,80H,1dH 80H,1eH,80H,1fH
db 80H,20H,80H,21H 80H,22H,80H,23H
db 0ffH
string2: db 80h,16h,80h,17h
db 0ffh
;STRING2: DB 80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H,
;03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,80H, 00H, 80H, 01H, 80H, 02H, 80H, 03H,0ffH
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -