📄 led.lst
字号:
A51 MACRO ASSEMBLER LED 09/16/2006 15:24:16 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN led.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE led.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 org 0000h
0000 802E 2 jmp start
0030 3 org 0030h ;主程序从这个地址开始存放
0030 4 start:
0030 90004E 5 mov dptr,#table ;将表格的首地址送DPTR
0033 E4 6 loop: clr a
0034 93 7 movc a,@a+dptr ;读取表格首地址的内容
0035 B40102 8 cjne a,#01h,loop1 ;查看是否是01H.如果是01H,重新开始循环
0038 80F6 9 jmp start
003A F580 10 loop1:mov p0,a ;将要显示的代码送P0口
003C 7C14 11 mov r4,#20 ;延时200ms(0.2S)
003E 1143 12 call delay ;调用延时
0040 A3 13 inc dptr ;DPTR加1,为读取下一个地址的内容作准备
0041 80F0 14 jmp loop
15 ;************** 延时子程序 ****************
0043 16 delay:
0043 7914 17 mov r1,#20 ;延时10ms子程序
0045 7AC8 18 d1: mov r2,#200
0047 DAFE 19 djnz r2,$
0049 D9FA 20 djnz r1,d1
004B DCF6 21 djnz r4,delay
004D 22 22 ret
004E FEFDFBF7 23 table:db 0feh,0fdh,0fbh,0f7h ;左移
0052 EFDFBF7F 24 db 0efh,0dfh,0bfh,07fh
0056 FEFDFBF7 25 db 0feh,0fdh,0fbh,0f7h ;左移
005A EFDFBF7F 26 db 0efh,0dfh,0bfh,07fh
005E E7DBBD7E 27 db 0e7h,0dbh,0bdh,07eh
0062 FF7EBDDB 28 db 0ffh,07eh,0bdh,0dbh
0066 E7FF 29 db 0e7h,0ffh
0068 7FBFDFEF 30 db 7fh,0bfh,0dfh,0efh ;右移
006C F7FBFDFE 31 db 0f7h,0fbh,0fdh,0feh
0070 7FBFDFEF 32 db 7fh,0bfh,0dfh,0efh ;右移
0074 F7FBFDFE 33 db 0f7h,0fbh,0fdh,0feh
34 ;db 00h,00h,0ffh,0ffh,00h,00h,0ffh,0ffh ;闪烁2次
0078 01 35 db 01h ;结束码
36 end
A51 MACRO ASSEMBLER LED 09/16/2006 15:24:16 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
D1 . . . . . . . . C ADDR 0045H A
DELAY. . . . . . . C ADDR 0043H A
LOOP . . . . . . . C ADDR 0033H A
LOOP1. . . . . . . C ADDR 003AH A
P0 . . . . . . . . D ADDR 0080H A
START. . . . . . . C ADDR 0030H A
TABLE. . . . . . . C ADDR 004EH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -