標(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).
注意事項:
無.
單片機源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
int main(void)
{
u16 pwmval=6429; // 7143*90%=6428.7
u8 flag=1;
delay_init(); //延時函數(shù)初始化
//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
//uart_init(115200); //串口初始化為115200
//LED_Init(); //LED端口初始化
TIM3_PWM_Init(7143,71);//預(yù)分頻72:72000000÷(71+1)=1000000 自動重裝載值由140Hz頻率計算得到:1000000÷140=7142.86
while(1)
{
if(flag==0)
{
TIM_SetCompare2(TIM3,pwmval);
delay_ms(500); //90%的占空比延時0.5秒
flag=1;
}
if(flag==1)
{
if(pwmval>714) // 7143*10%=714.3
{
pwmval=pwmval-27; // 占空比變化范圍:7143*0.8=5714.4
// 變化時間段的時間分割1500ms÷7ms=214.285(段)
// 每個計數(shù)周期對應(yīng)占空比變化基數(shù)
TIM_SetCompare2(TIM3,pwmval);
delay_ms(7); // 頻率140HZ等于周期0.007秒
}
if(pwmval<714)
{
pwmval=6429;
flag=0;
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
(成功) PWM輸出實驗 2017.4.20.7z
(185.82 KB, 下載次數(shù): 389)
2022-1-11 06:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
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