📄 ex10-4.lst
字号:
A51 MACRO ASSEMBLER EX10_4 11/30/2009 13:23:07 PAGE 1
MACRO ASSEMBLER A51 V8.01
OBJECT MODULE PLACED IN ex10-4.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ex10-4.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;$include (STC12C5A.INC) ;包含STC12C5A60S2单片机寄存器定义文件
+1 2 $nomod51
+1 3 +1 $save
+1 152 +1 $restore
153
0000 154 ORG 0000H
0000 020100 155 LJMP MAIN
0003 156 ORG 0003H
0003 02012A 157 LJMP INT0_ISR
0013 158 ORG 0013H
0013 020130 159 LJMP INT1_ISR
0100 160 ORG 0100H
0100 161 MAIN:
0100 758170 162 MOV SP,#70H
0103 7B00 163 MOV R3, #0 ;P1 LED递增方式变化, 表示程序开始运行
0105 164 MAIN_LOOP:
0105 EB 165 MOV A, R3
0106 F4 166 CPL A
0107 F590 167 MOV P1, A
0109 120135 168 LCALL DELAY
010C 0B 169 INC R3
010D EB 170 MOV A, R3
010E 9418 171 SUBB A, #18H
0110 40F3 172 JC MAIN_LOOP
0112 7590FF 173 MOV P1, #0FFH ;全部指示灯熄灭,表示进入掉电模式状态
0115 C288 174 CLR IT0 ;设置低电平激活外部中断
0117 D2A8 175 SETB EX0 ;允许外部中断0
0119 C28A 176 CLR IT1 ;设置低电平激活外部中断
011B D2AA 177 SETB EX1 ;允许外部中断1
011D D2AF 178 SETB EA ;开中断, 若不开中断,则不能从掉电模式中唤醒
179 ;下条语句将使CPU进入空闲状态或掉电状态
180 ;低电平激活外部中断可以将CPU从掉电状态中唤醒,方法为:将外部中断脚拉低
011F 758702 181 MOV PCON, #00000010B ;令PD=1, 进入掉电状态
182 ;如果要进入空闲状态, 则令IDL=1
0122 7590DF 183 MOV P1, #0DFH ;1101,1111B 请注意:
184 ; 1.外部中断使MCU退出 Power Down 状态,执行本条指令后响应中断
185 ; 表现为P1.5与P1.7 的LED 同时亮(INT0唤醒)
186 ; 2.外部中断使MCU退出 idle 状态,先响应中断然后再执行本条指令,
187 ; 表现为P1.7 的LED先亮(INT0唤醒),P1.5 的LED后亮
188 ; 3.实际使用掉电模式时,本语句应用NOP代替
0125 00 189 NOP ;实际使用掉电模式时,应在MOV PCON, #00000010B语句后多加几个NOP
0126 00 190 NOP
0127 00 191 NOP
0128 80FE 192 SJMP $ ;循环, 停机
012A 193 INT0_ISR: ;外部中断0服务程序
012A C297 194 CLR P1.7 ;点亮 P1.7 LED 表示已响应INT0 中断
012C 120135 195 LCALL DELAY ;延时是为了便于观察, 实际应用不需延时
012F 32 196 RETI
0130 197 INT1_ISR: ;外部中断1服务程序
0130 C296 198 CLR P1.6 ;点亮 P1.6 LED 表示已响应INT1中断
0132 3135 199 ACALL DELAY ;延时是为了便于观察, 实际应用不需延时
0134 32 200 RETI
0135 201 DELAY:
0135 E4 202 CLR A
0136 F8 203 MOV R0, A
0137 F9 204 MOV R1, A
0138 7A02 205 MOV R2, #02
013A 206 DELAY_LOOP:
A51 MACRO ASSEMBLER EX10_4 11/30/2009 13:23:07 PAGE 2
013A D8FE 207 DJNZ R0, DELAY_LOOP
013C D9FC 208 DJNZ R1, DELAY_LOOP
013E DAFA 209 DJNZ R2, DELAY_LOOP
0140 22 210 RET
211 END
A51 MACRO ASSEMBLER EX10_4 11/30/2009 13:23:07 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AC . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . D ADDR 00E0H A
ADC_CONTR. . . . . D ADDR 00BCH A
ADC_RES. . . . . . D ADDR 00BDH A
ADC_RESL . . . . . D ADDR 00BEH A
AUXR . . . . . . . D ADDR 008EH A
AUXR1. . . . . . . D ADDR 00A2H A
B. . . . . . . . . D ADDR 00F0H A
BRT. . . . . . . . D ADDR 009CH A
BUS_SPEED. . . . . D ADDR 00A1H A
CCAP0H . . . . . . D ADDR 00FAH A
CCAP0L . . . . . . D ADDR 00EAH A
CCAP1H . . . . . . D ADDR 00FBH A
CCAP1L . . . . . . D ADDR 00EBH A
CCAPM0 . . . . . . D ADDR 00DAH A
CCAPM1 . . . . . . D ADDR 00DBH A
CCF0 . . . . . . . B ADDR 00D8H.0 A
CCF1 . . . . . . . B ADDR 00D8H.1 A
CCON . . . . . . . D ADDR 00D8H A
CF . . . . . . . . B ADDR 00D8H.7 A
CH . . . . . . . . D ADDR 00F9H A
CL . . . . . . . . D ADDR 00E9H A
CLK_DIV. . . . . . D ADDR 0097H A
CMOD . . . . . . . D ADDR 00D9H A
CR . . . . . . . . B ADDR 00D8H.6 A
CY . . . . . . . . B ADDR 00D0H.7 A
DELAY. . . . . . . C ADDR 0135H A
DELAY_LOOP . . . . C ADDR 013AH A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
EA . . . . . . . . B ADDR 00A8H.7 A
EADC . . . . . . . B ADDR 00A8H.5 A
ELVD . . . . . . . B ADDR 00A8H.6 A
ES . . . . . . . . B ADDR 00A8H.4 A
ET0. . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . B ADDR 00A8H.3 A
EX0. . . . . . . . B ADDR 00A8H.0 A
EX1. . . . . . . . B ADDR 00A8H.2 A
F0 . . . . . . . . B ADDR 00D0H.5 A
F1 . . . . . . . . B ADDR 00D0H.1 A
IAP_ADDRH. . . . . D ADDR 00C3H A
IAP_ADDRL. . . . . D ADDR 00C4H A
IAP_CMD. . . . . . D ADDR 00C5H A
IAP_CONTR. . . . . D ADDR 00C7H A
IAP_DATA . . . . . D ADDR 00C2H A
IAP_TRIG . . . . . D ADDR 00C6H A
IE . . . . . . . . D ADDR 00A8H A
IE0. . . . . . . . B ADDR 0088H.1 A
IE1. . . . . . . . B ADDR 0088H.3 A
IE2. . . . . . . . D ADDR 00AFH A
INT0 . . . . . . . B ADDR 00B0H.2 A
INT0_ISR . . . . . C ADDR 012AH A
INT1 . . . . . . . B ADDR 00B0H.3 A
INT1_ISR . . . . . C ADDR 0130H A
IP . . . . . . . . D ADDR 00B8H A
IP2. . . . . . . . D ADDR 00B5H A
IP2H . . . . . . . D ADDR 00B6H A
IPH. . . . . . . . D ADDR 00B7H A
IT0. . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . B ADDR 0088H.2 A
A51 MACRO ASSEMBLER EX10_4 11/30/2009 13:23:07 PAGE 4
MAIN . . . . . . . C ADDR 0100H A
MAIN_LOOP. . . . . C ADDR 0105H A
OV . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . D ADDR 0080H A
P0M0 . . . . . . . D ADDR 0094H A
P0M1 . . . . . . . D ADDR 0093H A
P1 . . . . . . . . D ADDR 0090H A
P1ASF. . . . . . . D ADDR 009DH A
P1M0 . . . . . . . D ADDR 0092H A
P1M1 . . . . . . . D ADDR 0091H A
P2 . . . . . . . . D ADDR 00A0H A
P2M0 . . . . . . . D ADDR 0096H A
P2M1 . . . . . . . D ADDR 0095H A
P3 . . . . . . . . D ADDR 00B0H A
P3M0 . . . . . . . D ADDR 00B2H A
P3M1 . . . . . . . D ADDR 00B1H A
P4 . . . . . . . . D ADDR 00C0H A
P4M0 . . . . . . . D ADDR 00B4H A
P4M1 . . . . . . . D ADDR 00B3H A
P4SW . . . . . . . D ADDR 00BBH A
P5 . . . . . . . . D ADDR 00C8H A
P5M0 . . . . . . . D ADDR 00CAH A
P5M1 . . . . . . . D ADDR 00C9H A
PADC . . . . . . . B ADDR 00B8H.5 A
PCA_PWM0 . . . . . D ADDR 00F2H A
PCA_PWM1 . . . . . D ADDR 00F3H A
PCON . . . . . . . D ADDR 0087H A
PLVD . . . . . . . B ADDR 00B8H.6 A
PPCA . . . . . . . B ADDR 00B8H.7 A
PS . . . . . . . . B ADDR 00B8H.4 A
PSW. . . . . . . . D ADDR 00D0H A
PT0. . . . . . . . B ADDR 00B8H.1 A
PT1. . . . . . . . B ADDR 00B8H.3 A
PX0. . . . . . . . B ADDR 00B8H.0 A
PX1. . . . . . . . B ADDR 00B8H.2 A
RB8. . . . . . . . B ADDR 0098H.2 A
REG0 . . . . . . . D ADDR 0000H A
REG1 . . . . . . . D ADDR 0001H A
REG2 . . . . . . . D ADDR 0002H A
REG3 . . . . . . . D ADDR 0003H A
REG4 . . . . . . . D ADDR 0004H A
REG5 . . . . . . . D ADDR 0005H A
REG6 . . . . . . . D ADDR 0006H A
REG7 . . . . . . . D ADDR 0007H A
REGB . . . . . . . D ADDR 00F0H A
REN. . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . B ADDR 0098H.0 A
RS0. . . . . . . . B ADDR 00D0H.3 A
RS1. . . . . . . . B ADDR 00D0H.4 A
RXD. . . . . . . . B ADDR 00B0H.0 A
S2BUF. . . . . . . D ADDR 009BH A
S2CON. . . . . . . D ADDR 009AH A
SADDR. . . . . . . D ADDR 00A9H A
SADEN. . . . . . . D ADDR 00B9H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SM0. . . . . . . . B ADDR 0098H.7 A
SM1. . . . . . . . B ADDR 0098H.6 A
SM2. . . . . . . . B ADDR 0098H.5 A
SP . . . . . . . . D ADDR 0081H A
SPCTL. . . . . . . D ADDR 00CEH A
SPDAT. . . . . . . D ADDR 00CFH A
SPSTAT . . . . . . D ADDR 00CDH A
T0 . . . . . . . . B ADDR 00B0H.4 A
T1 . . . . . . . . B ADDR 00B0H.5 A
A51 MACRO ASSEMBLER EX10_4 11/30/2009 13:23:07 PAGE 5
TB8. . . . . . . . B ADDR 0098H.3 A
TCON . . . . . . . D ADDR 0088H A
TEST_WDT . . . . . D ADDR 00A7H A
TF0. . . . . . . . B ADDR 0088H.5 A
TF1. . . . . . . . B ADDR 0088H.7 A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . D ADDR 008AH A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
TXD. . . . . . . . B ADDR 00B0H.1 A
WAKE_CLKO. . . . . D ADDR 008FH A
WDT_CONTR. . . . . D ADDR 00C1H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -