标题: (成功)STM32 PWM输出实验 占空比和频率实时可调 [打印本页]

作者: WBxykl    时间: 2017-7-3 20:17
标题: (成功)STM32 PWM输出实验 占空比和频率实时可调
输出占空比和频率实时可调的PWM波!
实验目的:
    学习定时器的PWM功能
   
硬件资源:
    1,DS0(连接在PB5)
    2,定时器3(TIM3),使用TIM3的通道2(CH2),开启部分重映射,将TIM3_CH2输出到PB5.
    从而实现PWM输出控制DS0亮度.
   
实验现象:
    本实验,DS0由暗到亮,再由亮到暗,再由暗到亮,依次循环.
   
注意事项:
    无.

        
单片机源程序如下:
  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();             //延时函数初始化      
  12.     //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);      //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  13.     //uart_init(115200);     //串口初始化为115200
  14.      //LED_Init();                 //LED端口初始化
  15.      TIM3_PWM_Init(7143,71);//预分频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.                                                     // 每个计数周期对应占空比变化基数
  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. }
复制代码

所有资料51hei提供下载:
(成功) PWM输出实验 2017.4.20.7z (185.82 KB, 下载次数: 389)



作者: ahai    时间: 2018-5-18 22:37
学习中,感谢分享!
作者: justchen    时间: 2019-10-23 13:38
学习,看看.感谢分享!
作者: Armind    时间: 2019-10-23 22:36
学习中,感谢分享
作者: Armind    时间: 2019-10-23 22:36
谢谢楼主分享
作者: 狗肉天涯    时间: 2019-11-5 15:52
感谢楼主分享
作者: whwitp    时间: 2020-4-22 14:03
学习PWM输出实验 占空比和频率实时可调,看看.感谢分享!
作者: goyhuan    时间: 2020-12-11 17:07
频率调节没有吧!
作者: cyrs    时间: 2021-1-27 18:05
STM32 PWM输出实验 占空比和频率实时可调 是不是电压可调呢
作者: GlenXu    时间: 2021-2-22 21:13
感谢楼主分享,必定认真学习!
作者: yuyuff    时间: 2022-1-10 22:02
什么东西,不能用
作者: liuxiaolin20000    时间: 2022-1-15 22:08
这个和正点原子代码差不多啊





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1