單片機控制步進電機要求:有加速、減速、停止、正轉(zhuǎn)、反轉(zhuǎn)按鈕,電機是四相五線,控制兩個步進電機,c程序
提問者: jytjq 2013-08-02 00:00
最好帶有硬件電路,驅(qū)動最好是L297和L298,謝謝各位大俠啊
最佳答案
我用的是控制一個步進電機的,這個是我以前寫的,你的要求在下面的程序做修改就行了;程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
//uchar table[]={0x18,0x30,0x60,0x48,0x48,0x60,0x30,0x18}; //二相勵磁
uchar table[]={0x08,0x10,0x20,0x40,0x40,0x20,0x10,0x08}; //一相勵磁
uchar num=0,maichong,zhengfan;
sbit add_key=P3^2; //加速鍵
sbit reduce_key=P3^3; //減速鍵
sbit zhengfan_key=P3^4; //正反轉(zhuǎn)按鍵
void delay(uint z) //延時1ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void only_key() //按鍵處理
{
static uchar flag; //定義成靜態(tài)只被定義一次
if(zhengfan_key==0) //檢測正反按鍵是否被按下
{
delay(5);
if(zhengfan_key==0)
{
flag=~flag; //取反
if(flag==0)
zhengfan=0; //正轉(zhuǎn),取數(shù)組前四位
else
zhengfan=4; //反轉(zhuǎn),取數(shù)組后四位
while(!zhengfan_key);
}
}
if(add_key==0) //檢測加按鍵是否被按下
{
delay(5);
if(add_key==0) //消抖
{
num++; //加速鍵按下,速度標(biāo)志加1
if(num==4) //已達(dá)到最大值3
num=3;
while(!add_key);
}
}
if(reduce_key==0) //檢測減按鍵是否被按下
{
delay(5);
if(reduce_key==0)
{
if(num!=0)
num--; //減速鍵按下,速度標(biāo)志減1
else
num=0; //減速到0則保持
while(!reduce_key);
}
}
}
void deal() //根據(jù)速度標(biāo)志進行數(shù)據(jù)處理
{
switch(num)
{
case 0: P0=0x06; //數(shù)據(jù)管顯示1
maichong=5; //轉(zhuǎn)速最慢
break;
case 1: P0=0x5b; //數(shù)據(jù)管顯示2
maichong=4;
break;
case 2: P0=0x4f; //數(shù)據(jù)管顯示3
maichong=3;
break;
case 3: P0=0x66; //數(shù)據(jù)管顯示4
maichong=2; //轉(zhuǎn)速最快
break;
}
}
void start() //電機速度和正反控制處理
{
uchar i,j;
for(i=zhengfan;i<4+zhengfan;i++)
{
P1=table[i];
for(j=0;j
回答者:wanzhipeng092016-08-02 00:00
相關(guān)問題
-
雪碧(飲料)Sprite小妖精,調(diào)皮鬼
樂百氏(飲料)Robust健壯的
金利來(領(lǐng)帶)Goldlion金獅子
司麥脫(襯衫)Smart瀟灑的
舒膚佳(香皂)Safeguard
提問者: c5lyy4u87 2014-11-27
-
NOKIA 5500
手機類型: 經(jīng)濟;
外觀樣式: 直板
上市日期: 2006年8月
手機制式: GSM
支持頻段: |900/1800/1900MHz|
和弦鈴聲: 64和弦
屏幕參數(shù): 2
提問者: oipis 2013-09-30
-
這種車是結(jié)合了山地車和公路車一些優(yōu)點產(chǎn)生的自行車.主要是既有山地的道路適應(yīng)性又有公路的快速性.一般用類似于山地車的架子和車把,還有剎車,這樣有利于提高操控.用公路車那種尺寸(700c)的輪胎.當(dāng)然了,輪胎要比公路的粗,公
提問者: vvzvvz 2013-04-18
-
價格:2200(行貨)
待機時間: 150-270小時
內(nèi)存卡:256MB MicroSD(TF),,
網(wǎng)絡(luò)制式: |GSM900/1800/1900MHz|[GPRS][EDGE]
可選顏色: 黑色、黃
提問者: 2dr_eam 2014-02-23
-
java
城市休閑迷你車(碟剎) 顏色有:黑 白 紅
JAVA Limited CL 20寸7005鋁合金車架及前叉
sram3.0后撥
s
提問者: 54geniusyang 2013-06-02
-
3000多點!
基本功能
『時鐘』 『內(nèi)置振動』 『可選鈴聲』 『MP3鈴聲』
『來電鈴聲識別』 『來電圖片識別』 『文件管理器』
8 三防功能: 防震、防水濺、防塵
8 錄音: Xpress 聲
提問者: xianghe1204 2013-09-08