找回密码
 立即注册

QQ登录

只需一步,快速开始

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

无法调节 Proteus仿真STM32 TIM1输出PWM控制直流电机调速

[复制链接]
跳转到指定楼层
楼主
ID:333701 发表于 2022-11-25 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用TIM1的CH1输出PWM信号,使用定时器的PWM输出功能,通过按键调整电机转向及转速

单片机源程序如下:
  1. #include "bsp_led.h"
  2. #include "systick.h"
  3. #include "bsp_usart.h"
  4. #include "bsp_motor.h"
  5. #include "bsp_AdvanceTim.h"
  6. #include "bsp_key.h"
  7. #include "stdio.h"

  8. u16 temp = 200;
  9. int main(void)
  10. {
  11.     RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
  12.     KEY_GPIO_Config();
  13.     Motor_GPIO_Init();
  14.     ADVANCE_TIM_GPIO_Config();
  15.     ADVANCE_TIM_Mode_Config();
  16.     while(1)
  17.     {

  18.         if(Key_Scan(KEY_GPIO_PORT,KEY1_GPIO_PIN)==KEY_ON)
  19.         {
  20.             Motor_Backward();
  21.         }
  22.         if(Key_Scan(KEY_GPIO_PORT,KEY2_GPIO_PIN)==KEY_ON)
  23.         {
  24.             Motor_Forward();
  25.         }
  26.         if(Key_Scan(KEY_GPIO_PORT,KEY3_GPIO_PIN)==KEY_ON)
  27.         {
  28.             if(temp>0)
  29.                 temp-=100;
  30.             else
  31.                 temp = 0;
  32.         }
  33.         if(Key_Scan(KEY_GPIO_PORT,KEY4_GPIO_PIN)==KEY_ON)
  34.         {
  35.             if(temp<1000)
  36.                 temp+=100;
  37.             else
  38.                 temp = 999;
  39.         }
  40.        TIM_SetCompare1(TIM1,temp);   
  41.     }  
  42. }



复制代码

Keil代码与Proteus仿真下载: 求指导
工程1.7z (247.5 KB, 下载次数: 11)

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

使用道具 举报

沙发
ID:320306 发表于 2022-11-28 16:43 | 只看该作者
建议用实物调试,目前Protues8仿真STM32还是有很多BUG。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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