|
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
//**************************
void delay();
void liushui();
void jiou();
void doubleLiushui();
void gaodi4();
//**************************
void main()
{
uchar flag=0;
while(1)
{
//if(P1^0xff)
{
if(!P20){flag=0;}
if(!P21){flag=1;}
if(!P22){flag=2;}
if(!P23){flag=3;}
}
switch(flag)
{
case 0: liushui();break; //á÷Ë®
case 1: jiou(); break; //ÆæÅ¼
case 2: gaodi4();break; //¸ßμí4λ
case 3: doubleLiushui();break;//ÆæÅ¼
default : break;
}
}
}
//*************************************
void liushui()//***á÷Ë®***
{
uchar a;
a=0x01;
P1=~a;
while(1)
{
delay();
a=a<<1;
if(a==0x00) a=0x01;
P1=~a;
if(P2^0xff)return;
}
}
void jiou()//***ÆæÅ¼Î»***
{
uchar a;
a=0x55;
P1=a;
while(1)
{
delay();
a=~a;
P1=a;
if(P2^0xff)return;
}
}
void doubleLiushui()//***Ë«á÷Ë®***
{
uchar a;
a=0x03;
P1=~a;
while(1)
{
delay();
a=a<<1;
if(a==0x00) a=0x03;
P1=~a;
if(P2^0xff)return;
}
}
void gaodi4()//***¸ßμí4λ***
{
uchar a;
a=0x0F;
P1=a;
while(1)
{
delay();
a=~a;
P1=a;
if(P2^0xff)return;
}
}
void delay()//***Ñóê±***
{
unsigned int i,k;
for(k=1;k<100;k++)
for(i=1;i<255;i++);
}
|
|