📄 ds02.lst
字号:
A51 MACRO ASSEMBLER DS02 01/07/2007 12:54:36 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN DS02.OBJ
ASSEMBLER INVOKED BY: C:\Keil7.06\C51\BIN\A51.EXE DS02.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2 ;文件名:DS02.ASM
3 ;程序功能:定时器加软件计数延时
4
0000 7806 5 START: MOV R0, #6 ;设左移6次
0002 74FE 6 MOV A, #11111110B ;存入开始点亮灯位置
0004 F590 7 LOOP: MOV P1, A ;传送到P1并输出
0006 110D 8 ACALL DELAY ;调延时子程序
0008 23 9 RL A ;左移一位
0009 D8F9 10 DJNZ R0, LOOP ;判断移动次数
000B 80F3 11 JMP START ;重新设定显示值 主程序
000D 79C8 12 DELAY: MOV R1,#200 ;设置软件计数初值
000F 758901 13 MOV TMOD,#00000001B; 设定TO工作在MODE1
0012 D28C 14 SETB TR0 ; 启动TO开始计时
0014 758AA0 15 AGAIN: MOV TL0,#LOW(65536-60000) ; 装入低位
0017 758C15 16 MOV TH0,#HIGH(65536-60000); 装入高位
001A 108D02 17 LOOP1: JBC TF0,LOOP2 ;TF0是1转移至LOOP2并清0
001D 80FB 18 JMP LOOP1
001F D9F3 19 LOOP2: DJNZ R1,AGAIN ;R1不是0,则转移至AGAIN (定时加软
0021 C28C 20 CLR TR0 ;是,则停止T0计时 件计数)
0023 22 21 RET ; 子程序返回 延时子程序
22 END ; 程序结束
A51 MACRO ASSEMBLER DS02 01/07/2007 12:54:36 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AGAIN. . . . . . . C ADDR 0014H A
DELAY. . . . . . . C ADDR 000DH A
LOOP . . . . . . . C ADDR 0004H A
LOOP1. . . . . . . C ADDR 001AH A
LOOP2. . . . . . . C ADDR 001FH A
P1 . . . . . . . . D ADDR 0090H A
START. . . . . . . C ADDR 0000H A
TF0. . . . . . . . B ADDR 0088H.5 A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -