#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar m;
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit k4=P2^3;
sbit k5=P2^4;
sbit pwm1=P1^4;
void init() ;
void delay(int x)
{
uint i,j;
for(i=0;i<=x;i++)
for(j=1;j<=110;j++);
}
main()
{
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EX0=1;EX1=1;
IT0=1;IT1=1;
EA=1;
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
P1=0x01;
}
while(!k1);
}
if(k2==0)
{
delay(10);
if(k2==0)
{
P1=0x02;
}
while(!k2);
}
if(k3==0)
{
delay(10);
if(k3==0)
{
P1=0X00;
pwm1=0;
}
while(!k3);
}
if(k4==0)
{
delay(10);
if(k4==0)
{
m++;
}
while(!k4);
}
if(k5==0)
{
delay(10);
if(k5==0)
{
m--;
}
while(!k5);
}
if(m>3)m=3;
if(m<1)m=1;
}
}
void init()
{
IE=0X82;
TMOD=0X01;
TH0=(65636-50000)/256;
TL0=(65636-50000)%256;
TR0=1;
P1=0X00;
P2=0Xff;
m=2;
}
void timer0(void) interrupt 1
{
static uchar c=0;
TH0=(65636-50000)/256;
TL0=(65636-50000)%256;
c++;
if(c==3)
{
c=0;
}
if(c<m)
{
pwm1=0xff;
}
else pwm1=0x00;
}
|