这个的话,你要先学习GPIOI输入输出,按键消抖。按键中断。这三个功能学习好后就可以写这个综合功能了。建一个全局变量KEY_state,在中断函数中对,如果按键按下了,就KEY_state的状态进程改变。主函数对KEY_state进行查询,如果他有改变就进行相应的LED灯的端口进行相应状的输出。
写成状态机就是:
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()
}
希望对你有帮助。 |