?? 0802key.asm
字號:
;鍵盤控制的0802液晶顯示程序。
;***************************************************************************
;* sxj1974@163.com (51c51 test web) www.8951.com *
;* Create by :石學(xué)軍 www.51c51.com 更多例程請登陸網(wǎng)站 *
;***************************************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
mov p3,#0ffh
MOV P0,#01H ;清除屏幕
ACALL ENABLE
MOV P0,#38H ;8位點(diǎn)陣
ACALL ENABLE
MOV P0,#0FH ;開顯示
ACALL ENABLE
MOV P0,#06H ;移動光標(biāo)
ACALL ENABLE
MOV P0,#80H ;顯示位置
ACALL ENABLE
l3: mov p0,#01h
acall enable
mov dptr,#table1 ;送第一句話
call write1
call enable
mov p0,#01h
ljmp l1
l4: mov p0,#01h
acall enable
mov dptr,#table2 ;送第二句話
call write1
call enable
mov p0,#01h
ljmp l1
l5: mov p0,#01h
acall enable
mov dptr,#table3 ;送第三句話
call write1
acall enable
mov p0,#01h
ljmp l1
l6:mov p0,#01h
acall enable
mov dptr,#table4 ;送第四句話
call write1
acall enable
mov p0,#01h
ljmp l1
l1: jnb p3.3,l3 ;監(jiān)測鍵盤
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做字符串結(jié)束標(biāo)志
ret
write2: ;送單個字符
mov p0,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作為每句話的結(jié)尾.
table1: db "8951.COM",00H
table2: db "GO-51C51",00H
table3: db "27529065",00H
Table4: db "HELLO...",00H
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -