📄 1602
字号:
;****************************************************************
;* ★★★ 1602液晶模块测试程序 ★★★ *
;* 『电子驿站单片机实验板、开发板配套例程,程序转载请著明出处』 *
;* E-mail: support@ourmpu.com QQ留言:451338254 476485321 *
;* 编程:ourmpu http://www.ourmpu.com/ 更多例程请登陆网站 *
;****************************************************************
;* 在1602液晶模块第一行第1个字符位置显示字母“A”程序 *
;****************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LCD EQU P0
ORG 0000H
AJMP START
ORG 0033H
START: MOV SP,#60H
MAIN:
LCALL DELAY ;判断液晶忙状态?
ACALL ENABLE
MOV LCD,#00000001B ;写指令01H,清屏
ACALL ENABLE
MOV LCD,#00111000B ;写指令38H,设定LCD为16*2显示,5*7点阵,8位数据接口
ACALL ENABLE
MOV LCD,#00001111B ;写指令0FH,显示ON,光标ON,闪烁ON
ACALL ENABLE
MOV LCD,#00000110B ;写指令06H,文字不动,光标自动右移
ACALL ENABLE
MOV LCD,#80H ;第一行第1个字符地址
ACALL ENABLE
MOV LCD,#01000001B ;字母A的代码(#41H)
SETB RS ;RS=1
CLR RW ;RW=0
CLR E ;E=0
ACALL DELAY ;判断液晶忙状态?
SETB E ;E=1
AJMP $
;-----------------
ENABLE: CLR RS ;写入控制命令的子程序
CLR RW
CLR E
ACALL DELAY
SETB E
RET
;-----------------
DELAY: MOV LCD,#0FFH ;判断液晶显示器是否忙的子程序
CLR RS
SETB RW
CLR E
NOP
SETB E
; JB P0.7,DELAY ;如果为高电平表示忙就循环等待
LCALL YS10MS
LCALL YS10MS
RET
;********** 10ms延时程序 ***********
YS10MS: MOV R7,#128
DL1: MOV R6,#0FFH
DL0: DJNZ R6,DL0
DJNZ R7,DL1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -