新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于單片機編程設(shè)計和控制步進電機的注意事項

關(guān)于單片機編程設(shè)計和控制步進電機的注意事項

作者: 時間:2012-12-11 來源:網(wǎng)絡(luò) 收藏
關(guān)于設(shè)計的注意事項,我是這樣認為的,首先要考慮程序的,要簡潔、維護方便,還要有可擴展空間,簡單明了,子程序的搭配,延時的應(yīng)用,和中斷的配合,主函數(shù)調(diào)取子程序模塊的效率、循環(huán)某個子程序的時間,條件觸發(fā)啟動子程序能迅速響應(yīng)主程序的調(diào)配。 通過以上可以看出,編一個好的程序,要考慮到單片機軟件的方方面面,所以編程時,一定不能馬虎,如果馬虎,那么你的程序就會出錯,到時還得糾錯,費時費力。

如果遇到關(guān)于步進電機的程序,那么一定要考慮到步進電機的正反轉(zhuǎn)進制碼,還要考慮到轉(zhuǎn)速,還有當前步進電機的狀態(tài)顯示,所以編一個程序,是一件很辛苦的事,還好有http://www.51hei.com這個學(xué)習(xí)單片機的好網(wǎng)站,可以找到很多例子和朋友。有時候累了就上論壇那泡一泡,可能會有點收獲,我這些經(jīng)驗也是長期泡單片機論壇總結(jié)出來的。對于步進電機的這個程序我認為難就難在步進電機和顯示的進制碼上,如:

uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};電機正轉(zhuǎn)
uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};電機反轉(zhuǎn)

步進電機正轉(zhuǎn)
**********************************/
void motor_ffw()
{
uchar i;
uint j;
for (j=0; j12; j++) //轉(zhuǎn)1*n圈
{
if(k4==0)
{break;} //退出此循環(huán)程序
for (i=0; i8; i++) //一個周期轉(zhuǎn)30度
{
P1 = FFW[i]; //取數(shù)據(jù)
yanshia(15); //調(diào)節(jié)轉(zhuǎn)速
}
}
}
/**********************************
步進電機反轉(zhuǎn)
**********************************/
void motor_rev()
{
uchar i;
uint j;
for(j=0;j12;j++)
{
if(k4==0)
{break;}
for(i=0;i8;i++)
{
P1=REV[i];
yanshia(15);
}
}
}



評論


相關(guān)推薦

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

關(guān)閉