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

📄 aci32.lst

📁 本程序来自TI公司网站原程序,其功能是通过传统的V/F控制算法并加上对电机的转子速度辨识即无速度传感器控制来实现对感应电机的控制,控制程序可以采用.asm也可以采用.C。程序的具体算法和介绍在软件压缩
💻 LST
📖 第 1 页 / 共 5 页
字号:
     600 00d8 0000!         .word   _F2407_ileg2_dcbus_drv_init+0
     601 00d9 0000!         .word   _F2407_ileg2_dcbus_drv_read+0
     602      000d  IS7     .set    13
     603            
     604                    .sym    _ilg2_vdc,_ilg2_vdc,8,2,208,.fake16
     605                    .globl  _ilg2_vdc
     606 00da 0003          .word   IS8,_drive
         00db 0004- 
     607 00dc 0000          .word   0
     608 00dd 0000!         .word   _F24xx_drive_drv_init+0
     609 00de 0000!         .word   _F24xx_drive_drv_calc+0
     610      0003  IS8     .set    3
     611            
     612                    .sym    _drive,_drive,8,2,48,.fake17
     613                    .globl  _drive
     614                    .globl  _isr_ticker
     615 0000               .text
     616            
     617                    .sym    _main,_main,32,2,0
     618                    .globl  _main
     619            
     620                    .func   100
     621            ;>>>>   void main()   
     622            ******************************************************
     623            * FUNCTION DEF : _main
     624            ******************************************************
     625 0000       _main:
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   14

     626 0000 8aa0          POPD    *+
     627 0001 80a0          SAR     AR0,*+
     628 0002 8180          SAR     AR1,*
     629 0003 b001          LARK    AR0,1
     630 0004 00e0          LAR     AR0,*0+
     631            
     632                    .line   6
     633            ;>>>>           RstSystem();
     634            ;>>>>   #if (BUILDLEVEL==LEVEL1)
     635            ;>>>>   #if     TARGET==F243                      
     636            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     637            ;>>>>   #elif   TARGET==F2407                                                          
     638 0005 7a80          CALL    _RstSystem
         0006 0082' 
     639                    .line   31
     640            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     641            ;>>>>   #endif  /* TARGET */            
     642 0007 bc00-         LDPK    _pwm
     643 0008 ae10-         SPLK    #1333,_pwm
         0009 0535  
     644                    .line   38
     645            ;>>>>           VFMRAS_TI_Init(&vhz);
     646 000a bf80          LALK    _vhz+0
         000b 002d- 
     647 000c 90a0          SACL    *+
     648 000d 7a80          CALL    _VFMRAS_TI_Init
         000e 0000! 
     649 000f 8b90          MAR     *-
     650                    .line   43
     651            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     652 0010 7a80          CALL    _rtmon_init
         0011 00ad' 
     653                    .line   44
     654            ;>>>>           enable_ints();           /* Set off the system running.              */
     655 0012 7a80          CALL    _enable_ints
         0013 0000! 
     656                    .line   49
     657            ;>>>>           while(drive.enable_flg==0)
     658 0014 bc00-         LDPK    _drive
     659 0015 1004-         LAC     _drive
     660 0016 e308          BNZ     L2
         0017 0023' 
     661 0018       L1:
     662                    .line   51
     663            ;>>>>           drive.init(&drive);
     664 0018 bf80          LALK    _drive+0
         0019 0004- 
     665 001a 90a0          SACL    *+
     666 001b bc00-         LDPK    _drive+1
     667 001c 1005-         LAC     _drive+1
     668 001d be30          CALA
     669 001e 8b90          MAR     *-
     670                    .line   49
     671 001f bc00-         LDPK    _drive
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   15

     672 0020 1004-         LAC     _drive
     673 0021 e388          BZ      L1
         0022 0018' 
     674 0023       L2:
     675                    .line   57
     676            ;>>>>           pwm.init(&pwm);
     677            ;>>>>   #if     TARGET==F243                      
     678            ;>>>>           EVIFRA=0xffff;          
     679            ;>>>>   #elif   TARGET==F2407                                                          
     680 0023 bf80          LALK    _pwm+0
         0024 0010- 
     681 0025 90a0          SACL    *+
     682 0026 1015-         LAC     _pwm+5
     683 0027 be30          CALA
     684 0028 8b9b          MAR     *-,AR3
     685                    .line   65
     686            ;>>>>               EVAIFRA=0xffff;        
     687            ;>>>>   #endif  /* TARGET */
     688 0029 bf0b          LARK    AR3,29743
         002a 742f  
     689 002b ae80          SPLK    #-1,* 
         002c ffff  
     690                    .line   72
     691            ;>>>>           dac.qptr0=&vhz.svgen.va;
     692 002d bf80          LALK    _vhz+28
         002e 0049- 
     693 002f bc00-         LDPK    _dac
     694 0030 900a-         SACL    _dac
     695                    .line   73
     696            ;>>>>           dac.qptr1=&vhz.svgen.vb;
     697 0031 bf80          LALK    _vhz+29
         0032 004a- 
     698 0033 900b-         SACL    _dac+1
     699                    .line   74
     700            ;>>>>           dac.qptr2=&vhz.svgen.vc;
     701 0034 bf80          LALK    _vhz+30
         0035 004b- 
     702 0036 900c-         SACL    _dac+2
     703                    .line   75
     704            ;>>>>           dac.qptr3=&vhz.svgen.alpha;
     705            ;>>>>   #endif /* (BUILDLEVEL==LEVEL1) */  
     706            ;>>>>   #if (BUILDLEVEL==LEVEL2)
     707            ;>>>>   #if     TARGET==F243                      
     708            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     709            ;>>>>   #elif   TARGET==F2407                                                          
     710            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     711            ;>>>>   #endif  /* TARGET */            
     712            ;>>>>           VFMRAS_TI_Init(&vhz);
     713            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     714            ;>>>>           enable_ints();           /* Set off the system running.              */
     715            ;>>>>           while(drive.enable_flg==0)
     716            ;>>>>           drive.init(&drive);
     717            ;>>>>           pwm.init(&pwm);
     718            ;>>>>           dac.qptr0=&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   16

     719            ;>>>>           dac.qptr1=&vhz.svgen.vb;
     720            ;>>>>           dac.qptr2=&vhz.svgen.vc;
     721            ;>>>>           dac.qptr3=&vhz.svgen.alpha;
     722            ;>>>>   #endif /* (BUILDLEVEL==LEVEL2) */   
     723            ;>>>>   #if (BUILDLEVEL==LEVEL3)
     724            ;>>>>   #if     TARGET==F243                      
     725            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     726            ;>>>>   #elif   TARGET==F2407                                                          
     727            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     728            ;>>>>   #endif  /* TARGET */            
     729            ;>>>>           VFMRAS_TI_Init(&vhz);
     730            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     731            ;>>>>           enable_ints();           /* Set off the system running.              */
     732            ;>>>>           while(drive.enable_flg==0)
     733            ;>>>>           drive.init(&drive);
     734            ;>>>>           pwm.init(&pwm);          
     735            ;>>>>           dac.qptr0=&vhz.svgen.va;
     736            ;>>>>           dac.qptr1=&vhz.svgen.vb;
     737            ;>>>>           dac.qptr2=&vhz.svgen.vc;
     738            ;>>>>           dac.qptr3=&vhz.svgen.alpha;
     739            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     740            ;>>>>   #endif /* (BUILDLEVEL==LEVEL3) */   
     741            ;>>>>   #if (BUILDLEVEL==LEVEL4)
     742            ;>>>>   #if     TARGET==F243                      
     743            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     744            ;>>>>   #elif   TARGET==F2407                                                          
     745            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     746            ;>>>>   #endif  /* TARGET */            
     747            ;>>>>           VFMRAS_TI_Init(&vhz);
     748            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     749            ;>>>>           enable_ints();           /* Set off the system running.              */
     750            ;>>>>           while(drive.enable_flg==0)
     751            ;>>>>           drive.init(&drive);
     752            ;>>>>           pwm.init(&pwm);          
     753            ;>>>>           cap.init(&cap);
     754            ;>>>>           speed.shift = 6;  
     755            ;>>>>           speed.speed_scaler = 156;
     756            ;>>>>           speed.rpm_max = 3600;
     757            ;>>>>           dac.qptr0=&vhz.svgen.va;
     758            ;>>>>           dac.qptr1=&vhz.svgen.vb;
     759            ;>>>>           dac.qptr2=&vhz.svgen.vc;
     760            ;>>>>           dac.qptr3=&vhz.svgen.alpha;
     761            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     762            ;>>>>   #endif /* (BUILDLEVEL==LEVEL4) */  
     763            ;>>>>   #if (BUILDLEVEL==LEVEL5)
     764            ;>>>>   #if     TARGET==F243                      
     765            ;>>>>           pwm.period_max=667;          /* This is based on 15kHz PWM frequency (20MHz) */
     766            ;>>>>   #elif   TARGET==F2407                                                          
     767            ;>>>>           pwm.period_max=1333;       /* This is based on 15kHz PWM frequency (40MHz)*/
     768            ;>>>>   #endif  /* TARGET */            
     769            ;>>>>           VFMRAS_TI_Init(&vhz);
     770            ;>>>>           rtmon_init();            /* Call the monitor init function           */
     771            ;>>>>           enable_ints();           /* Set off the system running.              */
     772            ;>>>>           while(drive.enable_flg==0)
TMS320C24xx COFF Assembler Version 7.02  Mon Apr 28 14:54:08 2003
Copyright (c) 1987-2002  Texas Instruments Incorporated 
../temp/aci32.asm                                                    PAGE   17

     773            ;>>>>           drive.init(&drive);
     774            ;>>>>           pwm.init(&pwm);          
     775            ;>>>>           cap.init(&cap);
     776            ;>>>>           speed.shift = 6;  
     777            ;>>>>           speed.speed_scaler = 156;
     778            ;>>>>           speed.rpm_max = 3600;
     779            ;>>>>           dac.qptr0=&vhz.svgen.va;
     780            ;>>>>           dac.qptr1=&vhz.svgen.vb;
     781            ;>>>>           dac.qptr2=&vhz.svgen.vc;
     782            ;>>>>           dac.qptr3=&vhz.svgen.alpha;
     783            ;>>>>           ilg2_vdc.init(&ilg2_vdc);
     784            ;>>>>   #endif /* (BUILDLEVEL==LEVEL5) */  
     785            ;>>>>   #if     TARGET==F243                      
     786            ;>>>>           EVIFRA=0x0ffff;           /* Clear all Group A EV interrupt flags    */
     787            ;>>>>   #elif   TARGET==F2407                                                          
     788 0037 bf80          LALK    _vhz+26
         0038 0047- 
     789 0039 900d-         SACL    _dac+3
     790                    .line   379
     791            ;>>>>           EVAIFRA=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
     792            ;>>>>   #endif              
     793            ;>>>>           while(1)             /* Nothing running in the background at present */
     794 003a ae80          SPLK    #-1,* 
         003b ffff  
     795 003c       L3:
     796                    .line   387
     797 003c 7980          B       L3
         003d 003c' 
     798                    .endfunc        489,000000000H,1
     799            
     800                    .sym    _c_int02,_c_int02,32,2,0
     801                    .globl  _c_int02
     802            
     803                    .func   492
     804            ;>>>>   void interrupt c_int02()
     805            ******************************************************
     806            * FUNCTION DEF : _c_int02
     807            ******************************************************

⌨️ 快捷键说明

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