當前位置:編程學習大全網 - 編程軟體 - 求51單片機控制步進電機程序

求51單片機控制步進電機程序

給妳壹段電機走壹步的函數吧!

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

函數名:步進電機正反轉壹步

調 用:MOTOR()

參 數:Mot=0,電機反轉壹步 ,Mot=1電機正轉

返回值:無

結 果:電機坐標 Motor 自動加壹或減壹,電機走壹步

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

void MOTOR(void){ //步進電機正反轉壹步子程序

code unsigned char MOTOR_DB[]={0x00,0xb0,0x90,0xd0,0x50,0x70,0x60,0xe0,0xa0,0x00};//定義電機輸出編碼

unsigned char i;

MOIC=0; //開電機電流

i=0; //電機輸出編碼初值設00

CBB=10; //設減小電機電流時間設為10

if(Mot==1)Mo_data++;

else{if(Mo_data!=0)Mo_data--;}//如果電機反轉,並且當前電機坐標不小於1時,坐標減壹

while(1)

{

if(Mot)Motor_t ++;//當前電機輸出編碼加壹指向下壹編碼

else Motor_t --;//電機輸出編碼減壹

i=MOTOR_DB[Motor_t]; //取電機輸出編碼

if(i!=0)break;

else{

if(Mot)Motor_t=0;

else Motor_t=9;

}

}

i=i&0xf8; //屏蔽低3位,高5位不變

M_data=M_data&0x07;//屏蔽P1口的高5位,低3位不變

M_data=M_data|i; //高5位送P1口,P1口的低3位不變

}

  • 上一篇:請問遊戲開發主要是什麽職業?
  • 下一篇:用ug進行計算機編程
  • copyright 2024編程學習大全網