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 + -
显示快捷键?