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

📄 jp02.lst

📁 使用4*4矩阵式键盘
💻 LST
字号:
A51 MACRO ASSEMBLER  JP02                                                                 01/07/2007 11:31:14 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN JP02.OBJ
ASSEMBLER INVOKED BY: C:\Keil7.06\C51\BIN\A51.EXE JP02.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;文件名:JP02.ASM
                       2     ;程序功能:用矩阵式键盘控制显示器 
0000                   3              ORG   00H      ;
0000 7C00              4       START:  MOV   R4,#00H ;
0002 7BF7              5       L1:    MOV   R3,#0F7H ;扫描初值(P3.3=0)
0004 7900              6              MOV   R1,#00H  ;取码指针                 
0006 EB                7       L2:    MOV   A,R3     ;开始扫描
0007 F5B0              8              MOV   P3,A     ;将扫描值输出至P3
0009 E5B0              9              MOV   A,P3     ;读入P3值,判断有无按下  
000B FC               10              MOV   R4,A     ;存入R4,以判断是否放开  
000C D3               11              SETB  C        ;C=1
000D 7D04             12              MOV   R5,#04H  ;扫描P3.4~P3.7
000F 33               13       L3:    RLC   A        ;将按键值左移一位
0010 500A             14              JNC   KEY       ; 有键按下C=0,跳至KEY
0012 09               15              INC   R1       ;C=1没键按下,指针值加1   
0013 DDFA             16              DJNZ  R5,L3    ;4列扫描完毕了?           
0015 EB               17              MOV   A,R3     ;扫描值载入
0016 D3               18              SETB  C        ;C=         RRC   A        
0017 FB               19              MOV   R3,A     ;存回扫描寄存器
0018 40EC             20              JC    L2       ;C=1,程序转到L2处
001A 80E6             21              JMP   L1       ;C=0则4行已扫描完毕        
001C 112F             22       KEY:   ACALL DELAY    ;调延时子程序              
001E E5B0             23       D1:    MOV   A,P3     ;读入P3值
0020 6C               24              XRL   A,R4     ;与上次读入值作比较
0021 60FB             25              JZ    D1       ;A=0,表示按键未放
0023 E9               26              MOV   A,R1     ;按键已放开,指针载入A   
0024 1128             27              ACALL DISP     ;调用显示子程序           
0026 80DA             28              JMP   L1       ;                         
0028 900038           29       DISP:  MOV   DPTR,#TABLE ;数据指针指到TABLE
002B 93               30              MOVC  A,@A+ DPTR  ;恢罷ABLE取码
002C F580             31              MOV   P0,A     ;  输出 
002E 22               32              RET            ; 子程序返回              
002F 7F3C             33       DELAY: MOV   R7, #60  ;                            
0031 7EF8             34              MOV   R6, #248 ;        
0033 DEFE             35       DLY1:  DJNZ  R6, $    ;         
0035 DFFC             36              DJNZ  R7, DLY1 ;                           
0037 22               37              RET            ;                           
0038 C0F9A4B0         38       TABLE: DB  0C0H, 0F9H, 0A4H,0B0H ;   
003C 999282F8         39              DB  99H,  92H,  82H, 0F8H ;       
0040 80908883         40              DB  80H,  90H,  88H, 83H  ;        
0044 C6A1868E         41              DB  0C6H, 0A1H, 86H, 8EH  ;                 
                      42              END        ;                            
                                                   
                             
                             
A51 MACRO ASSEMBLER  JP02                                                                 01/07/2007 11:31:14 PAGE     2

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


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

D1 . . . . . . . .  C ADDR   001EH   A   
DELAY. . . . . . .  C ADDR   002FH   A   
DISP . . . . . . .  C ADDR   0028H   A   
DLY1 . . . . . . .  C ADDR   0033H   A   
KEY. . . . . . . .  C ADDR   001CH   A   
L1 . . . . . . . .  C ADDR   0002H   A   
L2 . . . . . . . .  C ADDR   0006H   A   
L3 . . . . . . . .  C ADDR   000FH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
START. . . . . . .  C ADDR   0000H   A   
TABLE. . . . . . .  C ADDR   0038H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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