📄 lcd_12232.asm
字号:
;本程序适用于 DXDZ 51+AVR-A 开发板
;配置要求:
; 需要将开发板上的跳线组JP5、JP6、JP7切换到LCD一端,开关BLSW实现背光源的开通与闭合。
;郑重声明:
; 在使用12232F液晶时,需要将开发板上液晶插座的第3引脚改接VCC,出厂该引脚已被短接到GND上以适应1602液晶,
; 由此给您带来的不便表示歉意。
;程序说明:
; 程序运行后,12232液晶第一行显示“51+AVR”,第二行显示“二合一开发板”。
DELAY1 EQU 30H
DELAY2 EQU 31H
DELAY3 EQU 32H
DELAY4 EQU 33H
DELAY5 EQU 34H
W_COUNTER EQU 35H
;DB0-DB7 <----> P1
RS BIT P3.3
RW BIT P3.4
E BIT P3.5
ORG 0000H
AJMP START
ORG 0030H
START:
MOV SP,#60H
LCALL ST_DELAY
MOV A,#00110000B ;功能设定
LCALL WRITE_IR
MOV A,#00110000B
LCALL WRITE_IR
MOV A,#00000100B ;进入点设置
LCALL WRITE_IR
MOV A,#00001100B ;显示全开,不用游标
LCALL WRITE_IR
MOV A,#00000001B ;清除
LCALL WRITE_IR
LCALL DELAY_T
MOV A,#00000010B ;地址归位
LCALL WRITE_IR
LCALL DELAY_T
MOV A,#80H ;选中第1行第1列
LCALL WRITE_IR
MOV DPTR,#CHINESE1
LCALL WRITE_CHAR
MOV A,#90H ;选中第2行第1列
LCALL WRITE_IR
MOV DPTR,#CHINESE2
LCALL WRITE_CHAR
SJMP $
WRITE_IR:
LCALL DELAY
CLR RS
CLR RS
CLR RW
CLR RW
MOV P1,A
MOV P1,A
SETB E
SETB E
NOP
NOP
CLR E
CLR E
RET
WRITE_CHAR:
MOV W_COUNTER,#8
WC1:
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DR
INC DPTR
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DR
INC DPTR
DJNZ W_COUNTER,WC1
RET
WRITE_DR:
LCALL DELAY
SETB RS
SETB RS
CLR RW
CLR RW
MOV P1,A
MOV P1,A
SETB E
SETB E
NOP
NOP
CLR E
CLR E
RET
CHINESE1:
DB 020H,003H ;
DB 0A3H,0B5H ;5
DB 0A3H,0B1H ;1
DB 0A3H,0ABH ;+
DB 0A3H,0C1H ;A
DB 0A3H,0D6H ;V
DB 0A3H,0D2H ;R
DB 006H,020H ;
CHINESE2:
DB 020H,010H ;
DB 0B6H,0FEH ;二
DB 0BAH,0CFH ;合
DB 0D2H,0BBH ;一
DB 0BFH,0AAH ;开
DB 0B7H,0A2H ;发
DB 0B0H,0E5H ;板
DB 011H,020H ;
DELAY: ;100us
MOV DELAY3,#100
DJNZ DELAY3,$
RET
DELAY_T: ;5ms
MOV DELAY4,#50
DL1: MOV DELAY5,#100
DJNZ DELAY5,$
DJNZ DELAY4,DL1
RET
ST_DELAY: ;40ms
MOV DELAY1,#255
ST1: MOV DELAY2,#255
DJNZ DELAY2,$
DJNZ DELAY1,ST1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -