?? 1602
字號:
;****************************************************************
;* ★★★ 1602液晶模塊測試程序 ★★★ *
;* 『電子驛站單片機實驗板、開發板配套例程,程序轉載請著明出處』 *
;* E-mail: support@ourmpu.com QQ留言:451338254 476485321 *
;* 編程:ourmpu http://www.ourmpu.com/ 更多例程請登陸網站 *
;****************************************************************
;* 液晶模塊第一行顯示的是本站聯系電話“"Welcome!"” *
;* 液晶模塊第二行顯示的是本站域名“www.ourmpu.com” *
;****************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LCD EQU P0
ORG 0000H
AJMP START
ORG 0033H
START: MOV SP,#60H
MAIN:
LCALL DELAY ;延時一段時間
MOV LCD,#01H ;寫指令01H,清屏
LCALL ENABLE
MOV LCD,#38H ;寫指令38H,設定LCD為16*2顯示,5*7點陣,8位數據接口
LCALL ENABLE
MOV LCD,#0FH ;寫指令0FH,顯示ON,光標ON,閃爍ON
LCALL ENABLE
MOV LCD,#06H ;寫指令06H,光標輸入方式增量移位
LCALL ENABLE
MOV LCD,#80H ;第一行起始字符地址
LCALL ENABLE ;寫指令
MOV DPTR,#TABLE1 ;第一行顯示字符表頭地址
LCALL DISP ;顯示第一行數據
MOV LCD,#0C0H ;第二行起始字符地址
LCALL ENABLE ;寫指令
MOV DPTR,#TABLE2 ;第二行顯示字符表頭地址
LCALL DISP ;顯示第二行數據
AJMP MAIN ;返回主程序循環
ENABLE: CLR RS ;寫指令子程序(請參照1602LCD使用說明書)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
DISP: MOV R1,#16 ;準備顯示一行16個字符
LOOP: MOV A,#00H ;將ACC清零
MOVC A,@A+DPTR ;查表取得要顯示的數據
LCALL DISP1 ;寫入一個數據
INC DPTR ;數據表指針加1,準備取下一個數據
DJNZ R1,LOOP ;一行沒有顯示完就繼續
RET
DISP1: MOV LCD,A ;寫1字節數據到顯示端口
SETB RS ;寫數據時序(請參照1602LCD使用說明書)
CLR RW
CLR E
LCALL DELAY
SETB E
RET
;------- 延時子程序 --------
DELAY: MOV R7,#255
D1: MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
TABLE1: DB 20H,20H,20H,20H,77H,65H,6CH,63H,6FH,6DH,65H,21H,20H,20H,20H,20
TABLE2: DB 20H,77H,77H,77H,2EH,6FH,75H,72H,6DH,70H,75H,2EH,63H,6FH,6DH,20
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -