标题:
STM32四通道高级定时器TIM1的PWM波源程序
[打印本页]
作者:
爱学习的朋友
时间:
2020-3-12 23:19
标题:
STM32四通道高级定时器TIM1的PWM波源程序
使用STM32F407的四通道高级定时器TIM1的PWM波,可以同时生成四路,占空比可调的PWM波。大家有兴趣的看一看吧。
单片机源程序如下:
#include "include.h"
void TIM1INIT()
{
}
int main(void)
{
// u16 led0pwmval=0;
// u8 dir=1;
Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
delay_init(168); //延时初始化
TIM1_PWM_Init(20000-1,168-1); //168M/420=400khz的计数频率,重装载值8000,所以PWM频率为 400k/8000=50hz.
LED_Init();
// delay_ms(1000);
// delay_ms(1000);
// PWM_0_VAL=2200;
// PWM_1_VAL=2200;
// PWM_2_VAL=2200;
// PWM_3_VAL=2200;
// delay_ms(1000);
// delay_ms(1000);
PWM_0_VAL=1000;
PWM_1_VAL=1000;
PWM_2_VAL=1000;
PWM_3_VAL=1000;
LED2=!LED2;
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
LED2=!LED2;
PWM_0_VAL=1150;
PWM_1_VAL=1150;
PWM_2_VAL=1150;
PWM_3_VAL=1150;
LED2=!LED2;
// delay_ms(1000);
// delay_ms(1000);
// delay_ms(1000);
// LED2=!LED2;
// PWM_0_VAL=1250;
// PWM_1_VAL=1250;
// PWM_2_VAL=1250;
// PWM_3_VAL=1250;
// LED2=!LED2;
// delay_ms(1000);
// delay_ms(1000);
// delay_ms(1000);
// LED2=!LED2;
// PWM_0_VAL=1350;
// PWM_1_VAL=1350;
// PWM_2_VAL=1350;
// PWM_3_VAL=1350;
// LED2=!LED2;
// delay_ms(1000);
// delay_ms(1000);
// delay_ms(1000);
// delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
while(1)
{
delay_ms(1000);
// PWM_0_VAL=1052;
// PWM_1_VAL=1053;
// PWM_2_VAL=1052;
// PWM_3_VAL=1052;
LED2=!LED2;
PWM_0_VAL=1000;
PWM_1_VAL=1000;
PWM_2_VAL=1000;
PWM_3_VAL=1000;
}
// led0pwmval=10;
// PWM_0_VAL+=led0pwmval;
// PWM_1_VAL+=led0pwmval;
// PWM_2_VAL+=led0pwmval;
// PWM_3_VAL+=led0pwmval;
}
复制代码
所有资料51hei提供下载:
TIM1--四路四通道PWM.7z
(96.76 KB, 下载次数: 28)
2020-3-12 23:50 上传
点击文件名下载附件
四通道
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1