📄 lamp1.lst
字号:
A51 MACRO ASSEMBLER LAMP1 06/03/2005 20:52:34 PAGE 1
MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\lamp1.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\lamp1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2 ;用移位方式实现流水灯
3 ;///////////////////////////////////////////
0000 4 org 00h ;程序上电从00h开始
0000 0130 5 ajmp main ;跳转到主程序
0030 6 org 0030h ;主程序起始地址
0030 7 main:
8 ; mov p2,#0f0h
0030 74FE 9 mov a,#0feh ;给A赋值成11111110
0032 10 loop:
0032 F580 11 mov p0,a ;将A送到P1口,发光二极管低电平点亮
0034 12003A 12 lcall delay ;调用延时子程序
0037 23 13 rl a ;累加器A循环左移一位
0038 0132 14 ajmp loop ;重新送P1显示
003A 15 delay:
003A 7B14 16 mov r3,#20 ;最外层循环二十次
003C 17 d1:
003C 7C50 18 mov r4,#80 ;次外层循环八十次
003E 19 d2:
003E 7DFA 20 mov r5,#250 ;最内层循环250次
0040 DDFE 21 djnz r5,$ ;总共延时2us*250*80*20=0.8S
0042 DCFA 22 djnz r4,d2
0044 DBF6 23 djnz r3,d1
0046 22 24 ret
25 end
A51 MACRO ASSEMBLER LAMP1 06/03/2005 20:52:34 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
D1 . . . . . . . . C ADDR 003CH A
D2 . . . . . . . . C ADDR 003EH A
DELAY. . . . . . . C ADDR 003AH A
LOOP . . . . . . . C ADDR 0032H A
MAIN . . . . . . . C ADDR 0030H A
P0 . . . . . . . . D ADDR 0080H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -