LCD1602应用已很普遍,本文介绍 利用LCD1602使用说明书,编写测试程序的编程方法。
1602使用说明附后;
1.接口定义
参阅使用说明中:《接口信号定义》
如LCD1602和MCU连接如下
4 (RS) ---------------------P2.4
5 (R/W) ---------------------P2.3
6(E) ---------------------P2.5
7-14 ----------------=---P0.0-P0.7
接口定义如下:
RS BIT P2.4
RW BIT P2.3
E BIT P2.5
DAT EQU P0
2.写入地址
参阅使用说明中:3.RAM地址映射图
说明:从图可见1602:第一项地址:00-0FH
第二项地址:40H-4FH
如我们要显示字符,必须设置数据指针。
设置方法见使用说明中4.2.1。指令码+地址
如:我们要在第一项第一列中显示字符:80H(指令)+00H(地址)=10000000B
程序可写入:MOV A,#10000000B
如:我们要在第二项第十列中显示字符:80H(指令)+4AH(地址)=11001010B
程序可写入:MOV A,#11001010B
3.指令的编写
1602共有11条指令,参阅使用说明中:4.指令说明
第一条指令:显示模式的设置,我们用1602
程序可写入:MOV A,#00111000B,表示设置是16*2,5*7点阵,8位数据接口。
其它指令的编写在程序中说明
4.LCD送入显示的是ASCII码(查表可知)
5.测试程序(有说明)
;=========================================;
; LCD1602显示驱动测试程序
; NJF-1602
; 12MHZ
; 间接方式
;=========================================;
RS EQU P2.4 ;接口定义
RW EQU P2.3
E EQU P2.5
DAT EQU P0
ORG 0000H
JMP MAIN
ORG 0040H
;*****主程序
MAIN: MOV SP,#60H
CALL CSH_LCM ;启动
MOV A,#11001111B ;显示第二项16列(最后一个字)
CALL WR_LCM ;写入指令
MOV A,#45H ;送ASCII“E”
CALL WR_DATA ;写入数据
JMP $
;*****启动
CSH_LCM: MOV A,#00111000B ;参阅使用说明中:4.1.1(16*2,5*7点阵,8位数据接口)
CALL WR_LCM ;写入指令
MOV A,#00001110B ;参阅使用说明中:4.1.2上(开显示,显示光标不闪耀)
CALL WR_LCM ;写入指令
MOV A,#00000110B ;参阅使用说明中:4.1.2下(N=1当读或写一个字符后地址
;指针加一,光标加一。S=0写一字符,屏示动)
CALL WR_LCM ;写入指令
RET
;*****写入指令
WR_LCM: CALL RD_BF ;判LCD忙
CLR E ;注意:E设低电平主要是为后产生一高电平脉冲
CLR RS ;参阅使用说明中:1.2节 RS="L"
CLR RW ;RS=L
SETB E ;E=高脉冲
MOV DAT,A ;d0-d7指令码
CLR E ;允许端恢复低电平
RET
;*****判LCD忙 ;说明:MCU处理一个指令,仅需若干个uS,而LCD得化40uS
;-1.64ms,所以当写读时,先查LCD是否忙?
;参阅使用说明中:2-状态字说明
RD_BF: PUSH ACC ;ACC入栈
BF_LOOP: SETB RW ;RW-H
CLR RS ;RS-L
SETB E ;E=H
MOV A,DAT ;读数据
CLR E ;允许端恢复低电平
JB ACC.7,BF_LOOP ;参阅使用说明中:2-状态字说明:对控制器读写之前,必须
;进行读写检测,确保ACC.7=0
POP ACC ;ACC出栈
CALL DEAY ;转延时
RET
;*****写入数据
WR_DATA: CALL RD_BF ;判LCD忙
CLR E ;拉低电平
SETB RS ;参阅使用说明中:1-4 RS="H"
CLR RW ;RW=L
SETB E ;E=高电平
MOV DAT,A ;写入数据
CLR E ;允许端恢复低电平
RET
;*****延时2.5MS
DEAY: MOV R6,#5
LD1: MOV R7,#250
DJNZ R7,$
DJNZ R6,LD1
RET
END
用户1290259 2007-9-23 15:47
好 !LZ讲得好细,以前在设计电路时还真没有去注意这些,仅仅是依照葫芦画瓢。
TKS!
用户15482 2007-8-26 08:37
不论你走到那里,我都会追随你!永远向你学习的学生,敬礼!
资料先收藏啦!