新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 步進(jìn)電機(jī)加速-勻速-減速運(yùn)行程序(C51源程序)

步進(jìn)電機(jī)加速-勻速-減速運(yùn)行程序(C51源程序)

作者: 時(shí)間:2018-08-01 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/201808/384843.htm

ME300系列單片機(jī)開發(fā)系統(tǒng)+步進(jìn)電機(jī)模塊演示程序

功能:步進(jìn)電機(jī)以加速方式啟動(dòng),轉(zhuǎn)速達(dá)到程序規(guī)定的最快速度后保持一段時(shí)間勻速運(yùn)轉(zhuǎn),又開始以減速

方式運(yùn)行直到步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng)。由K1鍵控制演示程序運(yùn)行。步進(jìn)電機(jī)模塊上D1-D4可以指示工作狀態(tài)。

/******************************************************************/

/* */

/* ME300B單片機(jī)開發(fā)系統(tǒng)演示程序 - 步進(jìn)電機(jī)加減速運(yùn)行程序 */

/* */

/* 步進(jìn)電機(jī)啟動(dòng)時(shí),轉(zhuǎn)速由慢到快逐步加速。 */

/* 步進(jìn)電機(jī)勻速運(yùn)行 */

/* 步進(jìn)電機(jī)由快到慢逐步減速到停止 */

/* 網(wǎng)站http://www.elecfans.com */

/******************************************************************/

#include //51芯片管腳定義頭文件

#include //內(nèi)部包含延時(shí)函數(shù) _nop_();

#define uchar unsigned char

#define uint unsigned int

sbit K1=P1^4;

uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};

//uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};

uchar rate ;

/********************************************************/

/*

/* 延時(shí)

/* 11.0592MHz時(shí)鐘,

/*

/********************************************************/

void delay()

{

uchar k;

uint s;

k = rate;

do

{

for(s = 0 ; s 500 ; s++) ;

}while(--k);

}

/********************************************************/

/*

/*步進(jìn)電機(jī)正轉(zhuǎn)

/*

/********************************************************/

void motor_ffw()

{

uchar i;

for (i=0; i8; i++) //一個(gè)周期轉(zhuǎn)30度

{

P1 = FFW[i]; //取數(shù)據(jù)

delay(); //調(diào)節(jié)轉(zhuǎn)速

}

}

/********************************************************

*

*步進(jìn)電機(jī)運(yùn)行

*

*********************************************************/

void motor_turn()

{

uchar x;

rate=0x10;

x=0xf0;

do

{

motor_ffw(); //加速

rate--;

}while(rate!=0x01);

do

{

motor_ffw(); //勻速

x--;

}while(x!=0x01);

do

{

motor_ffw(); //減速

rate++;

}while(rate!=0x10);

}

/********************************************************

*

* 主程序

*

*********************************************************/

main()

{

P1=0xf0;

while(1)

{

P1=0xf0;

if(K1==0)

{

motor_turn();

}

}

}

/********************************************************/



關(guān)鍵詞: 51單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉