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

📄 ex3-4.lst

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


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

LOC  OBJ            LINE     SOURCE

                       1     ;--------------程序信息-----------------
                       2     ;文件名   : ex3-4.asm
                       3     ;版本     : 1.0
                       4     ;作者     :
                       5     ;修改时间 :
                       6     
                       7     ;--------------程序说明------------------
                       8     ;CHAP 3.4 定时中断方式键盘输入实例
                       9     
                      10     ;-----------常量和变量声明---------------
  0000                11                     F1 BIT 00H;          标志位定义
  0001                12                     F2 BIT 01H;
  0090                13                     KEYIN EQU P1;
                      14     
                      15     
                      16     ;--------------预定义--------------------
                      17     
0000                  18                    ORG 0000H
0000 02000E           19                    LJMP START
                      20     
                      21     ;------------中断入口地址分配------------
000B                  22                    ORG 000BH
000B 020029           23                    LJMP INTT0PRG
                      24                    ;ORG 000BH
                      25                    ;LJMP INT1PRG
                      26                    ;ORG 0013H;
                      27                    ;LJMP
                      28                    ;ORG 0030H
                      29     
000E                  30     START:
                      31     ;--------------初始化子程序--------------
000E 856081           32          MOV SP,60H;
0011 120019           33          LCALL INITINTT0;
                      34     ;--------------主程序--------------------
0014                  35     MAIN:
0014 80FE             36           SJMP $;            等待中断
                      37                           
0016 020014           38     LJMP MAIN
                      39     
                      40     
                      41     ;----------------子程序------------------
                      42     
                      43     ;--------------中断子程序----------------
                      44     
                      45     ;--------------------
                      46     ;    定时扫描方式T0中断初始化子程序部分
                      47     ;    单片机时钟频率为12M
                      48     ;--------------------
0019                  49     INITINTT0:
0019 758901           50             MOV TMOD,#01H;     设置定时器工作方式1
001C 758AF0           51             MOV TL0,#0F0H;      设置定制器初始值
001F 758CD8           52             MOV TH0,#0D8H;
0022 D28C             53             SETB TR0;            启动T0
0024 D2A9             54             SETB ET0;            允许T0中断
0026 D2AF             55             SETB EA;             CPU中断允许
0028 22               56             RET;
                      57     
                      58     ;---------------------------------
A51 MACRO ASSEMBLER  EX3_4                                                                06/23/2007 17:03:21 PAGE     2

                      59     ;    定时扫描方式T0中断服务子程序部分
                      60     ;---------------------------------
0029                  61     INTT0PRG:
0029 758AF0           62                     MOV TL0,#0F0H;      设置定制器初始值
002C 758CD8           63                     MOV TH0,#0D8H;
002F 75900F           64                     MOV KEYIN,#0FH;     所有列置高电平
0032 E590             65                     MOV A,KEYIN;        读取行值
0034 B40F07           66                     CJNE A,#0FH,HAVEKEY;        判断有无键按下
0037 C200             67                     CLR F1;
0039 C201             68                     CLR F2;
003B 02004E           69                     LJMP INTT0END;
003E                  70     HAVEKEY:                     
003E 200005           71                     JB F1,DITHERED;      判断是否去抖
0041 D200             72                     SETB F1;
0043 02004E           73                     LJMP INTT0END;
0046                  74     DITHERED:
0046 300103           75                     JNB F2,SCANED;       判断是否进行了按键识别
0049 02004E           76                     LJMP INTT0END;
004C                  77     SCANED:
004C D201             78                     SETB F2;
004E                  79     SCANKEY:                     ;按键识别,可采用上两例中的线反选法和扫描法
                      80                                  ;按键执行,调用KEYEXE;
004E                  81     INTT0END: 
004E 32               82     RETI;
                      83     
                      84     ;---------------延时子程序---------------
                      85     
                      86     END
                             
                             ;---------------注意事项-----------------
                             
A51 MACRO ASSEMBLER  EX3_4                                                                06/23/2007 17:03:21 PAGE     3

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


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

DITHERED . . . . .  C ADDR   0046H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
F1 . . . . . . . .  B ADDR   0020H.0 A   
F2 . . . . . . . .  B ADDR   0020H.1 A   
HAVEKEY. . . . . .  C ADDR   003EH   A   
INITINTT0. . . . .  C ADDR   0019H   A   
INTT0END . . . . .  C ADDR   004EH   A   
INTT0PRG . . . . .  C ADDR   0029H   A   
KEYIN. . . . . . .  D ADDR   0090H   A   
MAIN . . . . . . .  C ADDR   0014H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
SCANED . . . . . .  C ADDR   004CH   A   
SCANKEY. . . . . .  C ADDR   004EH   A   
SP . . . . . . . .  D ADDR   0081H   A   
START. . . . . . .  C ADDR   000EH   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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