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

📄 aci32.lst

📁 本程序来自TI公司网站原程序,其功能是通过传统的V/F控制算法并加上对电机的转子速度辨识即无速度传感器控制来实现对感应电机的控制,控制程序可以采用.asm也可以采用.C。程序的具体算法和介绍在软件压缩
💻 LST
📖 第 1 页 / 共 5 页
字号:
     808 003e       _c_int02:
     809 003e 7a80          CALL    I$$SAVE
         003f 0000! 
     810 0040 8180          SAR     AR1,*
     811 0041 b001          LARK    AR0,1
     812 0042 00e0          LAR     AR0,*0+
     813            
     814                    .line   3
     815            ;>>>>        asm("      CLRC     XF ");    
     816 0043 be4c        CLRC     XF 
     817                    .line   5
     818            ;>>>>           isr_ticker++;
     819            ;>>>>   #if (BUILDLEVEL==LEVEL1)
     820            ;>>>>   #if     TARGET==F243                      
     821            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     822            ;>>>>   #elif   TARGET==F2407                                                          
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   18

     823 0044 bc00-         LDPK    _isr_ticker
     824 0045 1000-         LAC     _isr_ticker
     825 0046 b801          ADDK    1
     826 0047 9000-         SACL    _isr_ticker
     827                    .line   13
     828            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     829            ;>>>>   #endif              
     830 0048 bf0b          LARK    AR3,29743
         0049 742f  
     831 004a 8b8b          MAR     * ,AR3
     832 004b ae89          SPLK    #-1,* ,AR1
         004c ffff  
     833                    .line   19
     834            ;>>>>           drive.calc(&drive);
     835 004d bf80          LALK    _drive+0
         004e 0004- 
     836 004f 90a0          SACL    *+
     837 0050 1006-         LAC     _drive+2
     838 0051 be30          CALA
     839 0052 8b90          MAR     *-
     840                    .line   25
     841            ;>>>>           VFMRAS_TI_Run(&vhz); 
     842 0053 bf80          LALK    _vhz+0
         0054 002d- 
     843 0055 90a0          SACL    *+
     844 0056 7a80          CALL    _VFMRAS_TI_Run
         0057 0000! 
     845 0058 8b90          MAR     *-
     846                    .line   30
     847            ;>>>>           dac.update(&dac);
     848            ;>>>>   #endif /* BUILDLEVEL==LEVEL1*/
     849            ;>>>>   #if (BUILDLEVEL==LEVEL2)
     850            ;>>>>   #if     TARGET==F243                      
     851            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     852            ;>>>>   #elif   TARGET==F2407                                                          
     853            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     854            ;>>>>   #endif              
     855            ;>>>>           drive.calc(&drive);
     856            ;>>>>           VFMRAS_TI_Run(&vhz); 
     857            ;>>>>           pwm.mfunc_c1=vhz.svgen.va;         
     858            ;>>>>           pwm.mfunc_c2=vhz.svgen.vb;
     859            ;>>>>           pwm.mfunc_c3=vhz.svgen.vc;
     860            ;>>>>           pwm.update(&pwm);
     861            ;>>>>           dac.update(&dac);
     862            ;>>>>   #endif /* BUILDLEVEL==LEVEL2*/
     863            ;>>>>   #if (BUILDLEVEL==LEVEL3)
     864            ;>>>>   #if     TARGET==F243                      
     865            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     866            ;>>>>   #elif   TARGET==F2407                                                          
     867            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     868            ;>>>>   #endif              
     869            ;>>>>           drive.calc(&drive);
     870            ;>>>>           VFMRAS_TI_Run(&vhz); 
     871            ;>>>>           pwm.mfunc_c1=vhz.svgen.va;         
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   19

     872            ;>>>>           pwm.mfunc_c2=vhz.svgen.vb;
     873            ;>>>>           pwm.mfunc_c3=vhz.svgen.vc;
     874            ;>>>>           pwm.update(&pwm);
     875            ;>>>>           ilg2_vdc.read(&ilg2_vdc);
     876            ;>>>>                   vhz.current_abc.a=ilg2_vdc.Imeas_a;
     877            ;>>>>                   vhz.current_abc.b=ilg2_vdc.Imeas_b;
     878            ;>>>>                   vhz.current_abc.c=ilg2_vdc.Imeas_c;        
     879            ;>>>>           vhz.Vbus=ilg2_vdc.Vdc_meas;
     880            ;>>>>           dac.update(&dac);
     881            ;>>>>   #endif /* BUILDLEVEL==LEVEL3*/
     882            ;>>>>   #if (BUILDLEVEL==LEVEL4)
     883            ;>>>>   #if     TARGET==F243                      
     884            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     885            ;>>>>   #elif   TARGET==F2407                                                          
     886            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     887            ;>>>>   #endif              
     888            ;>>>>           drive.calc(&drive);
     889            ;>>>>           if((cap.read(&cap))==0)             /* Call the capture read function */
     890            ;>>>>           speed.time_stamp=cap.time_stamp;    /* Read out new time stamp        */
     891            ;>>>>           speed.calc(&speed);                 /* Call the speed calulator       */
     892            ;>>>>           VFMRAS_TI_Run(&vhz); 
     893            ;>>>>           pwm.mfunc_c1=vhz.svgen.va;         
     894            ;>>>>           pwm.mfunc_c2=vhz.svgen.vb;
     895            ;>>>>           pwm.mfunc_c3=vhz.svgen.vc;
     896            ;>>>>           pwm.update(&pwm);
     897            ;>>>>           ilg2_vdc.read(&ilg2_vdc);
     898            ;>>>>                   vhz.current_abc.a=ilg2_vdc.Imeas_a;
     899            ;>>>>                   vhz.current_abc.b=ilg2_vdc.Imeas_b;
     900            ;>>>>                   vhz.current_abc.c=ilg2_vdc.Imeas_c;        
     901            ;>>>>           vhz.Vbus=ilg2_vdc.Vdc_meas;
     902            ;>>>>           dac.update(&dac);
     903            ;>>>>   #endif /* BUILDLEVEL==LEVEL4*/
     904            ;>>>>   #if (BUILDLEVEL==LEVEL5)
     905            ;>>>>   #if     TARGET==F243                      
     906            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     907            ;>>>>   #elif   TARGET==F2407                                                          
     908            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     909            ;>>>>   #endif              
     910            ;>>>>           drive.calc(&drive);
     911            ;>>>>           if((cap.read(&cap))==0)             /* Call the capture read function */
     912            ;>>>>           speed.time_stamp=cap.time_stamp;    /* Read out new time stamp        */
     913            ;>>>>           speed.calc(&speed);                 /* Call the speed calulator       */
     914            ;>>>>           VFMRAS_TI_Run(&vhz); 
     915            ;>>>>           pwm.mfunc_c1=vhz.svgen.va;         
     916            ;>>>>           pwm.mfunc_c2=vhz.svgen.vb;
     917            ;>>>>           pwm.mfunc_c3=vhz.svgen.vc;
     918            ;>>>>           pwm.update(&pwm);
     919            ;>>>>           ilg2_vdc.read(&ilg2_vdc);
     920            ;>>>>                   vhz.current_abc.a=ilg2_vdc.Imeas_a;
     921            ;>>>>                   vhz.current_abc.b=ilg2_vdc.Imeas_b;
     922            ;>>>>                   vhz.current_abc.c=ilg2_vdc.Imeas_c;        
     923            ;>>>>           vhz.Vbus=ilg2_vdc.Vdc_meas;
     924            ;>>>>           dac.update(&dac);
     925            ;>>>>   #endif /* BUILDLEVEL==LEVEL5*/
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   20

     926 0059 bf80          LALK    _dac+0
         005a 000a- 
     927 005b 90a0          SACL    *+
     928 005c bc00-         LDPK    _dac+5
     929 005d 100f-         LAC     _dac+5
     930 005e be30          CALA
     931 005f 8b90          MAR     *-
     932                    .line   254
     933            ;>>>>                   vhz.freq_testing_rpm = mul_q(vhz.freq_testing,15,3600,0,0);
     934 0060 b900          LACK    0
     935 0061 90a0          SACL    *+
     936 0062 90a0          SACL    *+
     937 0063 bf80          LACK    3600
         0064 0e10  
     938 0065 90a0          SACL    *+
     939 0066 b90f          LACK    15
     940 0067 90a0          SACL    *+
     941 0068 a8a0          BLKD    _vhz+3,*+
         0069 0030- 
     942 006a 7a80          CALL    _mul_q
         006b 0000! 
     943 006c 7c05          SBRK    5
     944 006d bc00-         LDPK    _vhz+4
     945 006e 9031-         SACL    _vhz+4
     946                    .line   258
     947            ;>>>>           vhz.speed_ref_rpm = mul_q(vhz.speed_ref,15,3600,0,0);
     948 006f b900          LACK    0
     949 0070 90a0          SACL    *+
     950 0071 90a0          SACL    *+
     951 0072 bf80          LACK    3600
         0073 0e10  
     952 0074 90a0          SACL    *+
     953 0075 b90f          LACK    15
     954 0076 90a0          SACL    *+
     955 0077 a8a0          BLKD    _vhz+5,*+
         0078 0032- 
     956 0079 7a80          CALL    _mul_q
         007a 0000! 
     957 007b 7c05          SBRK    5
     958 007c bc00-         LDPK    _vhz+6
     959 007d 9033-         SACL    _vhz+6
     960                    .line   261
     961            ;>>>>           asm("    SETC     XF ");   
     962 007e be4d      SETC     XF 
     963 007f       EPI0_2:
     964                    .line   263
     965 007f 7c01          SBRK    1
     966 0080 7989          B       I$$REST,AR1   ;and return
         0081 0000! 
     967            
     968                    .endfunc        754,000000000H,1
     969            
     970                    .sym    _RstSystem,_RstSystem,32,2,0
     971                    .globl  _RstSystem
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   21

     972            
     973                    .func   757
     974            ;>>>>   void RstSystem(void)
     975            ******************************************************
     976            * FUNCTION DEF : _RstSystem
     977            ******************************************************
     978 0082       _RstSystem:
     979 0082 8aa0          POPD    *+
     980 0083 80a0          SAR     AR0,*+
     981 0084 8180          SAR     AR1,*
     982 0085 b001          LARK    AR0,1
     983 0086 00e8          LAR     AR0,*0+,AR0
     984            
     985                    .line   8
     986            ;>>>>           WSGR=WAIT_STATES;         /* Initialize Wait State Generator         */
     987 0087 b940          LACK    64
     988 0088 9080          SACL    * 
     989 0089 0c89          OUT     * ,0ffffh,AR1
         008a ffff  
     990                    .line   9
     991            ;>>>>           disable_ints();           /* Make sure the interrupts are disabled   */
     992 008b 7a80          CALL    _disable_ints
         008c 0000! 
     993                    .line   10
     994            ;>>>>           wdog.disable();           /* Vccp/Wddis pin/bit must be high         */
     995 008d bc00-         LDPK    _wdog
     996 008e 1002-         LAC     _wdog
     997 008f be30          CALA
     998                    .line   11
     999            ;>>>>           IMR=0x02;                 /* Set up interrupt mask to enable INT2    
    1000            ;>>>>                                        until an explicit enable.               */
    1001            ;>>>>   #if (TARGET==F243)
    1002            ;>>>>           SCSR=0x40c0;              /* Init SCSR */
    1003            ;>>>>           EVIMRA=0x0200;            /* Enable the timer underflow interrupt    */
    1004            ;>>>>   #endif
    1005            ;>>>>   #if (TARGET==F2407)
    1006 0090 b304          LARK    AR3,4
    1007 0091 b902          LACK    2
    1008 0092 8b8b          MAR     * ,AR3
    1009 0093 9080          SACL    * 
    1010                    .line   25
    1011            ;>>>>           SCSR1=0xc;                /* Init SCSR */
    1012 0094 bf0c          LARK    AR4,28696
         0095 7018  
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -