標(biāo)題:
4線步進(jìn)驅(qū)動(dòng) 單片機(jī)源程序
[打印本頁]
作者:
liuda
時(shí)間:
2015-1-21 21:53
標(biāo)題:
4線步進(jìn)驅(qū)動(dòng) 單片機(jī)源程序
本帖最后由 liuda 于 2015-1-21 21:55 編輯
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit menu=P2^4;//啟停
sbit dir1=P2^5;//方向
sbit jia=P2^6;// 加鍵
sbit jian=P2^7;//減鍵
uchar sm,dir,c,i;
uchar table[]={0x01,0x04,0x02,0x08};
uchar table1[]={0x08,0x02,0x04,0x01};
void delay1(uint k)//延時(shí)函數(shù)
{
uint i,j;
for(i=k;i>0;i--)
for(j=5;j>0;j--);
}
void delay(uint k)//延時(shí)函數(shù)
{
uint i,j;
for(i=k;i>0;i--)
for(j=170;j>0;j--);
}
void key()
{
if(menu==0)
{
delay(10);
if(menu==0)
{
c=!c;
while(!menu);
}
}
if(dir1==0)
{
delay(10);
if(dir1==0)
{
dir=!dir;
while(!dir1);
}
}
if(jia==0)
{
delay(10);
if(jia==0)
{
sm++;
if(sm==100)
sm=30;
while(!jia);
}
}
if(jian==0)
{
delay(10);
if(jian==0)
{
sm--;
if(sm==30)
sm=100;
while(!jian);
}
}
}
void main()
{
sm=30;
while(1)
{
key();
if(c==1)
{
if(dir==0)
{
for(i=0;i<4;i++)
{
P0=table[i];
delay1(sm);
}
}
if(dir==1)
{
for(i=0;i<4;i++)
{
P0=table1[i];
delay1(sm);
}
}
}
}
}
復(fù)制代碼
作者:
6ningning
時(shí)間:
2015-4-12 15:15
學(xué)習(xí)了。
作者:
lyrichard021
時(shí)間:
2015-6-15 12:27
應(yīng)該把驅(qū)動(dòng)器的型號(hào)分享一下,謝謝
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1