📄 io_loop.lst
字号:
A51 MACRO ASSEMBLER IO_LOOP 11/09/2007 20:35:11 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN IO_LOOP.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE IO_LOOP.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 0000H
0000 2100 2 AJMP START
0100 3 ORG 0100H
4
5
6
0100 7 START:
0100 90011A 8 MOV DPTR, #TAB ;将显示码表的首地址赋给DPTR
0103 7808 9 MOV R0, #8 ;流水灯循环的状态次数
0105 C294 10 CLR P1.4 ;选中流水灯所接573锁存器
11
0107 12 LOOP:
13
0107 E8 14 MOV A, R0
0108 93 15 MOVC A, @A+DPTR ;查表找到码值
0109 F580 16 MOV P0, A ;将码值送到P0口上
010B 3111 17 CALL DELAY ;延时一端时间
010D D8F8 18 DJNZ R0, LOOP ;判断循环有没有做完
010F 2100 19 AJMP START ;重新开始新一次的循环
20
21
0111 22 DELAY: ;定义延时程序
0111 7BFF 23 MOV R3, #255
0113 7CFF 24 LL1: MOV R4, #255
0115 DCFE 25 DJNZ R4, $
0117 DBFA 26 DJNZ R3, LL1
0119 22 27 RET
28
29
011A FFFEFDFB 30 TAB: DB 0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH ;定义码表
011E F7EFDFBF
0122 7F
31
32 END
A51 MACRO ASSEMBLER IO_LOOP 11/09/2007 20:35:11 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY. . . . . . . C ADDR 0111H A
LL1. . . . . . . . C ADDR 0113H A
LOOP . . . . . . . C ADDR 0107H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
START. . . . . . . C ADDR 0100H A
TAB. . . . . . . . C ADDR 011AH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -