基于Proteus的51系列单片机设计与仿真
源代码在线查看: 定时计数器的应用(一).lst
A51 MACRO ASSEMBLER 禵蔩计数芲的觃用_一_ 05/02/2008 22:49:59 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN 定时计数器的应用(一).OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 定时计数器的应用(一).ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 ORG 0000H
0000 020100 2 LJMP MAIN
0100 3 ORG 0100H
0100 758160 4 MAIN: MOV SP,#60H ;初始化堆栈
5 ;给定时器0赋初值
0103 758901 6 MOV TMOD,#001H ;使用16位模式[方式1 M1=0 M0=1]
0106 758C4C 7 MOV TH0,#04CH ;初始化定时器0的溢出间隔时间为50ms
0109 758A00 8 MOV TL0,#000H ;TH为位 TL为低位
010C D28C 9 SETB TR0 ;启用定时器0
010E D280 10 SETB P0.0
0110 C281 11 CLR P0.1
0112 7F00 12 MOV R7,#00H ;用R7计数
0114 308DFD 13 LOOP: JNB TF0,LOOP ;当计数溢出进时硬件置位TF0为1向下执行否则调用LOOP
0117 758C4C 14 MOV TH0,#04CH ;初始化定时器0的溢出间隔时间
011A 758A00 15 MOV TL0,#000H ;TH为位 TL为低位
011D 0F 16 INC R7
011E C28D 17 CLR TF0
0120 BF14F1 18 CJNE R7,#14H,LOOP
0123 3127 19 ACALL LOOP1 ;20次循环闪一次
0125 2114 20 AJMP LOOP
0127 7F00 21 LOOP1: MOV R7,#00H
0129 B280 22 CPL P0.0 ;让接P0.0上的发光二极管按50ms闪烁
012B B281 23 CPL P0.1
012D 22 24 RET
25 END
A51 MACRO ASSEMBLER 禵蔩计数芲的觃用_一_ 05/02/2008 22:49:59 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
LOOP . . . . . . . C ADDR 0114H A
LOOP1. . . . . . . C ADDR 0127H A
MAIN . . . . . . . C ADDR 0100H A
P0 . . . . . . . . D ADDR 0080H A
SP . . . . . . . . D ADDR 0081H 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)