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

📄 prg.lst

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


MACRO ASSEMBLER A51 V7.10
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 7900             12                                     mov R1,#00                       ;列号
                      13     
                      14                                     ;读列号
0104 75900F           15                                     mov p1,#0FH
0107 00               16                                     nop
0108 E590             17                                     mov A,p1
010A 540F             18                                     anl A,#0Fh
010C B40E04           19     c1:                             cjne A,#0EH, c2
010F 7901             20                                     mov R1,#1
0111 8013             21                                     jmp row
0113 B40D04           22     c2:                             cjne A,#0DH, c3
0116 7902             23                                     mov R1,#2
0118 800C             24                                     jmp row
011A B40B04           25     c3:                             cjne A,#0BH, c4
011D 7903             26                                     mov R1,#3
011F 8005             27                                     jmp row
0121 B407DC           28     c4:                             cjne A,#07H, START
0124 7904             29                                     mov R1,#4
                      30     
                      31                                     ;读行号
0126 7590F0           32     row:                    mov p1,#0F0H
0129 00               33                                     nop
012A E590             34                                     mov A,p1
012C 54F0             35                                     anl A,#0F0H
012E B4E004           36     row1:                   cjne A,#0E0H, row2
0131 7801             37                                     mov R0,#1
0133 8013             38                                     jmp count
0135 B4D004           39     row2:                   cjne A,#0D0H, row3
0138 7802             40                                     mov R0,#2
013A 800C             41                                     jmp count
013C B4B004           42     row3:                   cjne A,#0B0H, row4
013F 7803             43                                     mov R0,#3
0141 8005             44                                     jmp count
0143 B470BA           45     row4:                   cjne A,#070H, START
0146 7804             46                                     mov R0,#4
                      47     
                      48                                     ;(R0 - 1) * 4 + (R1 - 1)
0148 18               49     count:                  dec R0
0149 19               50                                     dec R1
014A E8               51                                     mov A,R0
014B 75F004           52                                     mov B,#4
014E A4               53                                     mul AB
014F 29               54                                     add A,R1
                      55             
0150 90015B           56     ksnew:                  mov DPTR,#keycodes                                              
0153 93               57                                     movc A,@A+DPTR                  
0154 F580             58                                     mov P0,A
A51 MACRO ASSEMBLER  PRG                                                                  11/30/2006 17:27:58 PAGE     2

0156 00               59                                     nop
0157 00               60                                     nop
                      61                                                             
0158 020100           62     ksend:                  ljmp START
                      63     
015B 3F065B4F         64     keycodes:               db      3FH,06H,5BH,4FH
015F 666D7D07         65                                     db      66H,6DH,7DH,07H
0163 7F6F777C         66                                     db      7FH,6FH,77H,7CH
0167 395E7971         67                                     db      39H,5EH,79H,71H
                      68     
                      69                                     END
A51 MACRO ASSEMBLER  PRG                                                                  11/30/2006 17:27:58 PAGE     3

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


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

B. . . . . . . . .  D ADDR   00F0H   A   
C1 . . . . . . . .  C ADDR   010CH   A   
C2 . . . . . . . .  C ADDR   0113H   A   
C3 . . . . . . . .  C ADDR   011AH   A   
C4 . . . . . . . .  C ADDR   0121H   A   
COUNT. . . . . . .  C ADDR   0148H   A   
KEYCODES . . . . .  C ADDR   015BH   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   
KSEND. . . . . . .  C ADDR   0158H   A   
KSNEW. . . . . . .  C ADDR   0150H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
ROW. . . . . . . .  C ADDR   0126H   A   
ROW1 . . . . . . .  C ADDR   012EH   A   
ROW2 . . . . . . .  C ADDR   0135H   A   
ROW3 . . . . . . .  C ADDR   013CH   A   
ROW4 . . . . . . .  C ADDR   0143H   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 + -