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

📄 tms320lf2407 pwm电机控制实验.txt

📁 电机控制c2000dspPWM源程序 可用于电机矢量控制及无刷电机控制
💻 TXT
字号:
TMS320LF2407 PWM电机控制实验  没有公告

                        加入收藏
                        设为首页
                        联系站长



       . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 
      服务导航 . 邮购 . 资源 . 
      | DSP首页 | DaVinci文章 | C6000文章 | C5000文章 | C3000文章 | C2000文章 | ADI DSP | 
      MOTO DSP | FAQ | 代码示例 | 电路应用 | 

            您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C2000 >> 文章正文




             TMS320LF2407 PWM电机控制实验   热     ★★★【字体:小 大】

      TMS320LF2407 PWM电机控制实验

      作者:61IC    文章来源:本站原创    点击数:425    更新时间:2007-1-17    

      //Main.c
      //PWM电机控制程序,正反转,默认设置的工作频率1kHz
      #include "global.c" 
      void SystemInit();
      void PWM_Init() ; 
      void KickDog();  
      int numled0=200;   
      unsigned int t0=0; 
      unsigned int XPWM=0;  

      main()
      {  
         SystemInit();          //系统初始化
         
         MCRA=MCRA & 0xC0FF;      //IOPB0-6设为IO口模式
         PBDATDIR=0xFFC2;        //所有LED=0 
         PBDATDIR=PBDATDIR |0x003D;  //所有LED=1     
          
         XPWM=2400;                 //设置初始值为2400,但最大值不要超过2500 
                //when xpwm=0~900,逆时针方向旋转,值越小,转速越快
                when xpwm=1600~2500,顺时针方向旋转,值越大,转速越快
               when xpwm=900~1600,电机两端电压太低,基本上不足以起转
         PWM_Init() ;           //定时器初始化
         asm(" CLRC INTM ");
         while(1);
         
      }
      void SystemInit() 
      {  
       
       asm(" SETC INTM "); //关闭总中断 
       asm(" CLRC  SXM  "); // 禁止符号位扩展 
       asm(" CLRC  CNF  ");    // B0块映射为 on-chip DARAM
       asm(" CLRC  OVM  ");    // 累加器结果正常溢出
       SCSR1=0x83FE;          // 系统时钟CLKOUT=20*2=40M 
             // 打开ADC,EVA,EVB,CAN和SCI的时钟,系统时钟CLKOUT=40M */
       WDCR=0x006F;   // 禁止看门狗,看门狗时钟64分频 
       KickDog();       // 初始化看门狗   
          IFR=0xFFFF;    // 清除中断标志 
          IMR=0x0002;    // 打开中断2     
          
      }  
      void PWM_Init()           
      { 
          MCRA=MCRA | 0x00C0;  //PA6-PA7为PWM口
          EVAIFRA=0xFFFF;   //  清除中断标志 
          ACTRA=0x0006;           //PWM1,2低有效    
          DBTCONA=0x0530;   //使能死区定时器1,分频40M/16=2.5M,死区时间5*0.4us=2us  
          T1PR=2500;    //定时器1周期值,定时0.4us*2500=1ms   
          CMPR1=XPWM;              //比较值
       COMCONA=0xA600;         //比较控制寄存器
       T1CNT=0;  
       EVAIMRA=0x0080;   //定时器1周期中断使能  
       T1CON=0x144E;           //增模式, TPS系数40M/16=2.5M,T1使能,  
          
      }  

      void c_int2()               //定时器1中断服务程序
      {
          if(PIVR!=0x27)
        {   asm(" CLRC INTM ");
         return;
        }
       T1CNT=0; 
       t0++;
       numled0--;
       if(numled0==0)
       {
        numled0=2000;
        if((PBDATDIR & 0x0001)==0x0001) 
         PBDATDIR=PBDATDIR & 0xFFFE;     //IOPB0=0;LED灭  
        else
         PBDATDIR=PBDATDIR |0x0101;      //IOPB0=1;LED亮 
       }
       EVAIFRA=0x80;
       
       asm(" CLRC INTM ");   
       
      }  
      void KickDog()    //踢除看门狗 
      {
       WDKEY=0x5555;
       WDKEY=0xAAAA;
      }
                     欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    
      责任编辑:admin 
      上一篇文章: TMS320LF2407 CAN总线通信实验

      下一篇文章: TMS320LF2407 SPI接口的DA 实验

      【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】

      最新热点最新推荐相关文章
       TMS320C3x源码/范例
       DSP281X之LCD12864 C++程序…
       TMS320F2812从内部Fash启动…
       DSP做的modbus rtu 主从站…
       [组图]DSP滤波器用于扩展数…
       [组图]基于TLV320AIC23和T…
       RGB,YUV的来历及其相互转…
       [组图]简化视频去隔行和格…
       [组图]DM642多路采集显示的…
       [组图]基于DM642的网络视觉…
       TMS320C3x源码/范例
       [组图]XDS510 DSP系列仿真…
       [图文]JTAG口与仿真器连接…
       [图文]TMS320VC5410硬件连…
       [图文]采用ADuC834的口0与…
       [图文]AD73360与TMS320VC5…
       [图文]DSP5402和MAX3110硬…
       [图文]主从模式的TLC320AC…
       [组图]DSP2407全系列开发板…
       [组图]DSP器件的现场可编程…
      没有相关文章

        网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) 
          没有任何评论

      | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 
             站长:61IC 湘ICP备05002478号 

⌨️ 快捷键说明

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