#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) { 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; //停止
//zheng
//fan
}
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); }
}
}
}