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

📄 ex3-1.lst

📁 《PIC单片机应用开发典型模块》源代码及图片
💻 LST
字号:
A51 MACRO ASSEMBLER  EX3_1                                                                06/23/2007 16:45:41 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;--------------程序信息-----------------
                       2     ;文件名   : ex3-1.asm
                       3     ;版本     : 1.0
                       4     ;作者     :
                       5     ;修改时间 :
                       6     
                       7     ;--------------程序说明------------------
                       8     ;CHAP 3.1 独立式键盘输入实例
                       9     
                      10     ;-----------常量和变量声明---------------
                      11     
                      12     
                      13     ;--------------预定义--------------------
                      14     
0000                  15                    ORG 0000H
0000 020003           16                    LJMP START
                      17     
                      18     ;------------中断入口地址分配------------
                      19                    ;ORG 0003H
                      20                    ;LJMP INT0PRG
                      21                    ;ORG 000BH
                      22                    ;LJMP INT1PRG
                      23                    ;ORG 0013H;
                      24                    ;LJMP
                      25                    ;ORG 0030H
                      26     
0003                  27     START:
                      28     ;--------------初始化子程序--------------
0003 856081           29          MOV SP,60H;
                      30     ;--------------主程序--------------------
0006                  31     MAIN:
                      32     
0006 020006           33     LJMP MAIN
                      34     
                      35     
                      36     ;----------------子程序------------------
                      37     
                      38     ;----------------------------------------
                      39     ;          独立式键盘子程序
                      40     ;----------------------------------------
0009 7590FF           41     KEY :    MOV P1,#0FFH;          预读p0的准备
000C E590             42              MOV A,P1;              读p0口的值
000E FA               43              MOV R2,A;              保存p0口的值到R2
000F 120091           44              LCALL delay10ms        ;延时消抖
0012 7590FF           45              MOV P1,#0FFH;;         
0015 E590             46              MOV A,P1;              再读p0口的值
                      47              ;CJNE A,R2,KEY;         与上次保存的值相比较
0017 B40103           48              CJNE A,#01H,KEY2;      判断是不是键1
001A 02004A           49              LJMP PKEY1;            如果是键1按下则调转到其键执行程序处
001D B40203           50     KEY2:    CJNE A,#02H,KEY3;      判断是不是键2
0020 020055           51              LJMP PKEY2;            如果是键2按下则跳转到其键执行程序处
0023 B40403           52     KEY3:    CJNE A,#04H,KEY4;
0026 02005D           53              LJMP PKEY3;
0029 B40803           54     KEY4:    CJNE A,#08H,KEY5;
002C 02005D           55              LJMP PKEY3;
002F B41003           56     KEY5:    CJNE A,#10H,KEY6;
0032 02005D           57              LJMP PKEY3;
0035 B42003           58     KEY6:    CJNE A,#20H,KEY7;
A51 MACRO ASSEMBLER  EX3_1                                                                06/23/2007 16:45:41 PAGE     2

0038 02005D           59              LJMP PKEY3;
003B B44003           60     KEY7:    CJNE A,#40H,KEY8;
003E 02005D           61              LJMP PKEY3;       
0041 B48003           62     KEY8:    CJNE A,#80H,RETURN;    如果都不是则重新读键值
0044 020085           63              LJMP PKEY8;
0047 020090           64     RETURN:  LJMP KEYEND;      
                      65      
004A 75A0FF           66     PKEY1:   MOV P2,#0FFH;         键1的执行程序
004D C2A0             67               CLR P2.0;              P2.0口接的LED灯亮1S
004F 12009E           68                LCALL delay1s;
0052 020090           69                LJMP KEYEND;
0055 75A0FF           70     PKEY2:   MOV P2,#0FFH;        
0058 C2A1             71               CLR P2.1;            
005A 12009E           72               LCALL delay1s;
005D 75A0FF           73     PKEY3:   MOV P2,#0FFH;       
0060 C2A2             74               CLR P2.2;            
0062 12009E           75               LCALL delay1s;
0065 75A0FF           76     PKEY4:   MOV P2,#0FFH;       
0068 C2A3             77               CLR P2.3;            
006A 12009E           78               LCALL delay1s;
006D 75A0FF           79     PKEY5:   MOV P2,#0FFH;       
0070 C2A4             80               CLR P2.4;           
0072 12009E           81               LCALL delay1s;
0075 75A0FF           82     PKEY6:   MOV P2,#0FFH;       
0078 C2A5             83               CLR P2.5;              
007A 12009E           84               LCALL delay1s;
007D 75A0FF           85     PKEY7:   MOV P2,#0FFH;        
0080 C2A6             86               CLR P2.6;              
0082 12009E           87               LCALL delay1s;
0085 75A0FF           88     PKEY8:   MOV P2,#0FFH;        
0088 C2A7             89               CLR P2.7;             
008A 12009E           90               LCALL delay1s;
008D 020090           91     LJMP KEYEND;
                      92     
0090 22               93     KEYEND: RET;                   子程序结尾
                      94     
                      95     ;--------------中断子程序----------------
                      96     
                      97     ;---------------延时子程序---------------
0091 7D02             98     DELAY10MS: MOV R5,#02H;
0093 7EF4             99      DELAY10: MOV R6,#00F4H;
0095 7FFF            100      DELAY11: MOV R7,#0FFH;
0097 DFFE            101      DELAY12: DJNZ R7,DELAY12;
0099 DEFA            102             DJNZ R6,DELAY11;
009B DDF6            103             DJNZ R5,DELAY10;
009D 22              104             RET;
009E 7D04            105     DELAY1S: MOV R5,#04H;
00A0 7EF4            106      DELAY00: MOV R6,#00F4H;
00A2 7FFF            107      DELAY01: MOV R7,#0FFH;
00A4 DFFE            108      DELAY02: DJNZ R7,DELAY02;
00A6 DEFA            109             DJNZ R6,DELAY01;
00A8 DDF6            110             DJNZ R5,DELAY00;
00AA 22              111             RET;
                     112     END
                             
                             ;---------------注意事项-----------------
                             
A51 MACRO ASSEMBLER  EX3_1                                                                06/23/2007 16:45:41 PAGE     3

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


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

DELAY00. . . . . .  C ADDR   00A0H   A   
DELAY01. . . . . .  C ADDR   00A2H   A   
DELAY02. . . . . .  C ADDR   00A4H   A   
DELAY10. . . . . .  C ADDR   0093H   A   
DELAY10MS. . . . .  C ADDR   0091H   A   
DELAY11. . . . . .  C ADDR   0095H   A   
DELAY12. . . . . .  C ADDR   0097H   A   
DELAY1S. . . . . .  C ADDR   009EH   A   
KEY. . . . . . . .  C ADDR   0009H   A   
KEY2 . . . . . . .  C ADDR   001DH   A   
KEY3 . . . . . . .  C ADDR   0023H   A   
KEY4 . . . . . . .  C ADDR   0029H   A   
KEY5 . . . . . . .  C ADDR   002FH   A   
KEY6 . . . . . . .  C ADDR   0035H   A   
KEY7 . . . . . . .  C ADDR   003BH   A   
KEY8 . . . . . . .  C ADDR   0041H   A   
KEYEND . . . . . .  C ADDR   0090H   A   
MAIN . . . . . . .  C ADDR   0006H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
PKEY1. . . . . . .  C ADDR   004AH   A   
PKEY2. . . . . . .  C ADDR   0055H   A   
PKEY3. . . . . . .  C ADDR   005DH   A   
PKEY4. . . . . . .  C ADDR   0065H   A   
PKEY5. . . . . . .  C ADDR   006DH   A   
PKEY6. . . . . . .  C ADDR   0075H   A   
PKEY7. . . . . . .  C ADDR   007DH   A   
PKEY8. . . . . . .  C ADDR   0085H   A   
RETURN . . . . . .  C ADDR   0047H   A   
SP . . . . . . . .  D ADDR   0081H   A   
START. . . . . . .  C ADDR   0003H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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