📄 lcd--led.asm.asm
字号:
;***LCD驱动***
RS EQU P1.3
RW EQU P1.4
E EQU P1.5
COM EQU 20H
DAT EQU 21H
;******************接口定义
START:
ORG 0000H
MOV SP,#60H
LJMP DISP
;*****************主程序入口
ORG 40H
DISP: MOV COM,#30H
ACALL WRI
MOV COM,#0cH
ACALL WRI
MOV COM,#01H
ACALL WRI
MOV COM,#06H
ACALL WRI
;******************模块初始化
ab1: MOV COM,#80H
ACALL WRI
MOV R2,#10H
MOV DPTR,#DATA1
DIS1: CLR A
MOVC A,@A+DPTR
MOV DAT,A
ACALL WRD
ACALL DELAY
INC DPTR
DJNZ R2,DIS1
MOV COM,#90H
ACALL WRI
ACALL DELAY
MOV R2,#10H
DIS2: CLR A
MOVC A,@A+DPTR
MOV DAT,A
ACALL WRD
ACALL DELAY
INC DPTR
DJNZ R2,DIS2
MOV COM,#88H
ACALL WRI
ACALL DELAY
MOV R2,#10H
DIS3: CLR A
MOVC A,@A+DPTR
MOV DAT,A
ACALL WRD
ACALL DELAY
INC DPTR
DJNZ R2,DIS3
MOV COM,#98H
ACALL WRI
ACALL DELAY
MOV R2,#10H
DIS4: CLR A
MOVC A,@A+DPTR
MOV DAT,A
ACALL WRD
ACALL DELAY
INC DPTR
DJNZ R2,DIS4
ljmp ab1
;******************显示内容程序
WRI: PUSH ACC
CLR RS
SETB RW
WRI1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRI1
CLR RW
SETB E
MOV P0,COM
CLR E
POP ACC
RET
;********************写指令子程序
WRD: PUSH ACC
CLR RS
SETB RW
WRD1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRD1
SETB RS
CLR RW
SETB E
MOV P0,DAT
CLR E
POP ACC
RET
;********************写数据子程序
DELAY: MOV R7,#0FFH
DELAY4: MOV R6,#00FH
LOOP2: DJNZ R6,LOOP2
DJNZ R7,DELAY4
RET
DELAY1: MOV R4,#0ffH
DELAY11:MOV R7,#0FFH
DELAY41:MOV R6,#0FfH
DJNZ R6,$
DJNZ R7,DELAY41
DJNZ R4,DELAY11
RET
;********************延时子程序
DATA1:
DB 20h,46H,59H,44H,31H,32H,38H,36H,34H
DB 2DH,30H,34H,30H,32H,42H,20h,53H,54H
DB 4EH,20h,0a1h,0a2h,0BBH,0C6H,0C2H,0CCH,0C4H
DB 0A4H,0A1H,0A2H,0B4H,0F8H,4CH,43H,44H,20h
DB 0B2H,0E0H,0B1H,0B3H,0B9H,0E2H,0BFH,0C9H
DB 0CFH,0D4H,0CAH,0BEH,31H,36H,2AH,31H
DB 36H,20h,0B5H,0E3H,0D5H,0F3H,0BAH,0BAH,0D7H
DB 0D6H,0a1h,0a3h,0B9H,0B2H,38H,2AH,34H,0D0H,0D0H,2CH
DB 0B4H,0AEH,0D0H,0D0H,0BFH,0DAH,0CDH,0A8H
DB 0D1H,0B6H,0B7H,0DH,0CAH,0BDH,0BFH,0C9H
DB 0D1H,0A1H
;FYD12864-0402B
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -