文档介绍:51单片机步进电机正反转停止实验-C51源代码#include<>//51芯片管脚定义头文件#include<> //内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//四相八拍正转编码ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};////四相八拍反转编码sbitK1=P3^2;//正转sbitK2=P3^3;//反转sbitK3=P3^4;//停止sbitBEEP=P3^6;//蜂鸣器/********************************************************//*/*延时t毫秒/*,延时约1ms/*/********************************************************/voiddelay(uintt){uintk;while(t--){for(k=0;k<125;k++){}}}/**********************************************************/voiddelayB(ucharx)//x*{uchari;while(x--){for(i=0;i<13;i++){}}}/**********************************************************/voidbeep(){uchari;for(i=0;i<100;i++){delayB(4);BEEP=!BEEP;//BEEP取反}BEEP=1;//关闭蜂鸣器}/********************************************************//*/*步进电机正转/*/********************************************************/voidmotor_ffw(){uchari;uintj;for(j=0;j<8;j++)//转1*n圈{ if(K3==0){break;}//退出此循环程序for(i=0;i<8;i++)//一个周期转45度{P1=FFW[i];//取数据delay(2);//调节转速}}}/********************************************************//*/*步进电机反转/*/********************************************************/voidmotor_rev(){uchari; uintj; for(j=0;j<8;j++)//转1×n圈{ if(K3==0){