#include<reg51.h>
#define unit unsigned int
sbit zz=p3^2;
sbit fz=p3^3;
sbit jias=p3^4;
sbit jians=p3^5;
sbit stop=p3^6;
sbit ledzz=p1^4;
sbit ledfz=p1^5;
sbit ledjias=p1^6;
sbit ledjains=p1^7;
sbit F1=P2^0;
sbit F2=p2^1;
sbit F3=P2^2;
sbit F4=P2^3;
unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};
unsigned char code FFZ[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};
void motor_ffw();
unit rate,K1,K2;
void delay1(uint nms)
{
unit i,j;
for(i=nms;i>0;i--)
for(j=110;j>0;j--);
}
void delay()
{
unsigned int k,t;
t=rate;
while(t--)
{
for(k=0;k<50;k++);
{}
}
}
void motor_ffw()
{
unsigned char i;
if(K1==1)
for(i=0;i<8;i++)
{
P2=FFW[i]&0x1f;
delay();
}
if(K2==1)
for(i=0;i<8;i++)
{
P2=FFZ[i]&0x1f;
delay();
}
}
void key()
{
if(zz==0)
{
delay1(10);
if(zz==0)
{K1=1;K2=0;ledzz=0;ledfz=1;ledjias=1;ledjians=1;}
}
if(fz==0)
{
delay1(10);
if(fz==0)
{K2=1;K1=0;ledzz=1;ledfz=0;ledjias=1;ledjians=1;}
}
if(jias==0)
{
delay1(10);
if(jias==0)
{rate=rate-10;ledzz=1;ledfz=1;ledjias=0;ledjians=1;if(rate==0)rate=10;}
}
if(jians==0)
{
delay1(10);
if(jians==0)
{rate=rate+10;ledzz=1;ledfz=1;ledjias=1;ledjians=0;}
}
if(stop==0)
{
delay1(10);
id(stop==0)
{P2=0Xff;K1=0;K2=0;}
}
}
void main()
{
rate=100;
while(1)
{
key();
motor_ffw();
}
}
|