找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1552|回复: 1
收起左侧

自己写的stm32f103zet6战舰开发板四路pwm源程序

[复制链接]
ID:539559 发表于 2019-7-18 22:50 | 显示全部楼层 |阅读模式
正在学习32的定时器,自己写的四路pwm源代码,希望可以帮得上大家!!!

单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "led.h"
  3. #include "delay.h"
  4. #include "timer.h"
  5. #include "sys.h"
  6. #include "key.h"
  7. #include "usart.h"
  8. //#include "intrins.h"

  9. int main(void)
  10. {
  11.         u16 i = 0;
  12.         u8 key = 0;
  13.         u16 led0pwmval = 0;
  14.         u16 led0pwmva2 = 0;
  15.         u16 led0pwmva3 = 0;
  16.         u16 led0pwmva4 = 0;

  17.         delay_init();
  18.         LED_Init();
  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  20.         TIM3_PWM_Init(100,100);                                                        //20ms
  21.         uart_init(9600);
  22.         KEY_Init();
  23.         while(1)
  24.         {
  25.                 key = KEY_Scan(0);
  26.                
  27.                 if(key)
  28.                 {
  29.                         switch(key)
  30.                         {
  31.                                 case 1:        led0pwmval = 0;
  32.                                                 led0pwmva2 = 0;
  33.                                                 led0pwmva3 = 0;
  34.                                                 led0pwmva4 = 0;        break;
  35.                                
  36.                                 case 2: led0pwmval=led0pwmval+5;        break;
  37.                                 case 3: led0pwmva2=led0pwmva2+5;        break;
  38.                                 case 4: led0pwmva3=led0pwmva3+5;        break;
  39.                                 case 5: led0pwmva4=led0pwmva4+5;        break;
  40.                                                
  41.                         }
  42.                 }
  43.                
  44.                 TIM_SetCompare1(TIM3,led0pwmval);
  45.                
  46.                 TIM_SetCompare2(TIM3,led0pwmva2);
  47.                
  48.                 TIM_SetCompare3(TIM3,led0pwmva3);
  49.                
  50.                 TIM_SetCompare4(TIM3,led0pwmva4);
  51.                
  52.                 delay_ms(1);
  53.                 i++;
  54.                 if(i == 500)
  55.                 {
  56.                         i = 0;
  57.                         printf(" dj1 = %d",led0pwmval);
  58.                         printf(" dj2 = %d",led0pwmva2);
  59.                         printf(" dj3 = %d",led0pwmva3);
  60.                         printf(" dj4 = %d\r\n",led0pwmva4);
  61.                 }
  62.         }
  63. }
复制代码

所有资料51hei提供下载:
7.1 定时器3 (4 通道PWM ).7z (185.31 KB, 下载次数: 19)


回复

使用道具 举报

ID:586967 发表于 2019-7-20 13:39 | 显示全部楼层
接单片机开发吗?深圳龙华
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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