📄 12864.asm
字号:
/*************************************************
无字库的 12864 数据端P0 口
控制端 : RW P2.5 DI P2.6 E P2.7 RST P3.7
**************************************************/
RW BIT P2.5
DI BIT P2.6
E BIT P2.7
CS1 BIT P3.2
CS2 BIT P3.3
RST BIT P3.7
LCD_DATA EQU P0
;***************************************
VAR EQU 30H
VAR1 EQU 31H
VAR2 EQU 32H
VAR3 EQU 33H
VAR4 EQU 34H
X_CO EQU 35H
AY_CO EQU 36H
REG0 EQU 37H
REG1 EQU 38H
REG2 EQU 39H
REG3 EQU 3AH
REG4 EQU 3BH
REG5 EQU 3CH
REG6 EQU 3DH
REG7 EQU 3EH
REG_T EQU 3FH
ORG 00H
JMP HELLO
ORG 30H
HELLO: MOV SP,#70H
MOV P1,#0FFH
MOV P3,#00100100B
CALL DELAY
;****************************************
START: MOV P0,#00H
CALL RESET ;MODULE INIT.
MOV VAR,#3FH ;DISPLAY ON.
CALL WC
MOV P0,#0FFH
CALL PAGE1
CALL DELAYA
MOV P0,#00H
CALL DELAYA
MOV P0,#0FFH
CALL PAGE2
CALL DELAYA
MOV P0,#00H
CALL DELAYA
MOV P0,#0FFH
CALL PAGE3
CALL DELAYA
MOV P0,#00H
CALL DELAYA
JMP START
;****************************************
Y_AXIS: MOV VAR,#0C0H ;SPECIFIES A RAM LINE DISPLAY
CALL WC ;AT THE TOP OF SCREEN.
MOV VAR,#0B8H ;SETS X ADDRESS.
CALL WC
MOV VAR,#40H ;SETS THE Y ADDRESS.
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0B9H
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BAH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BBH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BCH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BDH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BEH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
;****************************************
MOV VAR,#0BFH
CALL WC
MOV VAR,#40H
CALL WC
CALL ICON_S
RET
ICON_S: MOV R0,#32
ICON_S1: MOV A,VAR1
MOV VAR,A
CALL WD1
MOV A,VAR2
MOV VAR,A
CALL WD1
DJNZ R0,ICON_S1
MOV VAR,#40H ;SETS THE Y ADDRESS=0
CALL WC
MOV R0,#32
ICON_S12: MOV A,VAR3
MOV VAR,A
CALL WD2
MOV A,VAR4
MOV VAR,A
CALL WD2
DJNZ R0,ICON_S12
RET
;****************************************
PAGE1: MOV AY_CO,#0C0H
MOV REG0,#01H
MOV REG1,#00H
MOV REG2,#00H
MOV REG3,#00H
MOV REG4,#00H
MOV REG5,#00H
MOV REG6,#00H
MOV REG7,#00H
MOV R6,#64
PAGE_UP: MOV DPTR,#PAGER_1
MOV REG_T,#REG0
INC AY_CO
CALL PAGES
CALL DELAYB
SETB C
XCH A,REG0
RLC A
XCH A,REG0
XCH A,REG1
RLC A
XCH A,REG1
XCH A,REG2
RLC A
XCH A,REG2
XCH A,REG3
RLC A
XCH A,REG3
XCH A,REG4
RLC A
XCH A,REG4
XCH A,REG5
RLC A
XCH A,REG5
XCH A,REG6
RLC A
XCH A,REG6
XCH A,REG7
RLC A
XCH A,REG7
DJNZ R6,PAGE_UP
MOV AY_CO,#0C0H
MOV REG_T,#REG0
MOV DPTR,#PAGER_1
CALL PAGES
CALL DELAYA
RET
;****************************************
PAGE2: MOV AY_CO,#0C0H
MOV REG0,#01H
MOV REG1,#00H
MOV REG2,#00H
MOV REG3,#00H
MOV REG4,#00H
MOV REG5,#00H
MOV REG6,#00H
MOV REG7,#00H
MOV R6,#60
PAGE_2_UP: MOV DPTR,#PAGER_2
MOV REG_T,#REG0
INC AY_CO
CALL PAGES
CALL DELAYB
SETB C
XCH A,REG0
RLC A
XCH A,REG0
XCH A,REG1
RLC A
XCH A,REG1
XCH A,REG2
RLC A
XCH A,REG2
XCH A,REG3
RLC A
XCH A,REG3
XCH A,REG4
RLC A
XCH A,REG4
XCH A,REG5
RLC A
XCH A,REG5
XCH A,REG6
RLC A
XCH A,REG6
XCH A,REG7
RLC A
XCH A,REG7
DJNZ R6,PAGE_2_UP
CALL DELAYA
RET
;****************************************
PAGE3: MOV AY_CO,#0C0H
MOV REG0,#01H
MOV REG1,#00H
MOV REG2,#00H
MOV REG3,#00H
MOV REG4,#00H
MOV REG5,#00H
MOV REG6,#00H
MOV REG7,#00H
MOV R6,#64
PAGE_3_UP: MOV DPTR,#PAGER_3
MOV REG_T,#REG0
INC AY_CO
CALL PAGES
CALL DELAYB
SETB C
XCH A,REG0
RLC A
XCH A,REG0
XCH A,REG1
RLC A
XCH A,REG1
XCH A,REG2
RLC A
XCH A,REG2
XCH A,REG3
RLC A
XCH A,REG3
XCH A,REG4
RLC A
XCH A,REG4
XCH A,REG5
RLC A
XCH A,REG5
XCH A,REG6
RLC A
XCH A,REG6
XCH A,REG7
RLC A
XCH A,REG7
DJNZ R6,PAGE_3_UP
CALL DELAYA
RET
PAGES: MOV A,AY_CO
MOV VAR,A ;SPECIFIES A RAM LINE DISPLAY
CALL WC ;AT THE TOP OF SCREEN.
MOV X_CO,#0B8H
MOV R7,#08H
PAGE_LOOP: MOV A,X_CO
MOV VAR,A ;SETS X ADDRESS.
CALL WC
INC X_CO
MOV VAR,#40H ;SETS THE Y ADDRESS.
CALL WC
CALL PAGER
DJNZ R7,PAGE_LOOP
RET
PAGER: MOV R0,#64
PAGE_ST: CLR A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -