⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.lst

📁 4*4键盘控制一个七段数码管显示
💻 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 + -