#include<reg51.h>
sbit KEY1=P0^0;//定义KEY1,KEY2,KEY3在单片机P0组接口
sbit KEY2=P0^1;
sbit KEY3=P0^3;
void Delayms(unsigned int m){ //定义一个Delayms ms级延时函数 ,Unsigned无符号整数m
unsigned int a,b; //定义 整数 a,b
for(b=m;b>0;b--) //使用for循环,如果b>0则b自减
for(a=125;a>0;a--); //a=125 最大值为125 自减
}
void main(){ //无返回值的函数入口
P1=0xff; //八进制的P1端口输出 1111 1111,所有灯熄灭
while(1)
{if(KEY1 == 0) //判断按键状态,如果为低电平有可能是按键按下
{Delayms(20); //按键延时消抖
if(KEY1 ==0) //再次判断按键状态
{P1 = 0x00;} //0000 0000,所有灯为带电状态,所有灯亮
}
else if(KEY2 == 0)
{Delayms(20);
if(KEY2 == 0)
{P1 = 0x55;} //01010101,交替亮灭
}
else if (KEY3 == 0)
{ Delayms(20);
if(KEY3 ==0)
{P1 = 0XF0; //11110000,低电四位亮,高电四位灭
}
}
}
}