基於MSP430f5529的電動機調速程序


代碼如下:

 1 #include "MSP430F5529.h"
 2 void Sys_Init(){
 3   P1DIR |=BIT2;
 4   P1SEL |=BIT2;
 5   P1DIR |=BIT3;
 6   P1SEL |=BIT3;
 7 
 8   P7DIR |=BIT4+BIT0;
 9   P7OUT |=BIT4;    //AN1=1   反轉
10   P7OUT &=~BIT0;   //AN2=0
11 
12   TA0CCR0=800;
13   TA0CCTL1=OUTMOD_7;
14   TA0CCR1=500;
15   TA0CCTL2=OUTMOD_7;
16   TA0CCR2=500;
17   TA0CTL =TASSEL_1+MC_1+TACLR;
18 }
19 
20 int main( void )
21 {
22   // Stop watchdog timer to prevent time out reset
23    WDTCTL = WDTPW + WDTHOLD;
24    int i;
25    char SpeedMode=0;
26    Sys_Init();
27    while(1)
28    {
29      for(i=0;i<4000;i++);  //延遲
30 
31      if(SpeedMode==0)      //加速模式下
32       {
33        TA0CCR1++; //占空比不斷提高
34        P1DIR |=BIT0;
35        P1OUT |=BIT0;            
36        if(TA0CCR1>=500) SpeedMode=1; //到達100%后轉為減速模式
37       } 
38      if(SpeedMode==1)      //減速模式下
39       {
40        TA0CCR1--;             //占空比不斷降低
41        if(TA0CCR1<=200) SpeedMode=0; //到達40%后轉為加速模式
42      }     
43    }
44 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM