LCD1602 DDRAM地址映射表:
榜首行地址80H
第二行地址C0H
单片机与LCD1602接口
;///////////////////////////////////////////////
项目名称:AT89S52与LCD1602接口试验
功用:在LCD1602的榜首行显现WWW.LZY.EDU.CN:
;///////////////////////////////////////////////
RS EQUP2.4
RW EQUP2.5
E EQUP2.6
DRIR EQUP0
CWDK EQU 40H
DATK EQU 41H
ORG 0000H
SJMP START
ORG 0030H
;主程序
START:MOV SP,#80H
;函数INCWD 指令写入程序
INCWD:CLR RS
;函数INDAT
INDAT:SETB RS
;函数RESTELCD1602初始化程序
RESTE:MOV CWDK,#00111000B;工作方法 8位数据接口,二行显现,5*7点阵
;函数TOPDA LCD1602榜首行显现程序
TOPDA:MOV CWDK,#80H
;函数BOTDA LCD1602第二行显现程序
BOTDA:MOV CWDK,#0C0H
;函数DELAY 480us延时
DELAY:MOV R1,#0A0H
;函数DEL1S 1S延时
DEL1S:MOV R5,#20
TABL1:DB “WWW.LZY.EDU.CN”
TABL2:DB ” 0830—3150897 “
END
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
付带闪耀光标的LCD1602字符显现
;///////////////////////////////////////////////////
;AT89S52与LCD1602接口
;意图:1602榜首行显现:WWW.SINA.COM.CN
;第二行显现:Visual Basic net
;//////////////////////////////////////////////////
RS EQU P2.4
RW EQU P2.5
EEQU P2.6
LDB EQU P0
DAT DA
COM DA
ORG 0000H
SJMP START
ORG 0030H
;主程序
START:MOV SP,#50H
LCALL DEL40;1602复位延时
LCALL LRET;LCD1602初始化
LCALL TOPD;显现榜首行
LCALL BOMD;显现第二行
LJMP START
;函数BUSY忙标志检测
BUSY: CLR RS
SETB RW
E1:MOV LDB,#0FFH
SETB E
MOV A,LDB
CLR E
JB ACC.7,E1
RET
;函数WCOM LCD1602指令写入子程序
WCOM: LCALL BUSY
CLR RS
CLR RW
MOV A,COM
MOV LDB,A
SETB E
NOP
CLR E
RET
;函数WDAT LCD1602显现数据写入子程序
WDAT: LCALL BUSY
SETB RS
CLR RW
MOV A,DAT
MOV LDB,DAT
SETB E
NOP
CLR E
RET
;函数LRET LCD1602初始化子程序
LRET: MOV COM,#00000001B;清屏
LCALL WCOM
MOV COM,#00111000B;功用设定8bit数据接口,两行显现,5*7点阵
LCALL WCOM
MOV COM,#00000110B;输入方法设定AC加一,画面不动
LCALL WCOM
MOV COM,#00001111B;开显现,开光标,开闪耀
LCALL WCOM
MOV COM,#00000010B;光标复位
LCALL WCOM
MOV COM,#00010100B;光标右移
LCALL WCOM
RET
;函数TOPD LCD1602榜首行显现子程序
TOPD: MOV COM,#80H
LCALL WCOM
MOV DPTR,#TAB1
MOV R3,#10H
MOV R4,#00H
E2:MOV A,R4
MOVC A,@A+DPTR
MOV DAT,A
LCALL WDAT
LCALL DEL05
INC R4
DJNZ R3,E2
RET
;函数BOMD LCD1602第二行显现子程序
BOMD: MOV COM,#0C0H
LCALL WCOM
MOV DPTR,#TAB2
MOV R3,#10H
MOV R4,#00H
E3:MOV A,R4
MOVC A,@A+DPTR
MOV DAT,A
LCALL WDAT
LCALL DEL05
INC R4
DJNZ R3,E3
RET
;函数DEL40 40MS延时
DEL40:MOV R0,#160
D1:MOV R1,#250
DJNZ R1,$
DJNZ R0,D1
RET
;函数DEL05 0.5S延时
DEL05:MOV R5,#2
D3:MOV R0,#200
D2:MOV R1,#248
DJNZ R1,$
DJNZ R0,D2
DJNZ R5,D3
RET
;显现数据表
TAB1:DB ” WWW.SINA.COM.CN”
TAB2:DB “Visual Basic net”
END