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

📄 key.lst

📁 关于51单片机学习的基本样例程序
💻 LST
字号:
A51 MACRO ASSEMBLER  KEY                                                                  06/23/2007 09:43:50 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;-----------------------------------
                       2     ;                   受控输出实例2
                       3     ;功能:中断方式检测按键状态,8只LED显示按键被按下次数的二进制值
                       4     ;-----------------------------------
  00B2                 5     KEY_PIN         EQU                     P3.2
  0030                 6     COUNT                   DATA            30H
                       7     
0000                   8     ORG     0000H                   ;伪指令,指定程序从0000H开始存放
0000 020100            9     LJMP    MAIN                    ;跳转指令,程序跳转到MAIN处
0003                  10     ORG     0003H                   ;伪指令,外部中断0中断程序入口地址
0003 020123           11     LJMP    KEY_INT                 ;跳转指令,程序跳转到KEY_INT处
                      12     
0100                  13     ORG     0100H                   ;伪指令,指定以下程序从0100H开始存放
0100                  14     MAIN:
0100 758160           15             MOV     SP,#60H         ;给堆栈指针赋初值
0103 D2B2             16             SETB    KEY_PIN         ;置一P3.2,初始化输入口
0105 7530FF           17             MOV     COUNT,#0FFH     ;给计数变量COUNT赋初值
0108 853090           18             MOV     P1,COUNT        ;给P1赋初值,LED全灭
                      19     
010B 120119           20             LCALL   X0_INIT         ;调用外部中断0初始化子程序
                      21     
010E 80FE             22             SJMP    $                       ;程序原地跳转,等待中断
                      23     
                      24     ;延时10MS子程序
0110                  25     DELAY10MS:
0110 7F14             26             MOV     R7,#20
0112                  27     DELAY0:
0112 7EFA             28             MOV     R6,#250
0114 DEFE             29             DJNZ    R6,$
0116 DFFA             30             DJNZ    R7,DELAY0
0118 22               31             RET
                      32     
0119                  33     X0_INIT:
                      34     ;---------------------------------
                      35     ;     外部中断0初始化子程序
                      36     ;---------------------------------
0119 758801           37             MOV     TCON,#01H       ;外部中断0为下降沿触发
011C 75B801           38             MOV     IP,#01H         ;外部中断0为高优先级
011F 75A881           39             MOV     IE,#81H         ;允许外部中断0
0122 22               40             RET
                      41     
0123                  42     KEY_INT:
                      43     ;---------------------------------
                      44     ;     外部中断0服务程序
                      45     ;---------------------------------
0123 C0D0             46             PUSH    PSW
0125 D2D4             47             SETB    RS1
0127 120110           48             LCALL   DELAY10MS       ;延时10MS,按键抖动消除
012A A2B2             49             MOV     C,KEY_PIN
012C 4005             50             JC              KEY_INT_EXIT
012E 1530             51             DEC             COUNT           ;按键被按下,计数加一
0130 853090           52             MOV     P1,COUNT        ;LED输出显示 
0133                  53     KEY_INT_EXIT:
0133 D0D0             54             POP     PSW
0135 32               55             RETI
                      56     
                      57     END 
                             
A51 MACRO ASSEMBLER  KEY                                                                  06/23/2007 09:43:50 PAGE     2

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


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

COUNT. . . . . . .  D ADDR   0030H   A   
DELAY0 . . . . . .  C ADDR   0112H   A   
DELAY10MS. . . . .  C ADDR   0110H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
IP . . . . . . . .  D ADDR   00B8H   A   
KEY_INT. . . . . .  C ADDR   0123H   A   
KEY_INT_EXIT . . .  C ADDR   0133H   A   
KEY_PIN. . . . . .  B ADDR   00B0H.2 A   
MAIN . . . . . . .  C ADDR   0100H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
SP . . . . . . . .  D ADDR   0081H   A   
TCON . . . . . . .  D ADDR   0088H   A   
X0_INIT. . . . . .  C ADDR   0119H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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