📄 adda_isr.lst
字号:
+1 240 ; IE 0A8H
00AF +1 241 EA BIT 0AFH ; GLOBAL INTERRUPT ENABLE
00AD +1 242 ET2 BIT 0ADH ; TIMER 2 INTERRUPT ENABLE
00AC +1 243 ES0 BIT 0ACH ; UART0 INTERRUPT ENABLE
00AB +1 244 ET1 BIT 0ABH ; TIMER 1 INTERRUPT ENABLE
00AA +1 245 EX1 BIT 0AAH ; EXTERNAL INTERRUPT 1 ENABLE
00A9 +1 246 ET0 BIT 0A9H ; TIMER 0 INTERRUPT ENABLE
00A8 +1 247 EX0 BIT 0A8H ; EXTERNAL INTERRUPT 0 ENABLE
+1 248
+1 249 ; IP 0B8H
00BD +1 250 PT2 BIT 0BDH ; TIMER 2 PRIORITY
00BC +1 251 PS BIT 0BCH ; SERIAL PORT PRIORITY
00BB +1 252 PT1 BIT 0BBH ; TIMER 1 PRIORITY
00BA +1 253 PX1 BIT 0BAH ; EXTERNAL INTERRUPT 1 PRIORITY
00B9 +1 254 PT0 BIT 0B9H ; TIMER 0 PRIORITY
00B8 +1 255 PX0 BIT 0B8H ; EXTERNAL INTERRUPT 0 PRIORITY
+1 256
A51 MACRO ASSEMBLER ADDA_ISR 04/02/2007 08:52:20 PAGE 5
+1 257 ; SMB0CN 0C0H
00C7 +1 258 BUSY BIT 0C7H ; SMBUS 0 BUSY
00C6 +1 259 ENSMB BIT 0C6H ; SMBUS 0 ENABLE
00C5 +1 260 STA BIT 0C5H ; SMBUS 0 START FLAG
00C4 +1 261 STO BIT 0C4H ; SMBUS 0 STOP FLAG
00C3 +1 262 SI BIT 0C3H ; SMBUS 0 INTERRUPT PENDING FLAG
00C2 +1 263 AA BIT 0C2H ; SMBUS 0 ASSERT/ACKNOWLEDGE FLAG
00C1 +1 264 SMBFTE BIT 0C1H ; SMBUS 0 FREE TIMER ENABLE
00C0 +1 265 SMBTOE BIT 0C0H ; SMBUS 0 TIMEOUT ENABLE
+1 266
+1 267 ; MAC0STA 0C0H
00C3 +1 268 MAC0HO BIT 0C3H ; MAC0 HARD OVERFLOW
00C2 +1 269 MAC0Z BIT 0C2H ; MAC0 ZERO
00C1 +1 270 MAC0SO BIT 0C1H ; MAC0 SOFT OVERFLOW
00C0 +1 271 MAC0N BIT 0C0H ; MAC0 NEGATIVE
+1 272
+1 273 ; TMR2CN 0C8H
00CF +1 274 TF2 BIT 0CFH ; TIMER 2 OVERFLOW FLAG
00CE +1 275 EXF2 BIT 0CEH ; TIMER 2 EXTERNAL FLAG
00CB +1 276 EXEN2 BIT 0CBH ; TIMER 2 EXTERNAL ENABLE FLAG
00CA +1 277 TR2 BIT 0CAH ; TIMER 2 ON/OFF CONTROL
00C9 +1 278 CT2 BIT 0C9H ; TIMER 2 COUNTER SELECT
00C8 +1 279 CPRL2 BIT 0C8H ; TIMER 2 CAPTURE SELECT
+1 280
+1 281 ; TMR3CN 0C8H
00CF +1 282 TF3 BIT 0CFH ; TIMER 3 OVERFLOW FLAG
00CE +1 283 EXF3 BIT 0CEH ; TIMER 3 EXTERNAL FLAG
00CB +1 284 EXEN3 BIT 0CBH ; TIMER 3 EXTERNAL ENABLE FLAG
00CA +1 285 TR3 BIT 0CAH ; TIMER 3 ON/OFF CONTROL
00C9 +1 286 CT3 BIT 0C9H ; TIMER 3 COUNTER SELECT
00C8 +1 287 CPRL3 BIT 0C8H ; TIMER 3 CAPTURE SELECT
+1 288
+1 289 ; TMR4CN 0C8H
00CF +1 290 TF4 BIT 0CFH ; TIMER 4 OVERFLOW FLAG
00CE +1 291 EXF4 BIT 0CEH ; TIMER 4 EXTERNAL FLAG
00CB +1 292 EXEN4 BIT 0CBH ; TIMER 4 EXTERNAL ENABLE FLAG
00CA +1 293 TR4 BIT 0CAH ; TIMER 4 ON/OFF CONTROL
00C9 +1 294 CT4 BIT 0C9H ; TIMER 4 COUNTER SELECT
00C8 +1 295 CPRL4 BIT 0C8H ; TIMER 4 CAPTURE SELECT
+1 296
+1 297 ; PSW 0D0H
00D7 +1 298 CY BIT 0D7H ; CARRY FLAG
00D6 +1 299 AC BIT 0D6H ; AUXILIARY CARRY FLAG
00D5 +1 300 F0 BIT 0D5H ; USER FLAG 0
00D4 +1 301 RS1 BIT 0D4H ; REGISTER BANK SELECT 1
00D3 +1 302 RS0 BIT 0D3H ; REGISTER BANK SELECT 0
00D2 +1 303 OV BIT 0D2H ; OVERFLOW FLAG
00D1 +1 304 F1 BIT 0D1H ; USER FLAG 1
00D0 +1 305 P BIT 0D0H ; ACCUMULATOR PARITY FLAG
+1 306
+1 307 ; PCA0CN 0D8H
00DF +1 308 CF BIT 0DFH ; PCA 0 COUNTER OVERFLOW FLAG
00DE +1 309 CR BIT 0DEH ; PCA 0 COUNTER RUN CONTROL BIT
00DD +1 310 CCF5 BIT 0DDH ; PCA 0 MODULE 5 INTERRUPT FLAG
00DC +1 311 CCF4 BIT 0DCH ; PCA 0 MODULE 4 INTERRUPT FLAG
00DB +1 312 CCF3 BIT 0DBH ; PCA 0 MODULE 3 INTERRUPT FLAG
00DA +1 313 CCF2 BIT 0DAH ; PCA 0 MODULE 2 INTERRUPT FLAG
00D9 +1 314 CCF1 BIT 0D9H ; PCA 0 MODULE 1 INTERRUPT FLAG
00D8 +1 315 CCF0 BIT 0D8H ; PCA 0 MODULE 0 INTERRUPT FLAG
+1 316
+1 317 ; ADC0CN 0E8H
00EF +1 318 AD0EN BIT 0EFH ; ADC 0 ENABLE
00EE +1 319 AD0TM BIT 0EEH ; ADC 0 TRACK MODE
00ED +1 320 AD0INT BIT 0EDH ; ADC 0 EOC INTERRUPT FLAG
00EC +1 321 AD0BUSY BIT 0ECH ; ADC 0 BUSY FLAG
00EB +1 322 AD0CM1 BIT 0EBH ; ADC 0 CONVERT START MODE BIT 1
A51 MACRO ASSEMBLER ADDA_ISR 04/02/2007 08:52:20 PAGE 6
00EA +1 323 AD0CM0 BIT 0EAH ; ADC 0 CONVERT START MODE BIT 0
00E9 +1 324 AD0WINT BIT 0E9H ; ADC 0 WINDOW INTERRUPT FLAG
00E8 +1 325 AD0LJST BIT 0E8H ; ADC 0 LEFT JUSTIFY DATA BIT
+1 326
+1 327 ; ADC2CN 0E8H
00EF +1 328 AD2EN BIT 0EFH ; ADC 2 ENABLE
00EE +1 329 AD2TM BIT 0EEH ; ADC 2 TRACK MODE
00ED +1 330 AD2INT BIT 0EDH ; ADC 2 EOC INTERRUPT FLAG
00EC +1 331 AD2BUSY BIT 0ECH ; ADC 2 BUSY FLAG
00EB +1 332 AD2CM2 BIT 0EBH ; ADC 2 CONVERT START MODE BIT 2
00EA +1 333 AD2CM1 BIT 0EAH ; ADC 2 CONVERT START MODE BIT 1
00E9 +1 334 AD2CM0 BIT 0E9H ; ADC 2 CONVERT START MODE BIT 0
00E8 +1 335 AD2WINT BIT 0E8H ; ADC 2 WINDOW INTERRUPT FLAG
+1 336
+1 337 ; SPI0CN 0F8H
00FF +1 338 SPIF BIT 0FFH ; SPI 0 INTERRUPT FLAG
00FE +1 339 WCOL BIT 0FEH ; SPI 0 WRITE COLLISION FLAG
00FD +1 340 MODF BIT 0FDH ; SPI 0 MODE FAULT FLAG
00FC +1 341 RXOVRN BIT 0FCH ; SPI 0 RX OVERRUN FLAG
00FB +1 342 NSSMD1 BIT 0FBH ; SPI 0 SLAVE SELECT MODE 1
00FA +1 343 NSSMD0 BIT 0FAH ; SPI 0 SLAVE SELECT MODE 0
00F9 +1 344 TXBMT BIT 0F9H ; SPI 0 TX BUFFER EMPTY FLAG
00F8 +1 345 SPIEN BIT 0F8H ; SPI 0 SPI ENABLE
+1 346
+1 347 ;
+1 348 ;------------------------------------------------------------------------------
+1 349 ; SFR PAGE DEFINITIONS
+1 350 ;
000F +1 351 CONFIG_PAGE EQU 0FH ; SYSTEM AND PORT CONFIGURATION PAGE
0000 +1 352 LEGACY_PAGE EQU 00H ; LEGACY SFR PAGE
0000 +1 353 TIMER01_PAGE EQU 00H ; TIMER 0 AND TIMER 1
0001 +1 354 CPT0_PAGE EQU 01H ; COMPARATOR 0
0002 +1 355 CPT1_PAGE EQU 02H ; COMPARATOR 1
0000 +1 356 UART0_PAGE EQU 00H ; UART 0
0001 +1 357 UART1_PAGE EQU 01H ; UART 1
0000 +1 358 SPI0_PAGE EQU 00H ; SPI 0
0000 +1 359 EMI0_PAGE EQU 00H ; EXTERNAL MEMORY INTERFACE
0000 +1 360 ADC0_PAGE EQU 00H ; ADC 0
0002 +1 361 ADC2_PAGE EQU 02H ; ADC 2
0000 +1 362 SMB0_PAGE EQU 00H ; SMBUS 0
0000 +1 363 TMR2_PAGE EQU 00H ; TIMER 2
0001 +1 364 TMR3_PAGE EQU 01H ; TIMER 3
0002 +1 365 TMR4_PAGE EQU 02H ; TIMER 4
0000 +1 366 DAC0_PAGE EQU 00H ; DAC 0
0001 +1 367 DAC1_PAGE EQU 01H ; DAC 1
0000 +1 368 PCA0_PAGE EQU 00H ; PCA 0
000F +1 369 PLL0_PAGE EQU 0FH ; PLL 0
0003 +1 370 MAC0_PAGE EQU 03H ; MAC 0
371
372
373 DACOUNTER segment data
---- 374 rseg DACOUNTER
0000 375 count: ds 1;定义计数器0~127
376
377 ;T4中断代码:
---- 378 CSEG AT 83H;T4入口地址
0083 020000 F 379 jmp start;跳转
380
381 T4_ISR segment code
---- 382 rseg T4_ISR
0000 383 start:
0000 C0E0 384 push ACC;保存所用到的寄存器值
0002 C000 385 push 0
0004 C0D0 386 push PSW
0006 C2CF 387 clr TF3;清T3中断
0008 758400 388 mov SFRPAGE,#DAC0_PAGE;翻到DAC0页
A51 MACRO ASSEMBLER ADDA_ISR 04/02/2007 08:52:20 PAGE 7
000B A800 F 389 mov R0,count;读入count,最高位无效
000D E8 390 mov A,R0
000E 547F 391 anl A,#7FH
0010 F8 392 mov R0,A;读入DAC数值
0011 E2 393 movx A,@R0
0012 F5D3 394 mov DAC0H,A;DAC0H赋值
0014 08 395 inc R0
0015 E2 396 movx A,@R0
0016 F5D2 397 mov DAC0L,A
0018 08 398 inc R0
0019 8800 F 399 mov count,R0;改变count
001B D0D0 400 pop PSW
001D D000 401 pop 0
001F D0E0 402 pop ACC
0021 32 403 reti
404
405 END
A51 MACRO ASSEMBLER ADDA_ISR 04/02/2007 08:52:20 PAGE 8
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AA . . . . . . . . B ADDR 00C0H.2 A
AC . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . D ADDR 00E0H A
AD0BUSY. . . . . . B ADDR 00E8H.4 A
AD0CM0 . . . . . . B ADDR 00E8H.2 A
AD0CM1 . . . . . . B ADDR 00E8H.3 A
AD0EN. . . . . . . B ADDR 00E8H.7 A
AD0INT . . . . . . B ADDR 00E8H.5 A
AD0LJST. . . . . . B ADDR 00E8H.0 A
AD0TM. . . . . . . B ADDR 00E8H.6 A
AD0WINT. . . . . . B ADDR 00E8H.1 A
AD2BUSY. . . . . . B ADDR 00E8H.4 A
AD2CM0 . . . . . . B ADDR 00E8H.1 A
AD2CM1 . . . . . . B ADDR 00E8H.2 A
AD2CM2 . . . . . . B ADDR 00E8H.3 A
AD2EN. . . . . . . B ADDR 00E8H.7 A
AD2INT . . . . . . B ADDR 00E8H.5 A
AD2TM. . . . . . . B ADDR 00E8H.6 A
AD2WINT. . . . . . B ADDR 00E8H.0 A
ADC0CF . . . . . . D ADDR 00BCH A
ADC0CN . . . . . . D ADDR 00E8H A
ADC0GTH. . . . . . D ADDR 00C5H A
ADC0GTL. . . . . . D ADDR 00C4H A
ADC0H. . . . . . . D ADDR 00BFH A
ADC0L. . . . . . . D ADDR 00BEH A
ADC0LTH. . . . . . D ADDR 00C7H A
ADC0LTL. . . . . . D ADDR 00C6H A
ADC0_PAGE. . . . . N NUMB 0000H A
ADC2 . . . . . . . D ADDR 00BEH A
ADC2CF . . . . . . D ADDR 00BCH A
ADC2CN . . . . . . D ADDR 00E8H A
ADC2GT . . . . . . D ADDR 00C4H A
ADC2LT . . . . . . D ADDR 00C6H A
ADC2_PAGE. . . . . N NUMB 0002H A
AMX0CF . . . . . . D ADDR 00BAH A
AMX0SL . . . . . . D ADDR 00BBH A
AMX2CF . . . . . . D ADDR 00BAH A
AMX2SL . . . . . . D ADDR 00BBH A
B. . . . . . . . . D ADDR 00F0H A
BUSY . . . . . . . B ADDR 00C0H.7 A
CCF0 . . . . . . . B ADDR 00D8H.0 A
CCF1 . . . . . . . B ADDR 00D8H.1 A
CCF2 . . . . . . . B ADDR 00D8H.2 A
CCF3 . . . . . . . B ADDR 00D8H.3 A
CCF4 . . . . . . . B ADDR 00D8H.4 A
CCF5 . . . . . . . B ADDR 00D8H.5 A
CCH0CN . . . . . . D ADDR 00A1H A
CCH0LC . . . . . . D ADDR 00A3H A
CCH0MA . . . . . . D ADDR 009AH A
CCH0TN . . . . . . D ADDR 00A2H A
CF . . . . . . . . B ADDR 00D8H.7 A
CKCON. . . . . . . D ADDR 008EH A
CLKSEL . . . . . . D ADDR 0097H A
CONFIG_PAGE. . . . N NUMB 000FH A
COUNT. . . . . . . D ADDR 0000H R SEG=DACOUNTER
CP0EN. . . . . . . B ADDR 0088H.7 A
CP0FIF . . . . . . B ADDR 0088H.4 A
CP0HYN0. . . . . . B ADDR 0088H.0 A
CP0HYN1. . . . . . B ADDR 0088H.1 A
CP0HYP0. . . . . . B ADDR 0088H.2 A
A51 MACRO ASSEMBLER ADDA_ISR 04/02/2007 08:52:20 PAGE 9
CP0HYP1. . . . . . B ADDR 0088H.3 A
CP0OUT . . . . . . B ADDR 0088H.6 A
CP0RIF . . . . . . B ADDR 0088H.5 A
CP1EN. . . . . . . B ADDR 0088H.7 A
CP1FIF . . . . . . B ADDR 0088H.4 A
CP1HYN0. . . . . . B ADDR 0088H.0 A
CP1HYN1. . . . . . B ADDR 0088H.1 A
CP1HYP0. . . . . . B ADDR 0088H.2 A
CP1HYP1. . . . . . B ADDR 0088H.3 A
CP1OUT . . . . . . B ADDR 0088H.6 A
CP1RIF . . . . . . B ADDR 0088H.5 A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -