51单片机控制步进电机_坏小子的空间_百度空间

#include <reg52.h>

bit Flag;//定义正反转标志位


unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正转表格
unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反转表格
/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{

unsigned char i;


EX1=1;         //外部中断0开
IT1=1;         //边沿触发
EA=1;          //全局中断开

while(!Flag)           
{
P0=0x71;//显示 F 标示正转
for(i=0;i<4;i++)      //4相
     {
     P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
     Delay(500);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag)
{
P0=0x7C;//显示 b 标示反转
for(i=0;i<4;i++)      //4相
     {
     P1=B_Rotation[i]; //输出对应的相
     Delay(500);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
}
/******************************************************************/
/*                   中断入口函数                                 */
/******************************************************************/
void ISR_Key(void) interrupt 2 using 1
{
Delay(300);

Flag=!Flag;         //s3按下触发一次,标志位取反

}



郑重声明:资讯 【51单片机控制步进电机_坏小子的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——