|
yzwzfyz 發(fā)表于 2017-5-3 01:34
單片機(jī)不僅可以控制兩個電機(jī)正反轉(zhuǎn),再多也行啊。
#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define MotorData P0 //步進(jìn)電機(jī)控制接口定義uchar phasecw[3] ={0x04,0x02,0x01};//正轉(zhuǎn) 電機(jī)導(dǎo)通相序 C-B-Auchar phaseccw[3]={0x01,0x02,0x04};//反轉(zhuǎn) 電機(jī)導(dǎo)通相序 A-B-C//ms延時函數(shù)void Delay_xms(uint x){ uint i,j; for(i=0;i<x;i++) for(j=0;j<112;j++);}//順時針轉(zhuǎn)動void MotorCW(void){ uchar i; for(i=0;i<3;i++) { MotorData=phasecw; Delay_xms(3);//轉(zhuǎn)速調(diào)節(jié) }}//逆時針轉(zhuǎn)動void MotorCCW(void){ uchar i; for(i=0;i<3;i++) { MotorData=phaseccw; Delay_xms(3);//轉(zhuǎn)速調(diào)節(jié) }}//停止轉(zhuǎn)動void MotorStop(void){ MotorData=0x00;}//主函數(shù)void main(void){ uint i; Delay_xms(50);//等待系統(tǒng)穩(wěn)定 while(1) { for(i=0;i<500;i++) { MotorCW(); //順時針轉(zhuǎn)動 } MotorStop(); //停止轉(zhuǎn)動 Delay_xms(500); for(i=0;i<500;i++) { MotorCCW(); //逆時針轉(zhuǎn)動 } MotorStop(); //停止轉(zhuǎn)動 Delay_xms(500); }}我只知道控制一個的,你有沒有具體的控制兩個電機(jī)的程序啊 |
|