?? jianpan.asm
字號:
ORG 0000H
LJMP MAIN ;沒有用到去抖動
ORG 0100H
MAIN: MOV P1,#10H;8155初始化,A輸入a,b,c,d;B輸出驅動數碼管;C輸出,檢測
MOV DPTR,#0100H
MOV A,#0EH
MOVX @DPTR,A
ROW: MOV DPTR,#0103H;檢測是否有鍵入
MOV A,#00H
MOVX @DPTR,A
;NOP
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW1;有鍵入
MOV DPTR,#0102H;無鍵入,輸出0
MOV A,#00H
MOVX @DPTR,A
LJMP ROW
ROW1: MOV DPTR,#0103H;檢測第一行
MOV A,#0EH
MOVX @DPTR,A
;NOP
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW11;有鍵入
ROW2: MOV DPTR,#0103H
MOV A,#0DH
MOVX @DPTR,A
;NOP
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW22;有鍵入
ROW3: MOV DPTR,#0103H
MOV A,#0BH
MOVX @DPTR,A
;NOP
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,JROW33
ROW4: MOV DPTR,#0103H
MOV A,#07H
MOVX @DPTR,A
;NOP
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,JROW44
LJMP ROW
JROW33:LJMP ROW33
JROW44:LJMP ROW44
ROW11: ACALL DELAY;去抖動,確定
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW111;有
LJMP ROW2
ROW111: PUSH ACC
ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,DISPLAY1;沒有
LJMP ROW2
DISPLAY1:POP ACC
JB ACC.0,NO12
NO11: MOV DPTR,#0102H
MOV A,#06H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW2
NO12: JB ACC.1,NO13
MOV DPTR,#0102H
MOV A,#5BH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW2
NO13: JB ACC.2,NO14
MOV DPTR,#0102H
MOV A,#4FH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW2
NO14: MOV DPTR,#0102H
MOV A,#77H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW2
ROW22: ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW222
LJMP ROW3
ROW222: PUSH ACC
ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,DISPLAY2
LJMP ROW3
DISPLAY2:POP ACC
JB ACC.0,NO22
NO21: MOV DPTR,#0102H
MOV A,#66H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW3
NO22: JB ACC.1,NO23
MOV DPTR,#0102H
MOV A,#6DH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW3
NO23: JB ACC.2,NO24
MOV DPTR,#0102H
MOV A,#7DH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW3
NO24: MOV DPTR,#0102H
MOV A,#7CH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW3
ROW33: ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW333
LJMP ROW4
ROW333: PUSH ACC
ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,DISPLAY3
LJMP ROW4
DISPLAY3:POP ACC
JB ACC.0,NO32
NO31: MOV DPTR,#0102H
MOV A,#07H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW4
NO32: JB ACC.1,NO33
MOV DPTR,#0102H
MOV A,#7FH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW4
NO33: JB ACC.2,NO34
MOV DPTR,#0102H
MOV A,#6FH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW4
NO34: MOV DPTR,#0102H
MOV A,#39H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW4
ROW44: ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,ROW444
LJMP ROW
ROW444: PUSH ACC
ACALL DELAY
MOV DPTR,#0101H
MOVX A,@DPTR
CJNE A,#0FH,DISPLAY4
LJMP ROW
DISPLAY4:POP ACC
JB ACC.0,NO42
NO41: MOV DPTR,#0102H
MOV A,#00H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW
NO42: JB ACC.1,NO43
MOV DPTR,#0102H
MOV A,#3FH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW
NO43: JB ACC.2,NO44
MOV DPTR,#0102H
MOV A,#40H
MOVX @DPTR,A
ACALL DELAY
LJMP ROW
NO44: MOV DPTR,#0102H
MOV A,#5EH
MOVX @DPTR,A
ACALL DELAY
LJMP ROW
DELAY: MOV R1,#05FH
DJNZ R1,$
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -