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

📄 prg.lst

📁 利用不同的按键实现7段数码显示不同的字符
💻 LST
字号:
A51 MACRO ASSEMBLER  PRG                                                                  11/30/2006 15:19:28 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN prg.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE prg.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     NAME ROWSCAN                          ;行扫描
                       2     
  00EF                 3     KEY_ROW1        equ     0EFh
  00DF                 4     KEY_ROW2        equ     0DFh
  00BF                 5     KEY_ROW3        equ     0BFh
  007F                 6     KEY_ROW4        equ     07Fh
                       7     
0000                   8     ORG 0000H
0000 020100            9                                     ljmp START
0100                  10     ORG 0100H               
0100 7800             11     START:                  mov R0,#00                      
0102 79EF             12                                     mov R1,#KEY_ROW1        
0104 7A04             13                                     mov R2,#4                         ;行数
                      14     
0106 8990             15     ksrow:                  mov P1,R1                       
0108 00               16                                     nop
0109 E590             17                                     mov A,P1                        
010B 7B04             18                                     mov R3,#4                         ;列数
010D 540F             19                                     anl A,#0Fh
010F 13               20     ks0:                    rrc A
                      21                                     
0110 4002             22                                     jc ks1                            ;没键按下
0112 800A             23                                     jmp ksnew                         ;有键按下
                      24                             
0114 08               25     ks1:                    inc R0                  
0115 DBF8             26                                     djnz R3,ks0
                      27     
0117 E9               28                                     mov A,R1                        
0118 23               29                                     rl A 
0119 F9               30                                     mov R1,A
011A DAEA             31                                     djnz R2,ksrow
                      32                                                                                
011C 8009             33                                     jmp ksend
                      34                             
011E 90012A           35     ksnew:                  mov DPTR,#keycodes                              
0121 E8               36                                     mov A,R0                
0122 93               37                                     movc A,@A+DPTR                  
0123 F580             38                                     mov P0,A
0125 00               39                                     nop
0126 00               40                                     nop
                      41                                                             
0127 020100           42     ksend:                  ljmp START
                      43     
012A 3F065B4F         44     keycodes:               db      3FH,06H,5BH,4FH
012E 666D7D07         45                                     db      66H,6DH,7DH,07H
0132 7F6F777C         46                                     db      7FH,6FH,77H,7CH
0136 395E7971         47                                     db      39H,5EH,79H,71H
                      48     
                      49                                     END
A51 MACRO ASSEMBLER  PRG                                                                  11/30/2006 15:19:28 PAGE     2

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

KEYCODES . . . . .  C ADDR   012AH   A   
KEY_ROW1 . . . . .  N NUMB   00EFH   A   
KEY_ROW2 . . . . .  N NUMB   00DFH   A   
KEY_ROW3 . . . . .  N NUMB   00BFH   A   
KEY_ROW4 . . . . .  N NUMB   007FH   A   
KS0. . . . . . . .  C ADDR   010FH   A   
KS1. . . . . . . .  C ADDR   0114H   A   
KSEND. . . . . . .  C ADDR   0127H   A   
KSNEW. . . . . . .  C ADDR   011EH   A   
KSROW. . . . . . .  C ADDR   0106H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
ROWSCAN. . . . . .  N NUMB   -----       
START. . . . . . .  C ADDR   0100H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -