?? 新建 文本文檔.txt
字號:
1.并行接口
ORG 0000H
LJMP MAIN
ORG 0100H
COMMAND EQU 30H
DATA1 EQU 31H
DATA2 EQU 32H
DATA3 EQU 33H
RS EQU P3.1
RW EQU P3.4
E EQU P3.5
;********延時程序**************************
DELAY:
MOV R6,#00H
MOV R7,#00H
DELAY1:
NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
;********讀BF和AC值************************
PR0:
PUSH ACC
MOV P1,#0FFH
CLR RS
SETB RW
SETB E
MOV COMMAND,P1
CLR E
POP ACC
RET
;*********寫指令代碼************************
PR1:
PUSH ACC
CLR RS
SETB RW
PR11:MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PR11
CLR RW
MOV P1,COMMAND
SETB E
CLR E
POP ACC
RET
;*********寫顯示數據************************
PR2:
PUSH ACC
CLR RS
SETB RW
PR21:MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PR21
SETB RS
CLR RW
MOV P1,DATA1
SETB E
CLR E
POP ACC
RET
;*********讀顯示數據************************
PR3:
PUSH ACC
CLR RS
SETB RW
PR31:MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PR31
SETB RS
SETB RW
MOV P1,#0FFH
SETB E
MOV COMMAND,P1
CLR E
POP ACC
RET
;************寫CGROM*************************
CG:
LCALL PR1
MOV R0,#8
CG1:
MOV DATA1,DATA3
LCALL PR2
LCALL PR2
MOV DATA1,DATA2
LCALL PR2
LCALL PR2
DJNZ R0,CG1
RET
;***********寫DDRAM*************************
DD:
LCALL PR1
MOV R0,#8
MM: MOV DATA1,#00H
LCALL PR2
MOV DATA1,DATA2
LCALL PR2
DJNZ R0,MM
RET
;**********主程序****************************
MAIN:
MOV SP,#67H
MOV COMMAND,#30H
CLR RS
SETB RW
MOV P1,#0FFH
SETB E
MOV A,COMMAND
MOV A,P1
CLR E
LCALL DELAY
MOV COMMAND,#30H
CLR RS
SETB RW
MOV P1,#0FFH
SETB E
MOV A,COMMAND
MOV A,P1
CLR E
LCALL DELAY
MOV COMMAND,#30H ;功能設置 8位數據,基本指令
LCALL PR1
MOV COMMAND,#0CH ;顯示狀態 ON,游標OFF,反白OFF
LCALL PR1
MOV COMMAND,#01H ;清除顯示
LCALL PR1
MOV COMMAND,#02H ;地址歸位
LCALL PR1
MOV COMMAND,#80H ;設置DDRAM地址
LCALL PR1
LCALL DELAY
MOV R0,#10H ;顯示HCGROM
MOV DATA1,#02H
L: LCALL PR2
INC DATA1
DJNZ R0,L
MOV COMMAND,#90H
LCALL PR1
MOV DATA1,#41H
MOV R0,#10H
L1: LCALL PR2
INC DATA1
DJNZ R0,L1
MOV COMMAND,#88H
LCALL PR1
MOV DATA1,#51H
MOV R0,#10H
L2: LCALL PR2
INC DATA1
DJNZ R0,L2
MOV COMMAND,#98H
LCALL PR1
MOV DATA1,#61H
MOV R0,#10H
L3: LCALL PR2
INC DATA1
DJNZ R0,L3
LCALL DELAY
LCALL DELAY
LCALL DELAY
;*************寫CGRAM***************************
MOV COMMAND,#40H
MOV DATA3,#0FFH
MOV DATA2,#00H
LCALL CG
MOV COMMAND,#50H
MOV DATA3,#00H
MOV DATA2,#0FFH
LCALL CG
MOV COMMAND,#60H
MOV DATA3,#0AAH
MOV DATA2,#0AAH
LCALL CG
MOV COMMAND,#70H
MOV DATA3,#55H
MOV DATA2,#55H
LCALL CG
MOV COMMAND,#80H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#00H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#80H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#02H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#80H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#04H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#80H
MOV DATA2,#06H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#06H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#06H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#06H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#40H
MOV DATA3,#0AAH
MOV DATA2,#55H
LCALL CG
MOV COMMAND,#50H
MOV DATA3,#55H
MOV DATA2,#0AAH
LCALL CG
MOV COMMAND,#60H
MOV DATA3,#0FFH
MOV DATA2,#0FFH
LCALL CG
MOV COMMAND,#80H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#00H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#00H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#80H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#02H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#02H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#80H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#90H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#88H
MOV DATA2,#04H
LCALL DD
MOV COMMAND,#98H
MOV DATA2,#04H
LCALL DD
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV COMMAND,#01H
LCALL PR1
MOV COMMAND,#80H
LCALL PR1
MOV DPTR,#CHINESE1
MOV R0,#10H
CHINA1:
CLR A
MOVC A,@A+DPTR
MOV DATA1,A
LCALL PR2
INC DPTR
DJNZ R0,CHINA1
MOV COMMAND,#90H
LCALL PR1
MOV DPTR,#CHINESE2
MOV R0,#10H
CHINA2:
CLR A
MOVC A,@A+DPTR
MOV DATA1,A
LCALL PR2
INC DPTR
DJNZ R0,CHINA2
MOV COMMAND,#88H
LCALL PR1
MOV DPTR,#CHINESE3
MOV R0,#10H
CHINA3:
CLR A
MOVC A,@A+DPTR
MOV DATA1,A
LCALL PR2
INC DPTR
DJNZ R0,CHINA3
MOV COMMAND,#98H
LCALL PR1
MOV DPTR,#CHINESE4
MOV R0,#10H
CHINA4:
CLR A
MOVC A,@A+DPTR
MOV DATA1,A
LCALL PR2
INC DPTR
DJNZ R0,CHINA4
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP MAIN
CHINESE1:
DB 0B1H,0B1H,0BEH,0A9H,0D3H,0D1H,0C1H,0A6H,0B7H,0A2H,0BFH,0C6H,0C3H,0B3H,0D3H,0D0H
CHINESE2:
DB 0A6H,0E0H,0BEH,0ADH,0C0H,0EDH,0A3H,0BAH,0CEH,0E2H,0D1H,0B5H,0A6H,0E0H,0A6H,0E0H
CHINESE3:
DB 0B5H,0E7H,0BBH,0B0H,0A3H,0BAH,0A3H,0B1H,0A3H,0B3H,0A3H,0B8H,0A3H,0B0H,0A3H,0B1H
CHINESE4:
DB 0A3H,0B0H,0A3H,0B3H,0A3H,0B3H,0A3H,0B5H,0A3H,0B0H,0A3H,0B8H,0A6H,0E0H,0A6H,0E0H
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -