📄 stepmotor.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit pos1=P0^0;
sbit neg1=P0^1;
sbit add=P0^2;
sbit minus=P0^3;
uchar code motopos[8]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
uchar code motoneg[8]={0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07,0x03};
uchar s=200;
uchar m=0;uchar n=0;
void delay(uchar x)
{
uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void pos()
{
//uchar m;
//for(m=0;m<8;m++)
//{
P1=motopos[m];
delay(s);
m++;
if (m==8) m=0;
//}
}
void neg()
{
// for(n=0;n<8;n++)
//{
P1=motoneg[n];
delay(s);
n++;
if (n==8) n=0;
//}
}
void main ()
{
while(1)
{
if (add==0)
{
delay(10);
if(add==0)
{
s=s-10;
if (s<=100) s=100;
}
}
if (minus==0)
{
delay(10);
if(minus==0)
{
s=s+10;;
if (s>=200) s=200;
}
}
if (pos1==0)
{
delay(10);
if(pos1==0) pos();
while (pos1==0);
}
if (neg1==0)
{
delay(10);
if(neg1==0) neg();
while (neg1==0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -