📄 demo_key.asm
字号:
;=====================================================
; the demo file is for NJ chamical universty and key_boarb
;----------------------start-----------------------
KEY_NUM EQU 30H
MD EQU 31H
CS BIT P0.0
CLK BIT P0.1
DIO BIT P0.2
KEY BIT P0.3
BIT_N EQU 50H
DEL EQU 51H
SND_BUF EQU 52H
REC_BUF EQU 53H
DECI EQU 54H
org 0000h
JMP main
org 000bh
ljmp timer0
org 0023h
ljmp rx_int
ORG 0100H
main:MOV SP ,#60H
MOV TCON,#00H
mov tmod,#21h
mov scon,#50h
mov th1,#0e6h ;1200-n-1
setb tr1
setb es
setb ea
MOV P1,#00H ;TEST
MOV P0,#00H
MOV P2,#00H
LCALL DELAY
MOV P1,0FFH ;INIT
MOV P2,0FFH
MOV P0,0FFH
MOV P3,0FFH
CLR A
MOV MD ,#00H
MOV A,P3
CPL A
;SWAP A
ANL A,#0F0H
SWAP A
MOV MD,A
RL A
MOV DPTR,#JUMP
JMP @A+DPTR
JUMP: AJMP MOD0
AJMP MOD1
AJMP MOD2
AJMP MOD3
AJMP MOD4
AJMP MOD5
AJMP MOD6
AJMP MOD7
AJMP MOD8
AJMP MOD9
AJMP MOD10
AJMP MOD11
AJMP MOD12
AJMP MOD13
AJMP MOD14
AJMP MOD15
;----------P0:KEY INTO BIN-------------
MOD0: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
M0:LCALL KEY_r
MOV P0,#0FFH
MOV A,KEY_NUM
MOV DPTR,#LED_CODE
MOVC A,@A+DPTR
MOV P2,A
MOV A,KEY_NUM
SWAP A
CPL A
MOV P1,A
JMP M0
;---------P1 KEY INTO BCD------------
MOD1:MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
M1:LCALL KEY_r
MOV P0,#0FFH
MOV A,KEY_NUM
DA A
LCALL DISP1
MOV A,KEY_NUM
SWAP A
CPL A
MOV P1,A
JMP M1
;------------P2 SEC_WATCH_TABLE---------------
MOD2:MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
MOV P1,#0FFH
MOV R0,#00H
MOV A,#00H
JB P3.0,$
MOV P0,#0C0H
MOV P2,#0C0H
M21:MOV R3,#10h
M22:LCALL DELAY ;SEC_LOOP
CPL P1.4
DJNZ R3,M22
CPL P1.7
MOV A,R0
ADD A,#01H
DA A
MOV R0,A
LCALL DISP1
CJNE R0,#60h,M21
clr p2.7
lcall delay
setb p2.7
JMP MOD2
;-----------P3 TRAFFIC------------
MOD3:MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
M3: MOV R0,#30
CLR P1.2
M31:LCALL DELAY
DJNZ R0,M31
SETB P1.2
MOV R0,#06H
CLR P1.1
M32:LCALL DELAY
LCALL DELAY
CPL P1.1
DJNZ R0,M32
SETB P1.1
MOV R0,#30
CPL P1.0
M33:LCALL DELAY
DJNZ R0,M33
SETB P1.0
JMP M3
;--------P4 DISPLAY_DEMO1------------
MOD4: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
LCALL DELAY
JB P3.0,$ ;a
MOV P2,#0FFH
MOV P0,#88H
M41:LCALL DELAY
LCALL DELAY
CPL P2.0
JB P3.0,M41
SETB P2.0
MOV P0,#83H ;b
M42:LCALL DELAY
LCALL DELAY
CPL P2.1
JB P3.0,M42
SETB P2.1
MOV P0,#0C6H
M43:LCALL DELAY ;C
LCALL DELAY
CPL P2.2
JB P3.0,M43
SETB P2.2
MOV P0,#0A1H ;D
M44:LCALL DELAY
LCALL DELAY
CPL P2.3
JB P3.0,M44
SETB P2.3
MOV P0,#86H ;E
M45:LCALL DELAY
LCALL DELAY
CPL P2.4
JB P3.0,M45
SETB P2.4
MOV P0,#8EH ;F
M46:LCALL DELAY
LCALL DELAY
CPL P2.5
JB P3.0,M46
SETB P2.5
MOV P0,#90H ;G
M47:LCALL DELAY
LCALL DELAY
CPL P2.6
JB P3.0,M47
SETB P2.6
MOV P0,#89H ;H
M48:LCALL DELAY
LCALL DELAY
CPL P2.7
JB P3.0,M48
SETB P2.7
JMP MOD4
;---------P5,DISP_DEMO2------------------
MOD5: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
LCALL DELAY
JB P3.0,$
MOV P0,#0FFH
MOV P2,#0FFH
CLR P2.0
CLR P0.0
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.1
CLR P0.5
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.2
CLR P0.4
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.3
CLR P0.3
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.4
CLR P0.2
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.5
CLR P0.1
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CLR P2.6
CLR P0.6
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P2,#0FFH
MOV P0,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P2,#00H
MOV P0,#00H
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P2,#0FFH
MOV P0,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P2,#0FFH
MOV P0,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
JMP MOD5
;---------P6 DISP_DEMO3-------------------------
MOD6: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
LCALL DELAY
JB P3.0,$
MOV R0,#00H
M6: MOV A,R0
MOV DPTR,#LED_CODE
MOVC A,@A+DPTR
MOV P0,A
MOV P2,A
MOV A,R0
SWAP A
CPL A
MOV P1,A
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
INC R0
CJNE R0,#10H,M6
MOV R0,#00H
JMP M6
;------------P7 DISP_DEMO4----------------
MOD7: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
LCALL DELAY
JB P3.0,$
M71: MOV P0,#0FFH
MOV P2,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P0,#0FFH
MOV P2,#0C0H
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV R0,#00H
MOV R3,#01H
M72: MOV A,R0
MOV DPTR,#LED_CODE
MOVC A,@A+DPTR
MOV P0,A
INC R0
MOV A,R3
MOV DPTR,#LED_CODE
MOVC A,@A+DPTR
MOV P2,A
INC R3
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
CJNE R3,#11H,M72
MOV P0,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
JMP MOD7
;----------P8 DISP_DEMO5--------
MOD8: MOV A,MD
LCALL DISP0
LCALL DELAY
LCALL DELAY
LCALL DELAY
JB P3.0,$
M81: MOV P0,#0FFH
MOV P2,#0FFH
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV P2,#0FFH
MOV P0,#0C0H
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV R0,#00H
MOV R3,#01H
M82: MOV A,R0
MOV DPTR,#LED_CODE
MOVC A,@A+DPTR
MOV P2,A
INC R0
MOV A,R3
MOV DPTR,#LED_CODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -