#include <reg52.h>
#define uchar unsigned char
uchar a,num=0,gao=1,di=5;
sbit dianji = P1^7;
void delay(int z)
{
int i,j;
for(i=z;i>0;i--)
for(j=114;j>0;j--);
}
void Init()
{
TMOD = 0x20;
TH1 = 0xfd;
TH0 = 0xfd;
SCON = 0x50;
EA = 1;
ES = 1;
TR1 = 1;
}
void Ser() interrupt 4
{
RI = 0;
a = SBUF;
}
void key()
{
if(a == 0x31)
{
num++;
if(num == 4)
num = 3;
// while(a == 0x31);
}
if(a == 0x32)
{
if(num != 0)
num--;
else
num = 0;
// while(a == 0x32);
}
}
void dispose()
{
switch(num)
{
case 0: gao = 1;di = 3;break;
case 1: gao = 2;di = 2;break;
case 2: gao = 3;di = 1;break;
case 3: gao = 4;di = 4;break;
}
}
void qudong()
{
uchar i;
if(di != 0)
{
for(i=0;i<di;i++)
{
dianji = 0;
delay(20);
}
}
for(i=0;i<gao;i++)
{
dianji = 1;
delay(20);
}
}
void main()
{
Init();
while(1)
{
dianji = 0;
key();
dispose();
qudong();
}
}
|