📄 t.lst
字号:
A51 MACRO ASSEMBLER T 11/11/2008 09:34:01 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN t.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE t.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;-----------------------------------------------------
2 ;定义寄存器地址
00D9 3 CMOD EQU 0D9H
00D8 4 CCON EQU 0D8H
00F9 5 CH EQU 0F9H
00E9 6 CL EQU 0E9H
00DA 7 CCAPM0 EQU 0DAH
00FA 8 CCAP0H EQU 0FAH
00EA 9 CCAP0L EQU 0EAH
00DE 10 CR EQU CCON.6
00D8 11 CCF0 EQU CCON.0
12 ;------------------------------------------------------
0000 13 ORG 0000H
0000 0150 14 AJMP MAIN
0033 15 ORG 0033H ;PCA中断入口
0033 016F 16 AJMP INTV
0050 17 ORG 0050H
0050 75D900 18 MAIN: MOV CMOD,#00H;设置PCA脉冲时钟为Fosc/12
0053 78EF 19 MOV R0,#0EFH
0055 8890 20 MOV P1,R0
0057 7900 21 MOV R1,#00H
22 ;--------------------------------------
23 ;PCA计数器清零
0059 75F900 24 MOV CH,#00H
005C 75E900 25 MOV CL,#00H
26 ;--------------------------------------
27 ;设置PCA比较/捕获模块寄存器值
005F 75EA03 28 MOV CCAP0L,#3
0062 75FAB4 29 MOV CCAP0H,#0B4H
30 ;--------------------------------------
31 ;设置PCA模式为比较:软件定时器
0065 75DA49 32 MOV CCAPM0,#49H
0068 75A8C0 33 MOV IE,#0C0H ;使能中断
006B D2DE 34 SETB CR ;PCA计数器开始计数
006D 016D 35 WAIT: AJMP WAIT ;等待中断
36 ;--------------------------------------
37 ;中断服务程序
006F E5A8 38 INTV: MOV A,IE ;停止中断
0071 54BF 39 ANL A,#0BFH
0073 F5A8 40 MOV IE,A
0075 C2D8 41 CLR CCF0 ;清中断标志
0077 75F900 42 MOV CH,#00H ;清计数器
007A 75E900 43 MOV CL,#00H
007D 09 44 INC R1
007E B9140C 45 CJNE R1,#14H,NEXT ;中断20次则执行下面程序,否则到NEXT开中断
0081 7900 46 MOV R1,#00H
0083 E8 47 MOV A,R0
0084 23 48 RL A
0085 F8 49 MOV R0,A
0086 B8FE02 50 CJNE R0,#0FEH,START ;判断第四个灯没亮过则点亮,否则转到第一个灯
0089 78EF 51 MOV R0,#0EFH
008B 8890 52 START:MOV P1,R0
008D E5A8 53 NEXT: MOV A,IE ;开中断
008F 4440 54 ORL A,#40H
0091 F5A8 55 MOV IE,A
0093 32 56 RETI
57
58 END
A51 MACRO ASSEMBLER T 11/11/2008 09:34:01 PAGE 2
A51 MACRO ASSEMBLER T 11/11/2008 09:34:01 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
CCAP0H . . . . . . N NUMB 00FAH A
CCAP0L . . . . . . N NUMB 00EAH A
CCAPM0 . . . . . . N NUMB 00DAH A
CCF0 . . . . . . . B ADDR 00D8H.0 A
CCON . . . . . . . N NUMB 00D8H A
CH . . . . . . . . N NUMB 00F9H A
CL . . . . . . . . N NUMB 00E9H A
CMOD . . . . . . . N NUMB 00D9H A
CR . . . . . . . . B ADDR 00D8H.6 A
IE . . . . . . . . D ADDR 00A8H A
INTV . . . . . . . C ADDR 006FH A
MAIN . . . . . . . C ADDR 0050H A
NEXT . . . . . . . C ADDR 008DH A
P1 . . . . . . . . D ADDR 0090H A
START. . . . . . . C ADDR 008BH A
WAIT . . . . . . . C ADDR 006DH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -