查看: 5247  |  回复: 5
stm32项目按键控制pwm输出显示转速
G42zhao
1
主题
7
回复
发表于2018-12-12 17:24:27 | 显示全部楼层
1# 电梯直达

这个项目是我上学期间学习stm32单片机时候做的一个小程序,其功能是基础定时器输出pwm信号控制电机转动,高级定时器输入捕获直流电机反馈的转速频率,然后计算在液晶屏上显示出来电机转速,对初学STM32的定时器的人有一定的参考价值。  

开发板:秉火f103

驱动模块,直流减速电机,液晶屏。

主函数

#include "stm32f10x.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./usart/bsp_usart.h"
#include <stdio.h>
#include "bsp_AdvanceTim.h"
#include "stdlib.h"
#include "general.h"
#include "bsp_led.h"
#include "key.h"

static void LCD_Test(void); 

 int main ( void )
{
 ILI9341_Init ();         //LCD 初始化
 USART_Config();//串口初始化
 GENERAL_TIM_Init();//通用定时器初始化
 ADVANCE_TIM_Init(); //高级定时器初始化
 ILI9341_GramScan ( 6 );//液晶屏初始化

 while ( 1 )
 {
  LCD_Test();

 }  
}

void LCD_Test(void)
{

 LCD_SetFont(&Font8x16);
 LCD_SetColors(RED,BLACK);
 ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */

 LCD_SetFont(&Font8x16);
 LCD_SetTextColor(GREEN);

}

按键控制pwm.rar 

            程序编写的思路就是,通过设置通用定时器的配置,输出不同占空比的方波,通过电机驱动模块来驱动电机,直流减速编码电机会反馈自身转动时的频率,然后高级定时器开中断检测反馈的波形,通过公式计算来计算电机的转速,电极的转速计算公式可由电机数据手册查询到。在中断中加入按键检测,以实现通过不同的按键控制不同占空比的方波输出,达到电机的不同转速。最后高级定时器采集到的电机反馈频率通过液晶显示出来,液晶的配置详细参看文档,注:注意编译时候的C语言规则(本程序采用c99,软件采用keil5)

 详细的程序代码在文件中,可自行下载查看,如果对你有帮助,请支持一下。

 

G42zhao
1
主题
7
回复
发表于2018-12-12 17:26:21   |  显示全部楼层
2#
自己顶一下
G42zhao
1
主题
7
回复
发表于2018-12-14 13:20:26   |  显示全部楼层
3#

程序分块写的,便于阅读理解

G42zhao
1
主题
7
回复
发表于2018-12-20 11:16:32   |  显示全部楼层
4#

最近忙于考试,问题可以交流,qq1013774528

G42zhao
1
主题
7
回复
发表于2018-12-26 11:19:15   |  显示全部楼层
5#
顶一下
G42zhao
1
主题
7
回复
发表于2018-12-27 21:32:20   |  显示全部楼层
6#

还有其他课设设计程序可以分享。

 


主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部