#include
#define led P0
sbit k1=P3^2;
sbit k2=P3^3;
sbit k3=P3^4;
void delay50ms(void)
{
unsigned char ab;
for(b=173;b>0;b--)
for(a=143;a>0;a--);
}
void delay15ms(void)
{
unsigned char abc;
for(c=1;c>0;c--)
for(b=238;b>0;b--)
for(a=30;a>0;a--);
}
void shanshuo ()
{
led=0xff;
delay50ms ();
led=0x00;
delay50ms ();
}
void keyscan()
{
if(k1==0|k2==0|k3==0)
{
delay15ms();
if(k1==0|k2==0|k3==0)
{
shanshuo ();
}
while(!k1|!k2|!k3);
}
}
void main ()
{
while(1)
{
keyscan();
}
}
乱按的时候有时候闪烁。换成P3.2和P3.3两个按键后正常,三个按键都接到P1口上时也正常 。就是一加上P3.4就不正常了