flash5times.lst

来自「十五个关于AT89S51的源代码」· LST 代码 · 共 64 行

LST
64
字号
A51 MACRO ASSEMBLER  FLASH5TIMES                                                          08/27/2007 21:34:51 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN flash5times.OBJ
ASSEMBLER INVOKED BY: E:\Program files\Keil\C51\BIN\A51.EXE flash5times.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                       2     ;
                       3     ;实例三:闪烁5次的发光二极管  Flash five times  (《51单片机应用从零开始》 2.4小节实例)
                       4     ;
                       5     ;现象:P1.0口上的发光二极管闪烁5次后熄灭,直到再按下按键S7后,又开始闪烁
                       6     ;
                       7     ;作者:杨欣,刘长焕,张延强  电路飞翔网    eedesign@163.com
                       8     ;
                       9     ;                               http://www.circuitfly.com
                      10     ;
                      11     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      12     
                      13     
0000                  14                             ORG     00H             ; 设置起始地址
0000                  15     START:                                          
0000 7805             16                             MOV     R0, #5          ; 闪烁计数器
0002                  17     LOOP:
0002 759000           18                             MOV     P1,#00H         ; 向P1口输出低电平,使发光二极管点亮
0005 1113             19                             CALL    DELAY           ; 调用延时子程序
0007 7590FF           20                             MOV     P1,#0FFH        ; 向P1口输出高电平,使发光二极管熄灭
000A 1113             21                             CALL    DELAY           ; 调用延时子程序
000C D8F4             22                             DJNZ    R0, LOOP        ; 循环执行5次
000E 20A4FD           23                             JB      P2.4, $         ; 如果按键S7没有按下,则循环等待
0011 80ED             24                             JMP     START           ; 按键按下后,再闪烁5次
                      25             
0013 7B32             26     DELAY:                  MOV     R3,#50          ; 延时子程序(500ms)
0015 7C14             27     D1:                     MOV     R4,#20
0017 7DF8             28     D2:                     MOV     R5,#248
0019 DDFE             29                             DJNZ    R5,$
001B DCFA             30                             DJNZ    R4,D2
001D DBF6             31                             DJNZ    R3,D1
001F 22               32                             RET                     ; 返回主程序
                      33                             END                     ; 汇编程序结束
A51 MACRO ASSEMBLER  FLASH5TIMES                                                          08/27/2007 21:34:51 PAGE     2

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


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

D1 . . . . . . . .  C ADDR   0015H   A   
D2 . . . . . . . .  C ADDR   0017H   A   
DELAY. . . . . . .  C ADDR   0013H   A   
LOOP . . . . . . .  C ADDR   0002H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
START. . . . . . .  C ADDR   0000H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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