?? 小鍵盤控制的1602液晶顯示器.asm
字號:
;***************************************************************************
;* (程序轉載請著明出處 ,未聲明可適應本站騰龍/isp開發套件/倚天版開發套件 *
;* E-mail:sxj1974@163.com (51c51 test web) 51測試網,自學單片機的網站 *
;* Create by :石學軍 www.51c51.com www.8951.com 更多例程請登陸網站 *
;***************************************************************************
RS EQU P3.0
RW EQU P3.1
E EQU P3.5
mov p3,#0ffh
MOV P1,#01H ;清除屏幕
ACALL ENABLE
MOV P1,#38H ;8位點陣
ACALL ENABLE
MOV P1,#0FH ;開顯示
ACALL ENABLE
MOV P1,#06H ;移動光標
ACALL ENABLE
MOV P1,#80H ;顯示位置
ACALL ENABLE
l3: mov p1,#01h
acall enable
mov dptr,#table1 ;送第一句話
call write1
call enable
mov p1,#01h
ljmp l1
l4: mov p1,#01h
acall enable
mov dptr,#table2 ;送第二句話
call write1
call enable
mov p1,#01h
ljmp l1
l5: mov p1,#01h
acall enable
mov dptr,#table3 ;送第三句話
call write1
acall enable
mov p1,#01h
ljmp l1
l6:mov p1,#01h
acall enable
mov dptr,#table4 ;送第四句話
call write1
acall enable
mov p1,#01h
ljmp l1
l1: jnb p3.3,l3 ;監測鍵盤
jnb p3.4,l4
jnb p3.5,l5
JNB P3.2,L6
jmp l1
ENABLE: ;送命令
CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
write1: ;送字符串
mov r1,#00h
a1:mov a,r1
movc a,@a+dptr
call write2
inc r1
cjne a,#00h,a1 ;以00H做字符串結束標志
ret
write2: ;送單個字符
mov p1,a
setb rs
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
;以下每個表格都是一句話,以00H作為每句話的結尾.
table1: db 20h,57h,57h,57h,2Eh,35h,31h,43h,35h,31h,2Eh,43h,4Fh,4Dh,20h,20h,20h,00h
table2: db 53h,58H,4AH,31H,39H,37H,34H,40H,31H,36H,33H,2EH,43H,4FH,4DH,20H,20h,00H
table3: db 54h,45h,4Ch,30h,37h,35h,35h,20H,32H,37H,35H,32H,39H,30H,36H,35H,20H,00H
Table4: db 49H,20H,4CH,4FH,56H,45H,20H,38H,39H,43H,35H,31H,21H,4FH,4BH,20H,20H,00H
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -