标题:
4线步进驱动 单片机源程序
[打印本页]
作者:
liuda
时间:
2015-1-21 21:53
标题:
4线步进驱动 单片机源程序
本帖最后由 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)//延时函数
{
uint i,j;
for(i=k;i>0;i--)
for(j=5;j>0;j--);
}
void delay(uint k)//延时函数
{
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);
}
}
}
}
}
复制代码
作者:
6ningning
时间:
2015-4-12 15:15
学习了。
作者:
lyrichard021
时间:
2015-6-15 12:27
应该把驱动器的型号分享一下,谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1