AT89S52與LCD1602(asm/c51)
LCD1602 DDRAM地址映射表:
本文引用地址:http://www.ex-cimer.com/article/201611/317448.htm第一行地址80H
第二行地址C0H
單片機(jī)與LCD1602接口
;///////////////////////////////////////////////
項(xiàng)目名稱:AT89S52與LCD1602接口實(shí)驗(yàn)
功能:在LCD1602的第一行顯示W(wǎng)WW.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
;函數(shù)INCWD 指令寫入程序
INCWD:CLR RS
;函數(shù)INDAT
INDAT:SETB RS
;函數(shù)RESTELCD1602初始化程序
RESTE:MOV CWDK,#00111000B;工作方式 8位數(shù)據(jù)接口,二行顯示,5*7點(diǎn)陣
;函數(shù)TOPDA LCD1602第一行顯示程序
TOPDA:MOV CWDK,#80H
;函數(shù)BOTDA LCD1602第二行顯示程序
BOTDA:MOV CWDK,#0C0H
;函數(shù)DELAY 480us延時(shí)
DELAY:MOV R1,#0A0H
;函數(shù)DEL1S 1S延時(shí)
DEL1S:MOV R5,#20
TABL1:DB "WWW.LZY.EDU.CN"
TABL2:DB " 0830---3150897 "
END
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
付帶閃爍光標(biāo)的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復(fù)位延時(shí)
LCALL LRET;LCD1602初始化
LCALL TOPD;顯示第一行
LCALL BOMD;顯示第二行
LJMP START
;函數(shù)BUSY忙標(biāo)志檢測(cè)
BUSY: CLR RS
SETB RW
E1:MOV LDB,#0FFH
SETB E
MOV A,LDB
CLR E
JB ACC.7,E1
RET
;函數(shù)WCOM LCD1602指令寫入子程序
WCOM: LCALL BUSY
CLR RS
CLR RW
MOV A,COM
MOV LDB,A
SETB E
NOP
CLR E
RET
;函數(shù)WDAT LCD1602顯示數(shù)據(jù)寫入子程序
WDAT: LCALL BUSY
SETB RS
CLR RW
MOV A,DAT
MOV LDB,DAT
SETB E
NOP
CLR E
RET
;函數(shù)LRET LCD1602初始化子程序
LRET: MOV COM,#00000001B;清屏
LCALL WCOM
MOV COM,#00111000B;功能設(shè)定8bit數(shù)據(jù)接口,兩行顯示,5*7點(diǎn)陣
LCALL WCOM
MOV COM,#00000110B;輸入方式設(shè)定AC加一,畫面不動(dòng)
LCALL WCOM
MOV COM,#00001111B;開顯示,開光標(biāo),開閃爍
LCALL WCOM
MOV COM,#00000010B;光標(biāo)復(fù)位
LCALL WCOM
MOV COM,#00010100B;光標(biāo)右移
LCALL WCOM
RET
;函數(shù)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
;函數(shù)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
;函數(shù)DEL40 40MS延時(shí)
DEL40:MOV R0,#160
D1:MOV R1,#250
DJNZ R1,$
DJNZ R0,D1
RET
;函數(shù)DEL05 0.5S延時(shí)
DEL05:MOV R5,#2
D3:MOV R0,#200
D2:MOV R1,#248
DJNZ R1,$
DJNZ R0,D2
DJNZ R5,D3
RET
;顯示數(shù)據(jù)表
TAB1:DB " WWW.SINA.COM.CN"
TAB2:DB "Visual Basic net"
END
評(píng)論