基于stm32库函数版PWM输出实验
实验目的:
学习定时器的PWM功能
硬件资源:
1,DS0(连接在PA8)
2,定时器1(TIM1),使用TIM1的通道1(CH1),开启部分重映射,将TIM1_CH1输出到PA8.
从而实现PWM输出控制DS0亮度.
实验现象:
本实验,DS0由暗到亮,再由亮到暗,再由暗到亮,依次循环.
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "pwm.h"
- int main(void)
- {
- u16 led0pwmval=0;
- u8 dir=1;
- delay_init(); //延时函数初始化
- LED_Init(); //初始化与LED连接的硬件接口
- TIM1_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
- while(1)
- {
- delay_ms(10);
- if(dir)led0pwmval++;
- else led0pwmval--;
- if(led0pwmval>300)dir=0;
- if(led0pwmval==0)dir=1;
- TIM_SetCompare1(TIM1,led0pwmval);
- }
- }
复制代码
所有资料51hei提供下载:
PWM输出实验.7z
(184.22 KB, 下载次数: 44)
|