|
|
這個的話,你要先學(xué)習(xí)GPIOI輸入輸出,按鍵消抖。按鍵中斷。這三個功能學(xué)習(xí)好后就可以寫這個綜合功能了。建一個全局變量KEY_state,在中斷函數(shù)中對,如果按鍵按下了,就KEY_state的狀態(tài)進程改變。主函數(shù)對KEY_state進行查詢,如果他有改變就進行相應(yīng)的LED燈的端口進行相應(yīng)狀的輸出。
寫成狀態(tài)機就是:
staic KEY_state;
void key_interrupt(viod)
{
如果KEY按下了
消抖
確認按下了
KEY_state ++;
if KEY_state>max_Leds
KEY_state = 0;
}
void led_output( void)
{
swich 0
LED1(ON);
LED2(OFF);
LED3(OFF);
.......
LEDmax(OFF);
switch 1:
LED0(OFF);
LED1(ON);
LED2(OFF);
.......
LEDmax(OFF)
switch max
LED0(off);
....
LEDmax(ON);
}
main()
{
led_output()
}
希望對你有幫助。 |
|