📄 5329.asm
字号:
;drive lcd IC BY KS107 AND KS108
;**************************************************************************
; 5329 message & command list
;**************************************************************************
DISPL_ON EQU 00111111B
DISPL_OFF EQU 00111110B
SEG_ZERO EQU 01001000B
PAGE_ZER EQU 10111000B
Z_ZERO EQU 11000000B
;RES EQU P2.0
;CS1 EQU P2.2
;CS2 EQU P2.1
;RS EQU P2.3
;RW EQU P2.4
;E EQU P2.5
;PORTB EQU P1
STATUA_R EQU 10010000B
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
CS1 EQU P2.3
CS2 EQU P2.4
RES EQU P2.5
PORTB EQU P1
;*****************************************************************
ORG 0000H
LJMP BEGIN
;*****************************************************************
BEGIN:
MOV PSW,#00H
MOV SP,#60H
MOV R5,#15H
LCALL DELAY
CLR RES
LCALL DELAY100
SETB RES
LCALL DELAY100
MOV A,#01001000B
LCALL WCOM9
MOV A,#10111000B
LCALL WCOM9
MOV A,#11000000B
LCALL WCOM9
SETB CS1
SETB CS2
MOV A,#3FH
LCALL WCOM9
LCALL CLAER9
RESTART:
LCALL SCREEN
MOV R5,#20H
LCALL DELAY
JB P3.4,$
LCALL CLAER9
MOV R5,#01H
LCALL DELAY
LCALL IDW
MOV R5,#45H
LCALL DELAY
JB P3.4,$
LCALL CLAER9
MOV R5,#01H
LCALL DELAY
LCALL CHARACT
MOV R5,#30H
LCALL DELAY
JB P3.4,$
MOV R5,#01H
LCALL DELAY
LCALL CLAER9
LCALL DELAY100
LCALL FULLX9
MOV R5,#25H
LCALL DELAY
JB P3.4,$
MOV R5,#01H
LCALL DELAY
LCALL CLAER9
LCALL TANK_9
MOV R5,#30H
LCALL DELAY
JB P3.4,$
MOV R5,#01H
LCALL DELAY
LCALL CLAER9
LJMP RESTART
;*************************************************************************
idw: MOV DPTR,#IDW_MESS
MOV R3,#0BAH
LINEX: SETB PSW.5
CLR CS2
SETB CS1
MOV R2,#60H
CHIP2: MOV R0,#20H
LCALL WRITESET
WRITE: CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,WRITE
JNB PSW.5,NEXTL
CLR PSW.5
MOV R2,#40H
CLR CS1
SETB CS2
AJMP CHIP2
NEXTL: INC R3
CJNE R3,#0BDH,LINEX
CLR CS2
SETB CS1
MOV R2,#5AH
MOV R3,#0BEH
LCALL WRITESET
MOV DPTR,#IDW_MES
MOV R0,#38
WRITE2:CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,WRITE2
CLR CS1
SETB CS2
MOV R2,#40H
LCALL WRITESET
MOV R0,#39
WRITE3:CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,WRITE3
CLR CS2
SETB CS1
MOV R2,#5Ah
MOV R3,#0BFH
LCALL WRITESET
MOV R0,#38
WRITE4:CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,WRITE4
CLR CS1
SETB CS2
MOV R2,#40H
LCALL WRITESET
MOV R0,#39
WRITE5:CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,WRITE5
RET
;*****************************************************************
TANK_9:
LCALL DELAY100
MOV DPTR,#TANK9_MESS
MOV R2,#0B8H
TANKP8:
MOV R3,#40H
SETB CS1
SETB CS2
LCALL WRITESET
CLR CS2
LCALL DELAY100
SETB CS1
CLR CS2
MOV R0,#64
TANKU1: CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,TANKU1
CLR CS1
LCALL DELAY100
SETB CS2
MOV A,#40H
LCALL WRITESET
LCALL DELAY100
SETB CS2
MOV R0,#64
TANKU2: CLR A
MOVC A,@A+DPTR
LCALL WDATA9
LCALL DELAY100
INC DPTR
DJNZ R0,TANKU2
CLR CS2
INC R2
CJNE R2,#0C0H,TANKP8
RET
;******************************************************************
;************|*************
; GRAPHIC L|CD MODULE
; 128x64| DOTS
;************|*************
CHARACT:
CLR CS2
SETB CS1
WSTAR: MOV R2,#44H ; SET Y ADDRESS
MOV R3,#0B9H
LCALL WRITESET
MOV R1,#0AH
CHAR1: MOV R0,#06H
MOV DPTR,#CHAR_MESS1
LCALL HE
DJNZ R1,CHAR1
CLR CS1
SETB CS2
MOV R2,#40H
MOV R3,#0B9H
LCALL WRITESET
MOV R1,#0AH
CHAR3: MOV R0,#06H
MOV DPTR,#CHAR_MESS1
LCALL HE
DJNZ R1,CHAR3
NEXT: CLR CS2
SETB CS1
MOV R2,#49H
MOV R3,#0BBH
LCALL WRITESET
MOV R0,#40H
MOV DPTR,#CHAR_MESS2
LCALL HE
CLR CS1
SETB CS2
MOV R2,#40H
MOV R3,#0BBH
LCALL WRITESET
MOV R0,#40H
MOV DPTR,#CHAR_MESS3
LCALL HE
CLR CS2
SETB CS1
MOV R2,#5CH
MOV R3,#0BCH
LCALL WRITESET
MOV R0,#24H
MOV DPTR,#CHAR_MESS4
LCALL HE
CLR CS1
SETB CS2
MOV R2,#40H
MOV R3,#0BCH
LCALL WRITESET
MOV R0,#17H
MOV DPTR,#CHAR_MESS5
LCALL HE
CLR CS2
SETB CS1
MOV R2,#44H
MOV R3,#0BEH
LCALL WRITESET
MOV R1,#0AH
CHAR9: MOV R0,#06H
MOV DPTR,#CHAR_MESS1
LCALL HE
DJNZ R1,CHAR9
CLR CS1
SETB CS2
MOV R2,#40H
MOV R3,#0BEH
LCALL WRITESET
MOV R1,#0AH
CHAR11: MOV R0,#06H
MOV DPTR,#CHAR_MESS1
LCALL HE
DJNZ R1,CHAR11
ENDI: CLR CS1
CLR CS2
LCALL DELAY100
RET
HE: CLR A
MOVC A,@A+DPTR
LCALL WDATA9
INC DPTR
DJNZ R0,HE
RET
;***************************************************************************
WRITESET:
MOV A,R2
LCALL WCOM9
MOV A,R3
LCALL WCOM9
RET
CLAER9:
SETB CS1
SETB CS2
MOV R2,#0B8H
CLPG8: MOV R3,#40H
LCALL WRITESET
MOV R0,#64
CL64: MOV A,#00H
LCALL WDATA9
DJNZ R0,CL64
INC R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -