中科因仑“3+1”工程特种兵精英论坛

标题: 驱动步进电机 [打印本页]

作者: 张衍波    时间: 2015-4-20 16:27
标题: 驱动步进电机
/********************************************************************
                            汇诚科技
网址:http://www.ourhc.cn
产品有售淘宝店:http://shop36330473.taobao.com   
*********************************************************************/
#include <reg52.h>
#include <absacc.h>
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;

#define  UP   20
#define  DOWN  30
#define  STOP  40
/********************************************************************
                             延时程序
*********************************************************************/
void delay()//延时程序
{
        unsigned i,j,k;
        for(i=0;i<0x02;i++)
                for(j=0;j<0x02;j++)
                        for(k=0;k<0xff;k++);
}
/********************************************************************
                              主函数
*********************************************************************/
main()
{
        unsigned char temp;
        while(1)
        {
                if(p10==0)
                {
                        temp=UP;//控制正转
                        P2=0X00;
                        delay();
                }
                if(p11==0)
                {
                        temp=DOWN;//控制反转
                        P2=0X00;
                        delay();
                }
                if(p12==0)
                {
                        temp=STOP;//控制停止
                }
                switch(temp)
                {
                case DOWN : P2=0X01;//控制反转 //0011
                                        delay();
                                        delay();
                                        P2=0X02;//0110
                                        delay();
                                        delay();
                                        P2=0X04;//1100
                                        delay();
                                        delay();
                                        P2=0X08;//1001
                                        delay();
                                        delay();
                                        break;
                case UP :        P2=0X08;//控制正转
                                        delay();
                                        delay();
                                        P2=0X04;
                                        delay();
                                        delay();
                                        P2=0X02;
                                        delay();
                                        delay();
                                        P2=0X01;
                                        delay();
                                        delay();
                                        break;
                case  STOP ://控制停止
                                        P2=0X00;
                                        delay();
                                        delay();                                       
                                        break;
                }
   }
}

       
/********************************************************************
                              结束
*********************************************************************/
[attach]2366[/attach]







欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4