標(biāo)題: 基于msp430f5529的PWM波控制程序 [打印本頁(yè)]

作者: gysworld    時(shí)間: 2020-12-28 17:44
標(biāo)題: 基于msp430f5529的PWM波控制程序
  1. ///*
  2. // *
  3. // * 按鈕調(diào)節(jié)PWM占空比
  4. // *
  5. // /*


  6. #include <msp430f5529.h>

  7. int pwm = 32;                                  //給pwm附一個(gè)初始值
  8. volatile unsigned int flag =0;                 //優(yōu)化賦值初始值flag=0
  9. void Keyscan();                                //鍵盤(pán)掃描
  10. int main(void)
  11. {
  12.         WDTCTL = WDTPW + WDTHOLD;              // 關(guān)閉看門(mén)狗
  13.         P1DIR |= BIT2;                         //設(shè)置1.2輸出波
  14.         P1SEL |= BIT2;

  15.         P4DIR |= BIT7;                         //燈LED2
  16.         P4OUT &=~BIT7;

  17.         P2OUT |= BIT1;                         //按鈕S1
  18.         P2REN |= BIT1;

  19.         TA0CCR0 = 64;                       //PWM周期定義

  20.         TA0CTL = TASSEL_1 + MC_1 + TACLR;      //參考時(shí)鐘選擇ACLK,增計(jì)數(shù)模式,清除TAR計(jì)數(shù)器

  21.         while(1)
  22.         {
  23.             Keyscan();

  24.             if(flag!=0)                        //當(dāng)flag不等于0時(shí)
  25.             {
  26.                 P4OUT |= BIT7;                 //4.7LED燈亮,高電平
  27.             }
  28.             else
  29.             {
  30.                 P4OUT &=~ BIT7;
  31.             }
  32.             TA0CCTL1 = OUTMOD_7;               //CCR1比較輸出模式7:復(fù)位,定位。
  33.             TA0CCR1 =pwm;                      //pwm占空比的定義,隨pwm的變化,占空比不同
  34.         }
  35. }
  36. void Keyscan()
  37. {
  38.     if((P2IN&BIT1) ==0)
  39.     {
  40.         __delay_cycles(10000);
  41.         if((P2IN& BIT1)==0)
  42.         {
  43.             while((P2IN& BIT1)==0)
  44.             {
  45.                 flag = ~flag;                  //取反
  46.             }
  47.             pwm = pwm-2;                 //先接示波器上看,占空比上升沿所占時(shí)間,啟動(dòng)的時(shí)候要低于1ms,然后按按鈕,讓占空比上升沿時(shí)間在1~2ms內(nèi)
  48.                                                //超過(guò)2ms,不轉(zhuǎn),低于1ms也停轉(zhuǎn)。
  49.         }
  50.     }
  51. }
復(fù)制代碼







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1