有那位大神能帮我解释一下,一键多功能按键识别技术的程序代码吗?程序是我在论坛上下的,程序很简单,但是我感觉我把自己看的闹晕了
#include<AT89X51.H>
unsigned char ID;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void delay02s(void)
{
unsigned char i;
for(i=20;i>0;i--)
{delay10ms();
}
}
void main(void)
{ while(1)
{ if(P3_7==0)
{delay10ms();
if(P3_7==0)
{
ID++;
if(ID==4)
{
ID=0;
}
while(P3_7==0);
}
}
switch(ID)
{ case 0:
P1_0=~P1_0; //p1_0作为输出口,一开始case 为0时,p1_0状态为什么是“1”,当再一次case为“0”时,p1_0状态为什么还是“1” ??????
delay02s();
break;
case 1:
P1_1=~P1_1;
delay02s();
break;
case 2:
P1_2=~P1_2;
delay02s();
break;
case 3:
P1_3=~P1_3;
delay02s();
break;
}
}
}
|