找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32四通道高级定时器TIM1的PWM波源程序

[复制链接]
跳转到指定楼层
楼主
ID:160651 发表于 2020-3-12 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STM32F407的四通道高级定时器TIM1的PWM波,可以同时生成四路,占空比可调的PWM波。大家有兴趣的看一看吧。

单片机源程序如下:

  1. #include "include.h"


  2. void TIM1INIT()
  3.         {
  4.                
  5.         }
  6.        
  7.        
  8. int main(void)
  9. {  
  10. //        u16 led0pwmval=0;   
  11. //        u8 dir=1;
  12.         Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
  13.         delay_init(168);                        //延时初始化   
  14.   TIM1_PWM_Init(20000-1,168-1);                //168M/420=400khz的计数频率,重装载值8000,所以PWM频率为 400k/8000=50hz.     
  15.         LED_Init();
  16. //          delay_ms(1000);         
  17. //                delay_ms(1000);         
  18. //          PWM_0_VAL=2200;
  19. //                PWM_1_VAL=2200;
  20. //                PWM_2_VAL=2200;
  21. //                PWM_3_VAL=2200;
  22. //          delay_ms(1000);         
  23. //                delay_ms(1000);         
  24.           PWM_0_VAL=1000;
  25.                 PWM_1_VAL=1000;
  26.                 PWM_2_VAL=1000;
  27.                 PWM_3_VAL=1000;
  28.                         LED2=!LED2;       
  29.                 delay_ms(1000);         
  30.                 delay_ms(1000);         
  31.                 delay_ms(1000);       
  32.                 LED2=!LED2;       
  33.                 PWM_0_VAL=1150;
  34.                 PWM_1_VAL=1150;
  35.                 PWM_2_VAL=1150;
  36.                 PWM_3_VAL=1150;
  37.                         LED2=!LED2;
  38. //                delay_ms(1000);         
  39. //                delay_ms(1000);         
  40. //                delay_ms(1000);       
  41. //                LED2=!LED2;       
  42. //                PWM_0_VAL=1250;
  43. //                PWM_1_VAL=1250;
  44. //                PWM_2_VAL=1250;
  45. //                PWM_3_VAL=1250;
  46. //                        LED2=!LED2;
  47. //                delay_ms(1000);         
  48. //                delay_ms(1000);         
  49. //                delay_ms(1000);       
  50. //                LED2=!LED2;       
  51. //                PWM_0_VAL=1350;
  52. //                PWM_1_VAL=1350;
  53. //                PWM_2_VAL=1350;
  54. //                PWM_3_VAL=1350;
  55. //                        LED2=!LED2;
  56. //                delay_ms(1000);         
  57. //                delay_ms(1000);         
  58. //                delay_ms(1000);       
  59. //                delay_ms(1000);         
  60.                 delay_ms(1000);         
  61.                 delay_ms(1000);       
  62.         while(1)
  63.         {
  64.                 delay_ms(1000);       
  65. //                PWM_0_VAL=1052;
  66. //                PWM_1_VAL=1053;
  67. //                PWM_2_VAL=1052;
  68. //                PWM_3_VAL=1052;
  69.                         LED2=!LED2;       
  70.                  PWM_0_VAL=1000;
  71.                 PWM_1_VAL=1000;
  72.                 PWM_2_VAL=1000;
  73.                 PWM_3_VAL=1000;
  74.        
  75.         }               
  76.                 //                led0pwmval=10;
  77. //                PWM_0_VAL+=led0pwmval;         
  78. //                PWM_1_VAL+=led0pwmval;
  79. //                PWM_2_VAL+=led0pwmval;
  80. //                PWM_3_VAL+=led0pwmval;
  81.        
  82.        
  83. }
复制代码

所有资料51hei提供下载:
TIM1--四路四通道PWM.7z (96.76 KB, 下载次数: 28)


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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