📄 text1.lst
字号:
A51 MACRO ASSEMBLER TEXT1 01/20/2008 15:48:01 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN text1.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE text1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0030 1 ORG 30H
0030 7800 2 START: MOV R0,#00H
0032 7904 3 MOV R1,#04H
0034 7AEF 4 MOV R2,#0EFH ;扫描码初值 低电平扫描
0036 EA 5 GO: MOV A,R2
0037 F590 6 MOV P1,A
7 ;==================查第一行=============================
0039 309014 8 JNB P1.0,KEYIN ;若被按下就跳转
003C 08 9 INC R0 ;下一键
10 ;==================查第二行==============================
003D 309110 11 JNB P1.1,KEYIN
0040 08 12 INC R0
13 ;==================查第三行=============================
0041 30920C 14 JNB P1.2,KEYIN
0044 08 15 INC R0
16 ;==================查第四行===============================
0045 309308 17 JNB P1.3,KEYIN
0048 08 18 INC R0
19 ;==================下一列==============================
0049 EA 20 MOV A,R2
004A 23 21 RL A
004B FA 22 MOV R2,A
004C D9E8 23 DJNZ R1,GO
004E 80E0 24 JMP START
25 ;==================键被按的处理程序========================
0050 1161 26 KEYIN: CALL WAIT ;调用防抖动延时
27
0052 E8 28 MOV A,R0 ;取按键值
0053 90006A 29 MOV DPTR,#TABLE
0056 93 30 MOVC A,@A+DPTR
0057 75A0FF 31 MOV P2,#0FFH ;清理数码管
005A F5A0 32 MOV P2,A
005C 7580FE 33 MOV P0,#0FEH
005F 80CF 34 JMP START ;重新扫描
35 ;================防抖动延时程序===========================
0061 7F28 36 WAIT: MOV R7,#40
0063 7EC8 37 W1:MOV R6,#200
0065 DEFE 38 DJNZ R6,$
0067 DFFA 39 DJNZ R7,W1
0069 22 40 RET
006A C0F9A4B0 41 TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H;0 TO 7
006E 999282F8
0072 80908883 42 DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH ;8 TO F
0076 C6A1868E
43 END
A51 MACRO ASSEMBLER TEXT1 01/20/2008 15:48:01 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
GO . . . . . . . . C ADDR 0036H A
KEYIN. . . . . . . C ADDR 0050H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
START. . . . . . . C ADDR 0030H A
TABLE. . . . . . . C ADDR 006AH A
W1 . . . . . . . . C ADDR 0063H A
WAIT . . . . . . . C ADDR 0061H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -