keyboard.asm
来自「51单片机控制1602液晶显示模块,显示两行数据经实践检验可行,」· 汇编 代码 · 共 173 行
ASM
173 行
ORG 0000H
;DATA_P0 EQU 80H
RS EQU P3.7
RW EQU P3.6
E EQU P3.5
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;;;;;;;;;;;;;;;;显示器初始化
MOV A,P0
ANL A,#12H;屏蔽无关端口
;MOV DATA_P0,A
MOV 50H,A
LCALL DELAY2
MOV A,P0
ANL A,#12H
;CJNE A,DATA_P0,PASS
CJNE A,50H,PASS
CJNE A,#10H,TO2
LJMP KEY1
TO2: CJNE A,#02H,TO3
LJMP KEY2
TO3: MOV A,P2
ANL A,#92H;屏蔽无关端口
;MOV DATA_P0,A
MOV 50H,A
LCALL DELAY2
MOV A,P2
ANL A,#92H
;CJNE A,DATA_P0,PASS
CJNE A,50H,PASS
CJNE A,#12H,TO4
LJMP KEY3
TO4: CJNE A,#82H,TO5
LJMP KEY4
TO5: CJNE A,#90H,PASS
LJMP KEY5
PASS: RET
JMP $
KEY1: MOV DPTR,#TABLE1;送数据表1,MENU
CALL WRITE1
MOV P1,#0C0h;第一行的位置
CALL ENABLE
KEY2: MOV DPTR,#TABLE2;
CALL WRITE2
MOV P1,#0C0h;第一行的位置
CALL ENABLE
KEY3: MOV DPTR,#TABLE3;
CALL WRITE3
MOV P1,#0C0h;第一行的位置
CALL ENABLE
KEY4: MOV DPTR,#TABLE4;
CALL WRITE4
MOV P1,#0C0h;第一行的位置
CALL ENABLE
KEY5: MOV DPTR,#TABLE5;
CALL WRITE5
MOV P1,#0C0h;第一行的位置
CALL ENABLE
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 WRITE
INC R1
CJNE A,#00H,A1
RET
WRITE2:
MOV R1,#00H
A2:MOV A,R1
MOVC A,@A+DPTR
CALL WRITE
INC R1
CJNE A,#00H,A2
RET
WRITE3:
MOV R1,#00H
A3:MOV A,R1
MOVC A,@A+DPTR
CALL WRITE
INC R1
CJNE A,#00H,A3
RET
WRITE4:
MOV R1,#00H
A4:MOV A,R1
MOVC A,@A+DPTR
CALL WRITE
INC R1
CJNE A,#00H,A4
RET
WRITE5:
MOV R1,#00H
A5:MOV A,R1
MOVC A,@A+DPTR
CALL WRITE
INC R1
CJNE A,#00H,A5
RET
WRITE:
MOV P1,A
SETB RS
CLR RW
CLR E
CALL DELAY
SETB E
RET
DELAY2:
MOV R7,#05H
LOOP1:MOV R6,#0F9H
LOOP2:NOP
NOP
DJNZ R6,LOOP2
DJNZ R7,LOOP1
RET
DELAY:
MOV R7,#255
D1:MOV R6,#255
D2:DJNZ R6,D2
DJNZ R7,D1
RET
TABLE1: DB 20H,20H,20H,20H,20H,20H,4DH,45H,4EH,55H,20H,20H,20H,20H,20H,20H,00H;数据MENU
TABLE2: DB 20H,20H,20H,20H,20H,5BH,54H,49H,4DH,45H,5DH,20H,20H,20H,20H,20H,00H;数据[TIME]
TABLE3: DB 20H,20H,20H,20H,20H,20H,5BH,55H,50H,5DH,20H,20H,20H,20H,20H,20H,00H;数据[UP]
TABLE4: DB 20H,20H,20H,20H,20H,5BH,44H,4FH,57H,4EH,5DH,20H,20H,20H,20H,20H,00H;数据[DOWN]
TABLE5: DB 20H,20H,20H,20H,20H,20H,5BH,4FH,4BH,5DH,20H,20H,20H,20H,20H,20H,00H;数据[OK]
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?