1. 程式人生 > 實用技巧 >基於MSP430f5529的電動機調速程式

基於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 }