|
這個(gè)的話,你要先學(xué)習(xí)GPIOI輸入輸出,按鍵消抖。按鍵中斷。這三個(gè)功能學(xué)習(xí)好后就可以寫這個(gè)綜合功能了。建一個(gè)全局變量KEY_state,在中斷函數(shù)中對(duì),如果按鍵按下了,就KEY_state的狀態(tài)進(jìn)程改變。主函數(shù)對(duì)KEY_state進(jìn)行查詢,如果他有改變就進(jìn)行相應(yīng)的LED燈的端口進(jìn)行相應(yīng)狀的輸出。
寫成狀態(tài)機(jī)就是:
staic KEY_state;
void key_interrupt(viod)
{
如果KEY按下了
消抖
確認(rèn)按下了
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()
}
希望對(duì)你有幫助。 |
|