#include#define uint unsigned int
#define uchar unsigned char
uchar FED[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; uchar RVS[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; sbit Key1=P0^0; // 启动
sbit Key2=P0^7; // 停止
sbit Key3=P0^2; // 正转3圈
sbit Key4=P0^3; // 反转3圈
sbit Key5=P0^4; // 升速
sbit Key6=P0^5; // 降速
void delay100us(uint z)
{
//zheng
//fan
char x;
do{
x=46;
do{
}while(--x!=0);
}while(--z!=0);
}
void main()
{
uint k,i;
uchar qt=0,ss=0,js=0,bs=10;
while(1)
{
P1=0x00;
if(Key1==0)
{
qt=1; //启动
}
if(Key2==0)
{
qt=0; //停止
}
if(Key5==0)
{
ss=1; //加速
}
if(Key6==0)
{
js=0; //减速
}
if(qt==1)
{
for(k=0;k<=500;k++)
{
for(i=0;i<8;i++)
{
P1=FED[i];
delay100us(bs);
if(ss==1)
{
ss=0;
bs=bs-3;
}
}
}
for(k=0;k<500;k++)
{
for(i=0;i<8;i++)
{
P1=RVS[i];
delay100us(bs);
if(js==1)
{
js=0;
bs=bs+3;
}
}
}
}
if(qt==0)
{
P1=0x00;
if(Key3==0)
for(i=0;i<8;i++)
{
P1=FED[i];
delay100us(10);
}
if(Key4==0)
for(i=0;i<8;i++)
{
P1=RVS[i];
delay100us(10);
}
}
}
}