關(guān)于單片機編程設計和控制步進(jìn)電機的注意事項
如果遇到關(guān)于步進(jìn)電機的程序,那么一定要考慮到步進(jìn)電機的正反轉進(jìn)制碼,還要考慮到轉速,還有當前步進(jìn)電機的狀態(tài)顯示,所以編一個(gè)程序,是一件很辛苦的事,還好有http://www.51hei.com這個(gè)學(xué)習單片機的好網(wǎng)站,可以找到很多例子和朋友。有時(shí)候累了就上論壇那泡一泡,可能會(huì )有點(diǎn)收獲,我這些經(jīng)驗也是長(cháng)期泡單片機論壇總結出來(lái)的。對于步進(jìn)電機的這個(gè)程序我認為難就難在步進(jìn)電機和顯示的進(jìn)制碼上,如:
uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};電機正轉
uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};電機反轉
步進(jìn)電機正轉
**********************************/
void motor_ffw()
{
uchar i;
uint j;
for (j=0; j12; j++) //轉1*n圈
{
if(k4==0)
{break;} //退出此循環(huán)程序
for (i=0; i8; i++) //一個(gè)周期轉30度
{
P1 = FFW[i]; //取數據
yanshia(15); //調節轉速
}
}
}
/**********************************
步進(jì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);
}
}
}
評論