?? 8802.asm
字號:
;0802液晶16位鍵盤的控制程序
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
org 0000h
ajmp main
org 0030h
loop:mov 30h,#0ffh ;30h送ff即-1
main:INC 30H
mov a,30h
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,#00000001B ;清屏
ACALL ENABLE
MOV P0,#00111000B ;顯示功能
ACALL ENABLE
MOV P0,#00001111B ;顯示開關控制
ACALL ENABLE
MOV P0,#00000110B ;輸入模式
ACALL ENABLE
MOV P0,#0C0H ;數據存貯器地址
ACALL ENABLE
mov p0,A ;ASCII碼
SETB RS
CLR RW
CLR E
ACALL DELAY
SETB E
lcall delay3
lcall delay3 ;延時一段時間
cjne a,#45H,main ;如果是最后一個數據重新開始
ljmp loop ; 否則30H 清除
ret
ENABLE: CLR RS ;送命令
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY: MOV P0,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;判斷忙標志
RET
DELAY3: ; 延時程序
MOV R7,#255
D1:MOV R6,#255
D2: DJNZ R6,D2
DJNZ R7,D1
RET
tab:
db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h,40h,41h,42h,43h,44h,45h
;0h0hc9878654a321 輪流顯示鍵盤因為無法表達*# 就用H表示,B用8表示
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -