久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32四相五線步進電機驅動程序
[打印本頁]
作者:
yishuxiaoli
時間:
2018-9-20 13:58
標題:
stm32四相五線步進電機驅動程序
引腳A4-A7作為電機的四個控制信號。
單片機源程序如下:
//頭文件
#include "stm32f10x.h"
#include "usart.h"
#include "led.h"
#include "RTC_Time.h"
#include <stdio.h>
#include "delay.h"
//=============================================================================
//函數名稱:Delay
//功能概要:延時函數
//參數說明:無
//函數返回:無
//=============================================================================
//=============================================================================
//函數名稱:main
//功能概要:主函數
//參數說明:無
//函數返回:int
//=============================================================================
#define uchar unsigned char
#define uint unsigned int
void motor3(void);
void motor4(void);
u16 moto0_time=11000; //電機1的運行時間
u16 moto1_time=2000; //電機2的運行時間
void Delay1 (uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
void delay1_ms(u16 time)
{
u16 i=0;
while(time--)
{
i=12000;
while(i--) ;
}
}
int main(void)
{
u8 k=0;
//初始化LED
USART1_Config();
LED_GPIO_Config();
while (1)
{
LED0_OFF;
if(KEY0==0) //正轉按鈕
{
Delay1(0x00FFFF);
//motor1( );
motor3( );
MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;
MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;
k=1;
}
if(KEY1==0) //反轉按鈕
{
Delay1(0x00FFFF);
//motor2( );
motor4();
MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;
MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;
k=0;
}
}
}
//正轉函數
void motor3(void)
{
u8 j=0;
u16 i;
for(i=0;i<moto0_time;i++)
{
switch(j)
{
case 0:{
{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}
if(i<moto1_time)
{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 1:{
{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}
if(i<moto1_time)
{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 2:{
{ MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;}
if(i<moto1_time)
{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 3:{
{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;}
if(i<moto1_time)
{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 4:{
{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;}
if(i<moto1_time)
{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 5:{
{ MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{ MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 6:{
{ MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{ MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 7:{
{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
}
j++;
if(j>=8) j=0;
Delay1(0x01222);
//delay1_ms(1);
}
}
//反轉函數
void motor4(void)
{
u8 j;
u16 i;
j=0;
for(i=0;i<moto0_time;i++)
{
switch(j)
{
case 0:{
{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 1:{
{ MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 2:{
{ MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}
if(i<moto1_time)
{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 3:{
{ MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;}
if(i<moto1_time)
{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 4:{
{ MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;}
if(i<moto1_time)
{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_OFF; }
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 5:{
{ MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;}
if(i<moto1_time)
{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 6:{
{ MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}
if(i<moto1_time)
{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
case 7:{
{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}
if(i<moto1_time)
{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}
else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}
};break;
}
j++;
if(j>=8) j=0;
Delay1(0x01222);
// delay1_ms(2);
}
LED0_ON;
}
/*
四拍
void motor1(void) 反轉
{
u8 j;
u16 i;
j=0;
for(i=0;i<1000;i++)
{
switch(j)
{
case 0:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;
MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;
case 1:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;
MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;
case 2:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;
MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;
case 3:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;
MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;
}
j++;
if(j>=4) j=0;
//delay_ms(10);
Delay1(0x003FFF);
}
LED0_ON;
}
void motor2(void) 正轉
{
u8 j;
u16 i;
j=0;
for(i=0;i<1000;i++)
{
switch(j)
{
case 0:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;
MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;
case 1:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;
MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;
case 2:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;
MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;
case 3:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;
MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;
}
j++;
if(j>=4) j=0;
//delay_ms(5);
Delay1(0x003FFF);
}
}
*/
/*
八拍加四拍混合
void motor5(void) 反轉
{
u8 j;
u16 i;
j=0;
for(i=0;i<2000;i++)
{
switch(j)
{
case 0:{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;
case 1:{MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;
case 2:{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;
case 3:{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;};break;
case 4:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;};break;
case 5:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;};break;
case 6:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;};break;
case 7:{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;};break;
case 8:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;
MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;
case 9:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;
MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;
case 10:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;
MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;
case 11:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;
MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;
}
j++;
if(j>=8) j=0;
Delay1(0x002FEE);
// delay1_ms(2);
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
2.四相五線 步進電機 兩個小電機同步轉90度.rar
(402.96 KB, 下載次數: 76)
2018-9-20 16:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-9-20 16:49
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美不卡在线
|
天天拍夜夜操
|
在线观看av的网站
|
久久高清免费视频
|
69成人网
|
免费在线观看av
|
成人午夜视频在线观看
|
日本高潮视频
|
电家庭影院午夜
|
久久精品一区二区三区四区
|
国产一区二区福利
|
99cao
|
亚洲涩涩涩
|
97久久久
|
激情高潮到大叫狂喷水
|
久久久久免费
|
亚洲天堂欧美
|
欧美视频在线观看免费
|
伊人亚洲综合
|
欧美在线视频一区
|
日本在线天堂
|
九色在线视频
|
亚洲欧美日本在线
|
伊人av影院
|
国产精品一二三
|
国产精品aaa
|
91亚洲精品在线
|
日韩在线小视频
|
午夜成人影视
|
日韩国产在线播放
|
日韩免费一区二区三区
|
日本大尺度吃奶做爰久久久绯色
|
国产高清视频
|
中文字幕免费av
|
毛片网站免费观看
|
国产伦理一区二区
|
特级毛片爽www免费版
|
日韩精品国产精品
|
欧美综合在线视频
|
麻豆成人91精品二区三区
|
国产精品福利在线观看
|