⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cc6.lst

📁 用于对无刷直流电机的启动及控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -