|
#include <STC89C5xRC.H>
sbit KEY0 = P1^0;
unsigned char i=0;
bit flag_led = 0;
void delay(unsigned int t)
{
while(t--)
{
}
}
void key()
{
if(KEY0 == 0)
{
delay(0xff);
if(KEY0 == 0)
{
while(!key0);
flag_led =!flag_led ;
}
}
}
void Led_mode1()
{
for(i=0;i<8;i++)
{
if(KEY0 == 0)
break;
P0 = ~(0x01<<i);
delay(0XFFFF);
}
}
void Led_mode2()
{
for(i=0;i<8;i++)
{
if(KEY0 == 0)
break;
P0 = ~(0x80>>i);
delay(0XFFFF);
}
}
void main()
{
while(1)
{
key();
if(flag_led == 0)
{
Led_mode1();
}
if(flag_led == 1)
{
Led_mode2();
}
}
}
這樣改應(yīng)該可以 按鍵反應(yīng)應(yīng)該會靈敏 即便燈是在運行中 也會立即改變 |
|