|
給你說下流程吧,自己編出來才能進步:
1、首先確定是按下后響應(yīng)還是松開按鍵后響應(yīng),建議松開按鍵后響應(yīng)。
2、有一個按鍵掃描函數(shù)key1_scan();定義一個標(biāo)志位bit key1,如果key1按下則置位,響應(yīng)后清零,如果key1按鍵接的是P0.0口,按鍵按下后為低電平,則進行判斷
if(p0.0不等于高電平)//key1按下
{
key1 = 1;
}
3、按鍵消抖10~20ms,在程序中建議不要使用延時,可以定義一個變量作為計時器unsigned char tim10ms,在定時器中斷中進行計時if(key1 = 1){ tim10ms++;},主循環(huán)查詢。
if(tim10ms >= 15) { if(p0.0為高電平){ 流水燈循環(huán)函數(shù);key1 = 0;tim10ms = 0;}}
4、流程已經(jīng)很清楚了,自己編吧,按鍵程序是基礎(chǔ)程序,最好自己編,這樣才有進步。可根據(jù)上面的流程,結(jié)合自己的電路和IC編吧。 |
|