#include #define uchar unsigned char
#define uint unsigned int
#define LED P1
sbit P27=P2^7;
void main(void)
{
uint i;
uchar n=0;
LED=0x00;
while(1)
{
if(P27==0) //按键按下
{
for(i=0;i<1000;i++); //去抖
if(P27==0) //确认按键按下
{
for(i=0;i<1000;i++); //延时
if(P27!=1) //判断按键是否松开
{n=n;} //没松开,按键次数值不变
else
{n=n+1;} //松开后按键次数值加1
if(n<=8) //根据按键次数决定点亮哪个LED
{
switch(n)
{
case 1: LED=0x01;break; //按键次数为1,点亮第一个LED
case 2: LED=0x02;break;
case 3: LED=0x04;break;
case 4: LED=0x08;break;
case 5: LED=0x10;break;
case 6: LED=0x20;break;
case 7: LED=0x40;break;
case 8: LED=0x80;break;
default:LED=0x00;
}
}
else
{n=0;} //如果按键次数大于8数值清0
}
}
}
}
提高一下自己,请大家指导一下小弟的注释,方便大家学习!谢谢