📄 1602
字号:
;****************************************************************
;* ★★★ 1602液晶模块测试程序 ★★★ *
;* 『电子驿站单片机实验板、开发板配套例程,程序转载请著明出处』 *
;* E-mail: support@ourmpu.com QQ留言:451338254 476485321 *
;* 编程:ourmpu http://www.ourmpu.com/ 更多例程请登陆网站 *
;****************************************************************
;* 1602液晶模块显示电子驿站域名和客服电话号码 *
;* 液晶模块第一行显示的是本站域名“www.ourmpu.com” *
;* 液晶模块第二行显示的是本站联系电话“13376781108” *
;****************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LCD EQU P0
org 00h
ajmp main
org 030h
main:
mov sp,#60h
main1:
lcall delay ;延时一段时间
MOV LCD,#38H ;
ACALL ENABLE ;写指令38H
MOV LCD,#38H ;
ACALL ENABLE ;写指令38H
MOV LCD,#38H ;
ACALL ENABLE ;写指令38H
MOV LCD,#38H ;
ACALL ENABLE ;写指令38H
MOV LCD,#08H ;
ACALL ENABLE ;写指令08H
MOV LCD,#01H ;
ACALL ENABLE ;写指令01H
MOV LCD,#06H ;
ACALL ENABLE ;写指令06H
MOV LCD,#0cH ;
ACALL ENABLE ;写指令0CH
MOV LCD,#80H ;第一行显示第一个字符的位置
ACALL ENABLE ;调用写指令
mov dptr,#table3 ;第一行表头位置
call write1 ;调用第一行写子程序
mov LCD,#0c0h ;第二行位置
call enable ;调用写指令
mov dptr,#table2 ;第二行表头位置
call write1 ;调用第二行写子程序
jmp main1 ;返回主程序不断的循环
ENABLE: ;写命令时序(参照1602LCD使用说明书)
CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
write1: ;写字符串
mov r1,#00h ;将R1清0
a1:mov a,r1 ;把R1的值送到ACC
movc a,@a+dptr ;查表取将显示的数据并把要显示的数送入ACC
call write2 ;调用写程序写入单个字节
inc r1 ;将工作寄存器指针加一
cjne r1,#10h,a1 ;R1的内容加到16后就返回到a1处
ret ;
write2: ;写单个字符
mov LCD,a ;写数据到显示端口
setb rs ;写数据时序(请参照1602LCD使用说明书)
clr rw
clr e
call delay
setb e
ret
delay:
mov r7,#255
d1:mov r6,#255
d2:djnz r6,d2
djnz r7,d1
ret
table3: db 20H,77H,77H,77H,2EH,6FH,75H,72H,6DH,70H,75H,2EH,63H,6FH,6DH,20H
table2: db 20H,54H,45H,4CH,3AH,31H,33H,33H,37H,36H,37H,38H,31H,31H,30H,38H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -