找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3053|回復(fù): 3
收起左側(cè)

STM32直流電機驅(qū)動程序

[復(fù)制鏈接]
ID:425288 發(fā)表于 2018-11-12 21:07 | 顯示全部樓層 |閱讀模式
這是很適合新手的直流電機驅(qū)動完整代碼。
可以根據(jù)按鍵來控制電機的正轉(zhuǎn)、反轉(zhuǎn)和停止

單片機源程序如下:
  1. #include "stm32f10x.h"         //官方庫
  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電機驅(qū)動初始化
  10.         delay_init();  //延時函數(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官方庫
  3. #include "stm32f10x_rcc.h"  //導(dǎo)入STM32的RCC時鐘庫
  4. #include "delay.h"       //延時庫

  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);  //開啟引腳時鐘
  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ù),寫進
  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提供下載:
直流電機驅(qū)動.rar (276.3 KB, 下載次數(shù): 77)


回復(fù)

使用道具 舉報

ID:573864 發(fā)表于 2019-7-10 18:11 | 顯示全部樓層
大佬  按鍵控制怎么加
回復(fù)

使用道具 舉報

ID:657909 發(fā)表于 2019-12-6 23:03 | 顯示全部樓層
不錯不錯,謝謝了
回復(fù)

使用道具 舉報

ID:737765 發(fā)表于 2020-4-25 15:47 | 顯示全部樓層
按鍵控制是要自己寫么,電路圖可以分享一下么
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表