t01led.lst

来自「可以熟悉51单片机中断机制 大大方便学习51单片机」· LST 代码 · 共 127 行

LST
127
字号
A51 MACRO ASSEMBLER  T01LED                                                               02/14/2008 18:04:51 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;********************************************************************************
                       2     ;流水灯 (双定时中断)    P0、P2 LED显示                                        *
                       3     ;********************************************************************************
                       4     ;*  日期:  2008-2-25                                                            *
                       5     ;*  版本:  3.0                                                                  *
                       6     ;*  作者:  深圳志博电子有限公司     专业8051单片机教学站                        *
                       7     ;*  邮箱: zty0012001@163.com                                                       *
                       8     ;*  网站: http://www.elecmcu.com     http://www.elecmcu.com    更多例程请登陆网站   *
                       9     ;********************************************************************************
                      10     ;*  硬件:此程序在本公司志博电子实验仪运行通过                           *
                      11     ;********************************************************************************
                      12     ;* 【版权】 Copyright(C)深圳志博电子有限公司 www.elecmcu.com  All Rights Reserved *
                      13     ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
                      14     ;********************************************************************************
  00A0                15              LED0 BIT P2.0
  00A1                16              LED1 BIT P2.1
0000                  17              ORG 0000H
0000 0130             18              AJMP MAIN
000B                  19              ORG 000BH       ;定时器0的中断向量地址
000B 015C             20              AJMP TIME0
001B                  21              ORG 001BH       ;定时器1的中断向量地址
001B 0177             22              AJMP TIME1
0030                  23              ORG 0030H
                      24     ;**********************************************************
0030                  25     MAIN:
0030 75A000           26              MOV  P2,#000H
0033 753000           27              MOV 30H,#00H     ;计数器单元清0
0036 754000           28              MOV 40H,#00H
0039 7531FE           29              MOV 31H,#0FEH    ;置扫描初值
003C 7541FE           30              MOV 41H,#0FEH
003F 758911           31              MOV TMOD,#11H    ;定时/计数器工作于方式1
0042 758CA6           32              MOV TH0,#0A6H
0045 758A00           33              MOV TL0,#00H     ;25ms定时常数
0048 758D4C           34              MOV TH1,#4CH
004B 758B00           35              MOV TL1,#00H     ;50ms定时常数
004E D2B9             36              SETB  PT0        ;定义TIMER0优先
0050 D2AF             37              SETB  EA         ;开总中断
0052 D2A9             38              SETB  ET0        ;允许定时/计数器0 中断
0054 D2AB             39              SETB  ET1        ;允许定时/计数器1 中断
0056 D28C             40              SETB  TR0        ;启动定时/计数器0 中断
0058 D28E             41              SETB  TR1        ;启动定时/计数器1 中断
005A                  42     LOOP:
005A 015A             43              AJMP LOOP         
                      44     ;*********************************************************
                      45     ;定时器0的中断服务程序
                      46     ;*********************************************************
005C                  47     TIME0:
005C C0E0             48              PUSH ACC
005E C0D0             49              PUSH PSW           ;将PSW和ACC推入堆栈保护
0060 758CA6           50              MOV TH0,#0A6H
0063 758A00           51              MOV TL0,#00H       ;重置定时常数
0066 0530             52              INC 30H
0068 E530             53              MOV A,30H
006A B40A05           54              CJNE A,#10,T0_END   ;30H单元中的值到10了吗?
006D 753000           55              MOV 30H,#00H       ;清计数器
0070 B2A0             56              CPL LED0
0072                  57     T0_END:
0072 D0D0             58              POP PSW
A51 MACRO ASSEMBLER  T01LED                                                               02/14/2008 18:04:51 PAGE     2

0074 D0E0             59              POP ACC
0076 32               60              RETI        
                      61     ;*********************************************************
                      62     ;定时器1的中断服务程序
                      63     ;*********************************************************
0077                  64     TIME1:
0077 C0E0             65              PUSH ACC
0079 C0D0             66              PUSH PSW            ;将PSW和ACC推入堆栈保护
007B 758D4C           67              MOV TH1,#4CH
007E 758B00           68              MOV TL1,#00H        ;重置定时常数
0081 0540             69              INC 40H
0083 E540             70              MOV A,40H
0085 B42805           71              CJNE A,#40,T1_END   ;40H单元中的值到10了吗?
0088 754000           72              MOV 40H,#00H        ;清计数器
008B B2A1             73              CPL LED1
008D                  74     T1_END:
008D D0D0             75              POP PSW
008F D0E0             76              POP ACC
0091 32               77              RETI
                      78     ;*********************************************************
                      79              END
A51 MACRO ASSEMBLER  T01LED                                                               02/14/2008 18:04:51 PAGE     3

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
ET1. . . . . . . .  B ADDR   00A8H.3 A   
LED0 . . . . . . .  B ADDR   00A0H.0 A   
LED1 . . . . . . .  B ADDR   00A0H.1 A   
LOOP . . . . . . .  C ADDR   005AH   A   
MAIN . . . . . . .  C ADDR   0030H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
T0_END . . . . . .  C ADDR   0072H   A   
T1_END . . . . . .  C ADDR   008DH   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TIME0. . . . . . .  C ADDR   005CH   A   
TIME1. . . . . . .  C ADDR   0077H   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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