找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1396|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

步進(jìn)電機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:372219 發(fā)表于 2018-8-23 10:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#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();
                }
        }
        }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表