找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11686|回复: 11
打印 上一主题 下一主题
收起左侧

(成功)STM32 PWM输出实验 占空比和频率实时可调

  [复制链接]
跳转到指定楼层
楼主
ID:216899 发表于 2017-7-3 20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
输出占空比和频率实时可调的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, 下载次数: 388)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏9 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:252823 发表于 2018-5-18 22:37 | 只看该作者
学习中,感谢分享!
回复

使用道具 举报

板凳
ID:598080 发表于 2019-10-23 13:38 | 只看该作者
学习,看看.感谢分享!
回复

使用道具 举报

地板
ID:629138 发表于 2019-10-23 22:36 | 只看该作者
学习中,感谢分享
回复

使用道具 举报

5#
ID:629138 发表于 2019-10-23 22:36 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

6#
ID:387200 发表于 2019-11-5 15:52 | 只看该作者
感谢楼主分享
回复

使用道具 举报

7#
ID:727275 发表于 2020-4-22 14:03 | 只看该作者
学习PWM输出实验 占空比和频率实时可调,看看.感谢分享!
回复

使用道具 举报

8#
ID:209739 发表于 2020-12-11 17:07 | 只看该作者
频率调节没有吧!
回复

使用道具 举报

9#
ID:81138 发表于 2021-1-27 18:05 | 只看该作者
STM32 PWM输出实验 占空比和频率实时可调 是不是电压可调呢
回复

使用道具 举报

10#
ID:469589 发表于 2021-2-22 21:13 | 只看该作者
感谢楼主分享,必定认真学习!
回复

使用道具 举报

11#
ID:975284 发表于 2022-1-10 22:02 | 只看该作者
什么东西,不能用
回复

使用道具 举报

12#
ID:958524 发表于 2022-1-15 22:08 | 只看该作者
这个和正点原子代码差不多啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表