找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1412|回复: 0
收起左侧

步进电机程序

[复制链接]
ID:372219 发表于 2018-8-23 10:27 | 显示全部楼层 |阅读模式
#include<reg52.h>
sbit KEY0=P0^0;
sbit KEY1=P0^1;
sbit KEY2=P0^2;
sbit KEY3=P0^3;
sbit KEY4=P0^4;
unsigned char a[]={0x01,0x02,0x04,0x08};
unsigned char b[]={0x08,0x04,0x02,0x01};
unsigned char c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
unsigned char i,s=0,f=0;
unsigned char k=200;
unsigned char l=4;
void delay(unsigned int t)
{
        unsigned char j,b;
b=t;
        while(b--)
        {
                for (j=0;j<125;j++);
        }
}
void key()
{P0=0x1f;
        if(P0!=0x1f)
        {delay(30);
                if(P0!=0x1f)
                {delay(30);
        if(KEY0==0)
        {s=1;}
        if(KEY1==0)
        {f=1;}
        if(KEY4==0)
        {s=0;
                f=0;}
        if(KEY2==0)
                {if(l>1)
                 l--;}
        if(KEY3==0)
          {if(l<7)
     l++;}
         }}
         }
void speed()
         {switch(l)
                        {case 7:k=50;P1=c[l];break;
                                case 6:k=100;P1=c[l];break;
                                case 5:k=150;P1=c[l];break;
                                case 4:k=200;P1=c[l];break;
                                case 3:k=250;P1=c[l];break;
                                case 2:k=300;P1=c[l];break;
                                case 1:k=350;P1=c[l];break;}
                        }
void main()
{
        while(1)
        {key();
        while(s>0)
        {speed();
                        for(i=0;i<4;i++)
                                {
                                        P2=b[i];
                                        delay(k);
                                        key();
                                }
                                delay(100);
                                key();
                }
        
        while(f>0)
        {speed();
                        for(i=0;i<4;i++)
                                {
                                        P2=a[i];
                                        delay(k);
                                        key();
                                }
                                delay(100);
                                key();
                }
        }
        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表