📄 cc6.lst
字号:
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 18
413 1 CCU6_TCTR4L = 0x40; // load CCU6 timer control register 4 low
414 1
415 1 CCU6_TCTR4H = 0x40; // load CCU6 timer control register 4 high
416 1
417 1 /// Start timer settings
418 1
419 1 CCU6_TCTR4L = 0x02; // start timer 12
420 1
421 1
422 1 // USER CODE BEGIN (Init,3)
423 1
424 1 // USER CODE END
425 1
426 1 } // End of function CC6_vInit
427
428 //****************************************************************************
429 // @Function void CC6_viNodeI3(void)
430 //
431 //----------------------------------------------------------------------------
432 // @Description This is the interrupt service routine for the CC6 node I3.
433 // If the content of the corresponding compare timer
434 // (configurable) equals the content of the capture/compare
435 // register or if a capture event occurs at the associated
436 // port pin, the interrupt request flag is set and an
437 // interrupt is triggered (only if enabled).
438 // Please note that you have to add application specific code
439 // to this function.
440 //
441 //----------------------------------------------------------------------------
442 // @Returnvalue None
443 //
444 //----------------------------------------------------------------------------
445 // @Parameters None
446 //
447 //----------------------------------------------------------------------------
448 // @Date 7/25/2005
449 //
450 //****************************************************************************
451
452 // USER CODE BEGIN (NodeI3,1)
453
454 // USER CODE END
455
456 void CC6_viNodeI3(void) interrupt CCU6_NodeI3_INT
457 {
458 1
459 1 // USER CODE BEGIN (NodeI3,2)
460 1 extern code unsigned char HallPatt[];
461 1 extern code unsigned char OutputPatt[];
462 1 unsigned char temp;
463 1 // USER CODE END
464 1
465 1 SFR_PAGE(_cc3, SST2); // switch to page 3
466 1
467 1 if(CCU6_ISH & 0x10) //if ISH_CHE
468 1 {
469 2 //correct hall event detection
470 2
471 2 SFR_PAGE(_cc0, noSST); // switch to page 0
472 2
473 2 CCU6_ISRH = 0x10; //clear flag ISH_CHE
474 2
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 19
475 2 // USER CODE BEGIN (NodeI3,23)
476 2 temp = CCU6_MCMOUTSH & 0x07; //get next hall state
477 2 CCU6_MCMOUTSL = OutputPatt[temp]; //program shadow registers with next state values
478 2 CCU6_MCMOUTSH = HallPatt[temp]; //the shadow transfer will be automatic
479 2 // USER CODE END
480 2
481 2 }
482 1
483 1 SFR_PAGE(_cc0, RST2); // restore the old CCU page
484 1
485 1
486 1 } // End of function CC6_viNodeI3
487
488
489 // USER CODE BEGIN (CCU6_General,10)
490
491 // USER CODE END
492
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 20
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION CC6_vInit (BEGIN)
; SOURCE LINE # 122
; SOURCE LINE # 123
; SOURCE LINE # 128
MOV CCU6_PAGE,#01H
; SOURCE LINE # 134
MOV CCU6_TCTR0L,#07H
; SOURCE LINE # 135
CLR A
MOV CCU6_TCTR0H,A
; SOURCE LINE # 147
MOV CCU6_T12PRL,#0FFH
; SOURCE LINE # 148
MOV CCU6_T12PRH,#0FFH
; SOURCE LINE # 160
MOV CCU6_T13PRL,#01H
; SOURCE LINE # 161
MOV CCU6_T13PRH,A
; SOURCE LINE # 167
MOV CCU6_T12DTCL,#08H
; SOURCE LINE # 170
MOV CCU6_T12DTCH,#01H
; SOURCE LINE # 173
MOV CCU6_PAGE,A
; SOURCE LINE # 192
MOV CCU6_CC60SRL,A
; SOURCE LINE # 194
MOV CCU6_CC60SRH,A
; SOURCE LINE # 215
MOV CCU6_CC61SRL,A
; SOURCE LINE # 217
MOV CCU6_CC61SRH,A
; SOURCE LINE # 238
MOV CCU6_CC62SRL,A
; SOURCE LINE # 240
MOV CCU6_CC62SRH,A
; SOURCE LINE # 250
MOV CCU6_CC63SRL,A
; SOURCE LINE # 252
MOV CCU6_CC63SRH,A
; SOURCE LINE # 260
MOV CCU6_MCMOUTSL,A
; SOURCE LINE # 262
MOV CCU6_MCMOUTSH,A
; SOURCE LINE # 266
MOV CCU6_PAGE,#02H
; SOURCE LINE # 272
MOV CCU6_TCTR2L,A
; SOURCE LINE # 273
MOV CCU6_TCTR2H,A
; SOURCE LINE # 285
MOV CCU6_TRPCTRL,A
; SOURCE LINE # 286
MOV CCU6_TRPCTRH,A
; SOURCE LINE # 303
MOV CCU6_MODCTRL,#080H
; SOURCE LINE # 304
MOV CCU6_MODCTRH,A
; SOURCE LINE # 310
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 21
MOV CCU6_MCMCTR,#01H
; SOURCE LINE # 317
MOV CCU6_T12MSELL,#088H
; SOURCE LINE # 320
MOV CCU6_T12MSELH,#08H
; SOURCE LINE # 326
MOV CCU6_PSLR,A
; SOURCE LINE # 339
MOV CCU6_INPL,#0FFH
; SOURCE LINE # 341
MOV CCU6_INPH,#03FH
; SOURCE LINE # 344
MOV CCU6_IENL,A
; SOURCE LINE # 346
MOV CCU6_IENH,#010H
; SOURCE LINE # 349
MOV CCU6_PAGE,#03H
; SOURCE LINE # 355
MOV CCU6_CMPSTATH,A
; SOURCE LINE # 365
MOV CCU6_PISEL0L,A
; SOURCE LINE # 372
MOV CCU6_PISEL0H,A
; SOURCE LINE # 377
MOV CCU6_PISEL2,A
; SOURCE LINE # 386
MOV PORT_PAGE,#02H
; SOURCE LINE # 387
ORL P3_ALTSEL0,#03FH
; SOURCE LINE # 388
ANL P3_ALTSEL1,#0C0H
; SOURCE LINE # 390
MOV PORT_PAGE,A
; SOURCE LINE # 391
ORL P3_DIR,#03FH
; SOURCE LINE # 403
ORL IEN1,#080H
; SOURCE LINE # 406
MOV CCU6_PAGE,A
; SOURCE LINE # 413
MOV CCU6_TCTR4L,#040H
; SOURCE LINE # 415
MOV CCU6_TCTR4H,#040H
; SOURCE LINE # 419
MOV CCU6_TCTR4L,#02H
; SOURCE LINE # 426
RET
; FUNCTION CC6_vInit (END)
; FUNCTION CC6_viNodeI3 (BEGIN)
PUSH ACC
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#00H
PUSH AR7
; SOURCE LINE # 456
; SOURCE LINE # 465
MOV CCU6_PAGE,#0A3H
; SOURCE LINE # 467
MOV A,CCU6_ISH
R xJNB ACC.4,?C0002
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 22
; SOURCE LINE # 468
; SOURCE LINE # 471
MOV CCU6_PAGE,#00H
; SOURCE LINE # 473
MOV CCU6_ISRH,#010H
; SOURCE LINE # 476
MOV A,CCU6_MCMOUTSH
ANL A,#07H
MOV R7,A
;---- Variable 'temp' assigned to Register 'R7' ----
; SOURCE LINE # 477
E MOV DPTR,#OutputPatt
MOVC A,@A+DPTR
MOV CCU6_MCMOUTSL,A
; SOURCE LINE # 478
MOV A,R7
E MOV DPTR,#HallPatt
MOVC A,@A+DPTR
MOV CCU6_MCMOUTSH,A
; SOURCE LINE # 481
?C0002:
; SOURCE LINE # 483
MOV CCU6_PAGE,#0E0H
; SOURCE LINE # 486
POP AR7
POP PSW
POP DPL
POP DPH
POP ACC
RETI
; FUNCTION CC6_viNodeI3 (END)
C51 COMPILER V7.50 CC6 10/12/2005 16:46:09 PAGE 23
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P3_DATA. . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
CCU6_CC60RL. . . . . . . . . . . . . . SFR DATA U_CHAR 00FAH 1
CCU6_CC61RL. . . . . . . . . . . . . . SFR DATA U_CHAR 00FCH 1
ADC_EVINPR . . . . . . . . . . . . . . SFR DATA U_CHAR 00D3H 1
CCU6_CC62RL. . . . . . . . . . . . . . SFR DATA U_CHAR 00FEH 1
CCU6_CC63RL. . . . . . . . . . . . . . SFR DATA U_CHAR 009AH 1
CC6_viNodeI3 . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
ADC_EVINSR . . . . . . . . . . . . . . SFR DATA U_CHAR 00D2H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
ADC_CRCR1. . . . . . . . . . . . . . . SFR DATA U_CHAR 00CAH 1
CCU6_MODCTRH . . . . . . . . . . . . . SFR DATA U_CHAR 00FDH 1
BG . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BEH 1
NMISR. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00BCH 1
CCU6_MODCTRL . . . . . . . . . . . . . SFR DATA U_CHAR 00FCH 1
IEN0 . . . . .
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -