標(biāo)題:
STM32風(fēng)力擺系統(tǒng)源代碼
[打印本頁]
作者:
zqh_11
時(shí)間:
2017-10-19 19:16
標(biāo)題:
STM32風(fēng)力擺系統(tǒng)源代碼
希望能幫到人
所有資料51hei提供下載:
風(fēng)力擺源代碼.rar
(340.51 KB, 下載次數(shù): 16)
2017-10-19 20:14 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
風(fēng)力擺的stm32單片機(jī)源程序如下:
/*-------------------------------------------------------------------------------------------
風(fēng)力擺控制系統(tǒng)(8-12)
硬件平臺(tái):
主控器: STM32F103VET6 64K RAM 512K ROM
驅(qū)動(dòng)器: LMD18200T
電源: DC +12V
軟件平臺(tái):
開發(fā)環(huán)境: RealView MDK-ARM uVision4.10
C編譯器 : ARMCC
ASM編譯器:ARMASM
連接器: ARMLINK
底層驅(qū)動(dòng): 各個(gè)外設(shè)驅(qū)動(dòng)程序
時(shí)間: 2015年8月12日
作者: BoX
-------------------------------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "usart1.h"
#include "delay.h"
#include "led.h"
#include "timer.h"
#include "motor_control.h"
#include "motor_pwm.h"
#include "motor_pid.h"
#include "stdlib.h"
#include "indkey.h"
#include "mpu6050.h"
#include "ahrs.h"
#include "math.h"
#include "usart3.h"
/*------------------------------------------
全局變量
------------------------------------------*/
extern uint8_t Q1_Start;
extern uint8_t Q2_Start;
extern uint8_t Q3_Start;
extern uint8_t Q4_Start;
extern uint8_t Q5_Start;
extern uint8_t Q6_Start;
extern uint8_t CurMode;
/*-----------------------------------------
初始化外設(shè)
------------------------------------------*/
void BSP_Init(void)
{
DelayInit(); //延時(shí)函數(shù)初始化
LED_GPIO_Config(); //LED相關(guān)I/O口初始化
Key_IO_Init(); //按鍵I/O口
PID_M1_Init(); //初始化M1PID結(jié)構(gòu)體參數(shù)
PID_M2_Init(); //初始化M2PID結(jié)構(gòu)體參數(shù)
M1TypeDef_Init(); //初始化M1結(jié)構(gòu)體參數(shù)
M2TypeDef_Init(); //初始化M2結(jié)構(gòu)體參數(shù)
PWM_Init(); //PWM初始化
TIM1_Config(200-1,71); /* TIM1 10ms Inturrupt (用于掃描按鍵) */
TIM5_Config(5000-1,71); /* TIM5 5ms Inturrupt 采樣率200Hz 不能更改*/
USART1_Config(); //串口1初始化
USART1_printf(USART1," 系統(tǒng)啟動(dòng)成功!\r\n");
USART3_Config(); //串口2初始化
USART1_printf(USART1,"CLS(0);DS16(6,02,'2015全國大學(xué)生電子設(shè)計(jì)競賽',10);DS16(54,22,'風(fēng)力擺控制系統(tǒng)',2);\r\n");
Display_Title(); //顯示標(biāo)題(通過串口2發(fā)送)
MPU6050_Init(); //MPU6050初始化
TIM_Cmd(TIM5,ENABLE); //使能TIM5定時(shí)器,電機(jī)控制都在TIM5完成
TIM_Cmd(TIM1,ENABLE); //使能TIM1定時(shí)器
}
/*-----------------------------------------
主 函 數(shù)
------------------------------------------*/
int main(void)
{
BSP_Init(); //初始化所有的外設(shè)
//角度采樣和運(yùn)動(dòng)控制都在中斷函數(shù)TIM5_IRQHandler()中完成
while(1) //循環(huán)函數(shù),在有按鍵按下時(shí)做出相應(yīng)的操作
{
if(Q1_Start == 1)
{
CurMode = 1;
}
else if(Q2_Start == 1)
{
CurMode = 2;
}
else if(Q3_Start == 1)
{
CurMode = 3;
}
else if(Q4_Start == 1)
{
CurMode = 4;
}
else if(Q5_Start == 1)
{
CurMode = 5;
}
else if(Q6_Start == 1)
{
CurMode = 6;
}
else
{
CurMode = 0;
}
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1