ascii吧 关注:128贴子:751
  • 4回复贴,共1
#include <reg51.h>
#define uint unsigned int
unsigned char code f_rotation[4]={0xCF,0x9F,0x3F,0x6F }; //双4拍正转相序字
unsigned char code b_rotation[4]={0x6F,0x3F,0x9F,0xCF }; //双4拍反转相序字
unsigned int speed=100; //定义初始速度(20-500)
sbit zheng=P3^2;
sbit fan=P3^4;
sbit up=P3^5;
sbit down=P3^7;
void delay_ms(uint x) //以毫秒为单位的步间延时函数
{
uint i,j;
for (i=x; i>0; i--)
for (j=114; j>0;j--);
}
void main()
{ unsigned char i;
while(1)
{
if(zheng==0){zheng=0;fan=1;
for(i=0;i<4;i++)
{
P2=f_rotation[i]; //查表并输出相序字,可自行换成反转表格
delay_ms(speed); //改变延时可调整步进电机的转速
}
}
if(fan==0){fan=0;zheng=1;
for(i=0;i<4;i++)
{
P2=b_rotation[i]; //查表并输出相序字,可自行换成反转表格
delay_ms(speed); //改变延时可调整步进电机的转速
}
}
if(up==0){
speed=speed-10;
if(speed==20) {speed=speed+10;}
while(!up);
}
if(down==0){
speed=speed+10;
if(speed==500) {speed=speed-10;}
while(!down);
}
}
}


IP属地:广东1楼2014-05-05 17:48回复


    IP属地:四川来自iPhone客户端2楼2014-05-06 07:52
    回复


      IP属地:四川来自iPhone客户端3楼2014-05-07 00:16
      回复


        IP属地:江苏4楼2015-02-27 17:52
        回复



          IP属地:广东来自Android客户端5楼2015-04-01 14:15
          回复