標(biāo)題: STM32直流電機(jī)驅(qū)動(dòng)程序 [打印本頁(yè)]

作者: 餓了喝露水    時(shí)間: 2018-11-12 21:07
標(biāo)題: STM32直流電機(jī)驅(qū)動(dòng)程序
這是很適合新手的直流電機(jī)驅(qū)動(dòng)完整代碼。
可以根據(jù)按鍵來(lái)控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"         //官方庫(kù)
  2. #include "stm32f10x_gpio.h"
  3. #include "stm32f10x_rcc.h"

  4. #include "motor.h"
  5. #include "delay.h"
  6. #include "key.h"


  7. int main(void)
  8. {
  9.         Motor_12_Config(); //298電機(jī)驅(qū)動(dòng)初始化
  10.         delay_init();  //延時(shí)函數(shù)初始化
  11.         key_init();  //按鍵初始化
  12.        
  13.         while(1)
  14.         {
  15.         Motor_1_PRun(); //正轉(zhuǎn)
  16.         Motor_2_PRun();
  17.        
  18.         delay_ms(10000); //轉(zhuǎn)三秒
  19.         delay_ms(10000);
  20.         delay_ms(10000);
  21.        
  22.         Motor_1_NRun();  //反轉(zhuǎn)
  23.         Motor_2_NRun();
  24.                
  25.         delay_ms(10000); //轉(zhuǎn)三秒
  26.         delay_ms(10000);
  27.         delay_ms(10000);
  28.        
  29.         Motor_1_STOP();  //停止
  30.         Motor_2_STOP();
  31.        
  32.         delay_ms(10000);  //停三秒
  33.         delay_ms(10000);
  34.         delay_ms(10000);
  35.   }
  36. }
復(fù)制代碼
  1. #include "motor.h"  //導(dǎo)入led頭文件
  2. #include "stm32f10x.h"  //導(dǎo)入STM32官方庫(kù)
  3. #include "stm32f10x_rcc.h"  //導(dǎo)入STM32的RCC時(shí)鐘庫(kù)
  4. #include "delay.h"       //延時(shí)庫(kù)

  5. void Motor_12_Config(void)  //定義初始化函數(shù)
  6. {
  7.         GPIO_InitTypeDef GPIO_InitStructure;   //定義GPIO_InitTypeDef結(jié)構(gòu)體
  8.   RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);  //開啟引腳時(shí)鐘
  9.        
  10.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5; //定義IN引腳
  11.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //通用推挽輸出
  12.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //設(shè)置輸出功率
  13.         GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化GPIOA的引腳參數(shù),寫進(jìn)
  14.        
  15.         GPIO_ResetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5); //所有引腳拉低
  16. }

  17. void Motor_1_STOP(void)
  18. {
  19.         IN1(High);
  20.         IN2(High);
  21. }

  22. void Motor_1_PRun(void)
  23. {
  24.         IN1(Low);
  25.         IN2(High);
  26. }

  27. void Motor_1_NRun(void)
  28. {
  29.         IN1(High);
  30.         IN2(Low);
  31. }

  32. void Motor_2_STOP(void)
  33. {
  34.         IN3(High);
  35.         IN4(High);
  36. }

  37. void Motor_2_PRun(void)
  38. {
  39.         IN3(Low);
  40.         IN4(High);
  41. }

  42. void Motor_2_NRun(void)
  43. {
  44.         IN3(High);
  45.         IN4(Low);
  46. }
復(fù)制代碼


所有資料51hei提供下載:
直流電機(jī)驅(qū)動(dòng).rar (276.3 KB, 下載次數(shù): 77)



作者: 13958988573    時(shí)間: 2019-7-10 18:11
大佬  按鍵控制怎么加
作者: zgb236    時(shí)間: 2019-12-6 23:03
不錯(cuò)不錯(cuò),謝謝了
作者: 喲呼哈    時(shí)間: 2020-4-25 15:47
按鍵控制是要自己寫么,電路圖可以分享一下么




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1