欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
步進電機驅動器簡單應用-自動廣告牌控制51單片機程序
[打印本頁]
作者:
51heisex
時間:
2016-1-24 02:50
標題:
步進電機驅動器簡單應用-自動廣告牌控制51單片機程序
#include <REG51.H>
/*定義程序中的公共變量參數*/
unsigned int ti_dis; //定義時間間隔
unsigned int mot_step; //定義步數
unsigned int mo_bc=25;//定義電機所轉圈數的參數,可根據實際情況修改
unsigned int js=150; //定義電機速度參數,數值越小,速度越快,最小為8,小于8可能堵轉。根據實際情況可進行修改。
unsigned int cjs=15; //定義時間基本控制參數,如無問題不需要修改
/*變量參數定義結束*/
/*以下為延時控制過程*/
void delay(unsigned int ti_small,unsigned int ti_base)//ti_small為時間最小單位,ti_base=1000時為10ms,a*ti=mS
{
while(--ti_small!=0) //循環開始
{
for(ti_dis=0;ti_dis<=ti_base;ti_dis++); //時間累加器
}
}
/*時間延時過程結束*/
/*以下為主程序,執行電機的正反轉,控制速度和延時*/
void main(void)
{
P1=0xFF; //穩定信號輸出,防止上電時電機轉子因信號不穩定抖動
delay(1000,1000); //加電10s后再運行主程序,給調試人員留出足夠準備時間,防止出現事故?筛鶕䦟嶋H情況修改,為安全起見建議時間延長
/*以下程序未控制電機運動方式的主體部分*/
while(1) //無限循環
{
for(mot_step=0;mot_step<mo_bc;mot_step++) //循環控制旋轉圈數,正轉
{
delay(js,cjs); //每步延時
P1=0xF7; //電機轉速,正傳
delay(js,cjs); //每步延時
P1=0xFB; //電機轉速,正傳
}
P1=0x00; //軟制動,防止機械部件因慣性造成過位
delay(20,cjs); //延長制動時間,防止電機拖動的負荷因慣性造成過未,如果需要調整制動停留時間,數字20根據實際情況修改
P1=0xFF; //防止停車后電機過熱
delay(1000,1000); //間隔10s,還行反轉,可根據需求進行修改
for(mot_step=0;mot_step<mo_bc;mot_step++) //循環控制旋轉圈數,反轉
{
delay(js,cjs); //每步延時
P1=0xFD; //電機轉速,反傳
delay(js,cjs); //每步延時
P1=0xFE; //電機轉速,反傳
}
P1=0x00; //軟制動,防止機械部件因慣性造成過位
delay(20,cjs); //延長制動時間,防止電機拖動的負荷因慣性造成過未,如果需要調整制動停留時間,數字20根據實際情況修改
P1=0xFF; //防止停車后電機過熱
delay(1000,1000); //間隔10s,執行正傳,可根據需求進行修改
}
/*電機控制主體部分結束*/
}
/*主程序段結束*/
作者:
DIY電子
時間:
2016-7-4 23:55
謝謝分享 學習.........
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1