lcd_progaram.txt
来自「此文件为单片机控制LCD1602的液晶显示程序」· 文本 代码 · 共 181 行
TXT
181 行
lcd_rs bit P3.4 ;LCD寄存器选择
lcd_rw bit P3.3 ;LCD读写控制
lcd_e bit P3.2 ;LCD选通
beep bit p3.7
lcdio equ P1
lcdbusy equ 33H ;LCD忙寄存
lcddata equ 34H ;LCD传递数据
ORG 0000H
jmp main ;复位入口,转主程序
ORG 030H
Main: mov sp,#50H ;设置堆栈指针
mov dptr,#char1
clr beep
lcall delay
lcall delay
lcall lcd_init ;调液晶初始化
lcall lcd_sendchar
loop:
nop
Ajmp loop
delay: mov r3,#50 ;延时程序
delay_loop:
mov r4,#50
djnz r4,$
djnz r3,delay_loop
ret
lcd_init: ;液晶初始化程序
lcd_init_1:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_init_1
mov lcddata,#38H
lcall lcd_writecomm
lcall delay
lcd_init_2:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_init_2
mov lcddata,#06H
lcall lcd_writecomm
lcall delay
lcd_init_3:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_init_3
mov lcddata,#0dH
lcall lcd_writecomm
lcall delay
lcd_init_4:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_init_4
mov lcddata,#01H
lcall lcd_writecomm
lcall delay
ret
lcd_writecomm: ;写命令
clr lcd_rs
nop
clr lcd_rw
nop
mov lcdio,lcddata
nop
setb lcd_e
nop
clr lcd_e
ret
lcd_writedata: ;写数据
setb lcd_rs
nop
clr lcd_rw
nop
mov lcdio,lcddata
nop
setb lcd_e
nop
clr lcd_e
ret
lcd_readdata: ;读数据
setb lcd_rs
nop
setb lcd_rw
nop
setb lcd_e
nop
mov lcdbusy,lcdio
clr lcd_e
ret
lcd_readbusy: ;读忙
clr lcd_rs
nop
setb lcd_rw
nop
setb lcd_e
nop
mov lcdbusy,lcdio
clr lcd_e
anl lcdbusy,#80H
ret
lcd_sendchar: ;发送字符
lcd_sendchar_1:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_sendchar_1
mov lcddata,#80H;
lcall lcd_writecomm
lcall delay
mov r1,#16
lcd_sendchar_2:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_sendchar_2
CLR A
movc A,@A+DPTR
Inc dptr
mov lcddata,A
lcall lcd_writedata
lcall delay
djnz r1,lcd_sendchar_2
lcd_sendchar_3:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_sendchar_3
mov lcddata,#0c0H;
lcall lcd_writecomm
lcall delay
mov r1,#16
mov dptr,#char2
lcd_sendchar_4:
lcall lcd_readbusy
mov a,lcdbusy
cjne A,#0,lcd_sendchar_4
CLR A
movc A,@A+DPTR
Inc dptr
mov lcddata,A
lcall lcd_writedata
lcall delay
djnz r1,lcd_sendchar_4
ret
char1:
DB 'WelcomeTo ......';
char2:
DB ' www.mcubase.com ';
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?