bit flash;//閃爍標誌位
sbit led=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
void main()
{
P01=P02=0;
flash=0;
led=0;
while(1)
scankey();
ledflash();
}
void scankey()//鍵盤掃描
P01=1;//行線給1
if(P02)//如果P02也是1則說明接通
delay(10);//去抖動10MS
if(P02)//再次確定按鍵按下
while(P02){flash=flash}//按住按鍵的動作
flash=~flash;//按鍵按下後執行動作
void ledflash()
if(flash)
led=1;//點亮
delay(100);//延時100MS
led=0;//熄滅
else led=0;
void delay(unsigned int i)
{自己根據微控制器頻率寫個1MS帶形參的演示程式}
這個程式是現寫的。。應該能執行,有些細節沒有寫,自己修改下,只是個大框而已(比如函式宣告,定義埠什麼的)
bit flash;//閃爍標誌位
sbit led=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
void main()
{
P01=P02=0;
flash=0;
led=0;
while(1)
{
scankey();
ledflash();
}
}
void scankey()//鍵盤掃描
{
P01=1;//行線給1
if(P02)//如果P02也是1則說明接通
{
delay(10);//去抖動10MS
if(P02)//再次確定按鍵按下
{
while(P02){flash=flash}//按住按鍵的動作
flash=~flash;//按鍵按下後執行動作
}
}
}
void ledflash()
{
if(flash)
{
led=1;//點亮
delay(100);//延時100MS
led=0;//熄滅
}
else led=0;
}
void delay(unsigned int i)
{自己根據微控制器頻率寫個1MS帶形參的演示程式}
這個程式是現寫的。。應該能執行,有些細節沒有寫,自己修改下,只是個大框而已(比如函式宣告,定義埠什麼的)