標(biāo)題: (成功)STM32 PWM輸出實驗 占空比和頻率實時可調(diào) [打印本頁]

作者: WBxykl    時間: 2017-7-3 20:17
標(biāo)題: (成功)STM32 PWM輸出實驗 占空比和頻率實時可調(diào)
輸出占空比和頻率實時可調(diào)的PWM波!
實驗?zāi)康?
    學(xué)習(xí)定時器的PWM功能
   
硬件資源:
    1,DS0(連接在PB5)
    2,定時器3(TIM3),使用TIM3的通道2(CH2),開啟部分重映射,將TIM3_CH2輸出到PB5.
    從而實現(xiàn)PWM輸出控制DS0亮度.
   
實驗現(xiàn)象:
    本實驗,DS0由暗到亮,再由亮到暗,再由暗到亮,依次循環(huán).
   
注意事項:
    無.

        
單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "timer.h"



  7. int main(void)
  8. {        
  9.      u16 pwmval=6429;   // 7143*90%=6428.7
  10.     u8 flag=1;   
  11.     delay_init();             //延時函數(shù)初始化      
  12.     //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);      //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  13.     //uart_init(115200);     //串口初始化為115200
  14.      //LED_Init();                 //LED端口初始化
  15.      TIM3_PWM_Init(7143,71);//預(yù)分頻72:72000000÷(71+1)=1000000 自動重裝載值由140Hz頻率計算得到:1000000÷140=7142.86
  16.        while(1)
  17.     {
  18.         if(flag==0)
  19.         {
  20.             TIM_SetCompare2(TIM3,pwmval);   
  21.             delay_ms(500);    //90%的占空比延時0.5秒
  22.             flag=1;            
  23.         }
  24.         if(flag==1)
  25.         {
  26.             if(pwmval>714)    // 7143*10%=714.3
  27.             {
  28.                 pwmval=pwmval-27;   // 占空比變化范圍:7143*0.8=5714.4   
  29.                                                      // 變化時間段的時間分割1500ms÷7ms=214.285(段)
  30.                                                     // 每個計數(shù)周期對應(yīng)占空比變化基數(shù)
  31.                 TIM_SetCompare2(TIM3,pwmval);   
  32.                 delay_ms(7);    // 頻率140HZ等于周期0.007秒
  33.             }
  34.             if(pwmval<714)
  35.             {
  36.                 pwmval=6429;
  37.                 flag=0;        
  38.             }  
  39.         }            
  40.     }     
  41. }
復(fù)制代碼

所有資料51hei提供下載:
(成功) PWM輸出實驗 2017.4.20.7z (185.82 KB, 下載次數(shù): 389)



作者: ahai    時間: 2018-5-18 22:37
學(xué)習(xí)中,感謝分享!
作者: justchen    時間: 2019-10-23 13:38
學(xué)習(xí),看看.感謝分享!
作者: Armind    時間: 2019-10-23 22:36
學(xué)習(xí)中,感謝分享
作者: Armind    時間: 2019-10-23 22:36
謝謝樓主分享
作者: 狗肉天涯    時間: 2019-11-5 15:52
感謝樓主分享
作者: whwitp    時間: 2020-4-22 14:03
學(xué)習(xí)PWM輸出實驗 占空比和頻率實時可調(diào),看看.感謝分享!
作者: goyhuan    時間: 2020-12-11 17:07
頻率調(diào)節(jié)沒有吧!
作者: cyrs    時間: 2021-1-27 18:05
STM32 PWM輸出實驗 占空比和頻率實時可調(diào) 是不是電壓可調(diào)呢
作者: GlenXu    時間: 2021-2-22 21:13
感謝樓主分享,必定認真學(xué)習(xí)!
作者: yuyuff    時間: 2022-1-10 22:02
什么東西,不能用
作者: liuxiaolin20000    時間: 2022-1-15 22:08
這個和正點原子代碼差不多啊





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