📄 1602.asm
字号:
RS EQU P2.0 ;确定具体硬件的连接方式
RW EQU P2.1 ;确定具体硬件的连接方式
E EQU P2.2 ;确定具体硬件的连接方式
;P0 D0-D7 TO 1602 D0-D7
ORG 0000H
LJMP MAIN;主程序开始
START: JNB P2.6,MAIN
AJMP START
MAIN: MOV P0,#00000001B ;清屏并光标复位
ACALL ENABLE ;调用写入命令子程序
MOV P0,#00111000B ;设置显示模式:8位2行5x7点阵
ACALL ENABLE ;调用写入命令子程序
MOV P0,#00001110B ;显示器开、光标开、光标允许闪烁
ACALL ENABLE ;调用写入命令子程序
MOV P0,#00000111B ;文字不动,光标自动右移
ACALL ENABLE ;调用写入命令子程序
MOV P0,#9aH ;
ACALL ENABLE ;调用写入命令子程序
MOV P0,#00001100B
ACALL ENABLE
XH: MOV DPTR,#TABLE
MOV R0,#0bH
MOV R1,#00H
LCD:MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
LCALL SENABLE ;调用显示子程序
INC R1
ACALL DELAYX
NOP
DJNZ R0,LCD
MOV P0,#0DaH ;写入显示起始地址(第二行位置)
ACALL ENABLE ;调用写入命令子程序
MOV P0,#00001100B
ACALL ENABLE
MOV R5,#0bH
MOV R6,#0fH
LCD1:MOV A,R5
MOVC A,@A+DPTR
MOV P0,A
LCALL SENABLE
ACALL DELAYX
INC R5
DJNZ R6,LCD1
AJMP XH ;循环显示
TABLE:DB "Name:Yu Yui" ;显示内容
DB "13954168824 "
ENABLE: CLR RS ;写入控制命令的子程序
CLR RW
CLR E
ACALL DELAY
SETB E
RET
SENABLE:SETB RS
CLR RW
CLR E ;执行命令
ACALL DELAY ;判断液晶是否忙
SETB E
RET
DELAY:
MOV P0,#0FFH ;判断液晶显示器是否忙的子程序
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;如果P0.7为高电平表示忙就循环等待
RET
DELAYX: MOV R2,#2
D1: MOV R3,#0CFH
D2: MOV R4,#0FFH
DJNZ R4,$
DJNZ R3,D2
DJNZ R2,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -