?? 1602
字號:
;****************************************************************
;* ★★★ 1602液晶模塊測試程序 ★★★ *
;* 『電子驛站單片機實驗板、開發板配套例程,程序轉載請著明出處』 *
;* E-mail: support@ourmpu.com QQ留言:451338254 476485321 *
;* 編程:ourmpu http://www.ourmpu.com/ 更多例程請登陸網站 *
;****************************************************************
;* 液晶模塊第一行顯示的是"2006.3.26 20:28" *
;* 液晶模塊第二行顯示的是“Temp: 28.1875℃” *
;****************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
LCD EQU P0
org 00h
ajmp main
org 030h
main:
mov sp,#60h
main1:
lcall delay ;延時一段時間
MOV LCD,#38H ;
ACALL ENABLE ;寫指令38H
MOV LCD,#38H ;
ACALL ENABLE ;寫指令38H
MOV LCD,#38H ;
ACALL ENABLE ;寫指令38H
MOV LCD,#38H ;
ACALL ENABLE ;寫指令38H
MOV LCD,#08H ;
ACALL ENABLE ;寫指令08H
MOV LCD,#01H ;
ACALL ENABLE ;寫指令01H
MOV LCD,#06H ;
ACALL ENABLE ;寫指令06H
MOV LCD,#0cH ;
ACALL ENABLE ;寫指令0CH
MOV LCD,#80H ;第一行顯示第一個字符的位置
ACALL ENABLE ;調用寫指令
mov dptr,#table3 ;第一行表頭位置
call write1 ;調用第一行寫子程序
mov LCD,#0c0h ;第二行位置
call enable ;調用寫指令
mov dptr,#table2 ;第二行表頭位置
call write1 ;調用第二行寫子程序
jmp main1 ;返回主程序不斷的循環
ENABLE: ;寫命令時序(參照1602LCD使用說明書)
CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
write1: ;寫字符串
mov r1,#00h ;將R1清0
a1:mov a,r1 ;把R1的值送到ACC
movc a,@a+dptr ;查表取將顯示的數據并把要顯示的數送入ACC
call write2 ;調用寫程序寫入單個字節
inc r1 ;將工作寄存器指針加一
cjne r1,#10h,a1 ;R1的內容加到16后就返回到a1處
ret ;
write2: ;寫單個字符
mov LCD,a ;寫數據到顯示端口
setb rs ;寫數據時序(請參照1602LCD使用說明書)
clr rw
clr e
call delay
setb e
ret
delay:
mov r7,#255
d1:mov r6,#255
d2:djnz r6,d2
djnz r7,d1
ret
table3: db 32H,30H,30H,36H,2EH,33H,2EH,32H,36H,20H,32H,30H,3AH,32H,38H,20H
table2: db 54H,65H,6DH,70H,3AH,20H,32H,38H,2EH,31H,38H,37H,35H,0DFH,43H,20H
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -