/********************************************************
步进电机正反转
操作方法:将POWER SUPPLY SWITCH 中的SW开关打开, 将JUMP
LINE HAT中的跳线帽取6个,将UN2003的VCCMC1和
VCCMC,GNDMC和GND,P01,P02,P03,P04短接,将KEY
部分的S2和P32,S3和P33短接,把步进电机插上,(总电源5V)
********************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit s1=P3^2; //正转键
sbit s2=P3^3; //反转键
uchar table[]={0x10,0x08,0x04,0x02}; //正转数组
uchar table1[]={0x02,0x04,0x08,0x10}; //反转数组
void delayus(uint i) //延时函数
{
while(i--);
}
void main()
{
uchar i,flag;
while(1)
{ //按键扫描
if(s1==0)
{
delayus(1000);
if(s1==0)
{
while(!s1);
flag=0;
}
}
if(s2==0)
{
delayus(1000);
if(s2==0)
{
while(!s2);
flag=1;
}
}
if(flag==0) //正转
{
for(i=0;i<4;i++)
{
P0=table1[i];
delayus(500);
}
}
if(flag) //反转
{
for(i=0;i<4;i++)
{
P0=table[i];
delayus(500);
}
}
}
}
|