找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3357|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于msp430f5529的PWM波控制程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:734275 發(fā)表于 2020-12-28 17:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. ///*
  2. // *
  3. // * 按鈕調(diào)節(jié)PWM占空比
  4. // *
  5. // /*


  6. #include <msp430f5529.h>

  7. int pwm = 32;                                  //給pwm附一個初始值
  8. volatile unsigned int flag =0;                 //優(yōu)化賦值初始值flag=0
  9. void Keyscan();                                //鍵盤掃描
  10. int main(void)
  11. {
  12.         WDTCTL = WDTPW + WDTHOLD;              // 關閉看門狗
  13.         P1DIR |= BIT2;                         //設置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;      //參考時鐘選擇ACLK,增計數(shù)模式,清除TAR計數(shù)器

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

  24.             if(flag!=0)                        //當flag不等于0時
  25.             {
  26.                 P4OUT |= BIT7;                 //4.7LED燈亮,高電平
  27.             }
  28.             else
  29.             {
  30.                 P4OUT &=~ BIT7;
  31.             }
  32.             TA0CCTL1 = OUTMOD_7;               //CCR1比較輸出模式7:復位,定位。
  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;                 //先接示波器上看,占空比上升沿所占時間,啟動的時候要低于1ms,然后按按鈕,讓占空比上升沿時間在1~2ms內(nèi)
  48.                                                //超過2ms,不轉(zhuǎn),低于1ms也停轉(zhuǎn)。
  49.         }
  50.     }
  51. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表