在上一课中,我们已经详细的讲解了怎么在液晶显示屏显示字母“A”,但1602LCD有两行显示,我们怎样才能让字符显示在第二行呢?与显示在第一行有什么区别吗?下面我就与大家一起来探讨这个课题。
下图中,1602在我们学习套件中显示在第二行第四位的图片

现在先来介绍用软件查出字符“B”内码的方法,请大家先下载内码查询软件(请到本站下载中心下载)。
解压后,点击
图标启动软件,如下图所示,输入字符“B”

点击“内码显示”按钮,42就是字符“B”的内码了,大家都学会使用了吧?
;*************************************源程序**************************************
RS BIT P3.0
RW BIT P3.1
E BIT P3.5
DB0_DB7 DATA P1
ORG 00H
AJMP START
ORG 000BH
AJMP INSE
ORG 50H
START:MOV TMOD,#0
MOV TL0,#0
MOV TH0,#0
SETB EA
SETB ET0
SETB TR0
MOV R5,#50
MOV SP,#60H
ACALL INIT
MOV A,#0C3H ;写入显示地址为第二行第四位。
ACALL C51
MOV A,#42H ;字母B的代码。
ACALL C51DDR
LOOP:AJMP LOOP
INSE:MOV TL0,#0 ;中断服务子程序。
MOV TH0,#0
DJNZ R5,NO
MOV R5,#50
NO: RETI
INIT:
MOV A,#38H ;使用8Bits汇流排,显示两行,使用5*7的字型。
LCALL C51
MOV A,#0EH ;显示器开,光标开,光标闪烁。
LCALL C51
MOV A,#06H ;字符不动,光标自动右移一格。
LCALL C51
RET
DDW: ;检查忙碌子程序。
PUSH ACC
DDW1: CLR RS
SETB RW
CLR E
SETB E
MOV A,DB0_DB7
CLR E
JB ACC.7,DDW1
POP ACC
ACALL DELAY
RET
C51: ;写入IR寄存器子程序。
ACALL DDW
CLR E
CLR RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
C51DDR: ;写入DR寄存器子程序。
ACALL DDW
CLR E
SETB RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
DELAY: ;延时子程序。
MOV R6,#5
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

