{
……
int key_num;
Timer1_init();
……
while(1)
{
if ((PINA & (1 << PA0)) == 0) { /*判斷PA0是否按下*/
delay_ms(1); //軟件防抖動
if ((PINA & (1 << PA0)) == 0) {
key_num = 0;
Timer1_start(); //定時器1開始5s計時
}
if ((PINA & (1 << PA1)) == 0) { /*判斷PA1是否按下*/
delay_ms(1); //軟件防抖動
if ((PINA & (1 << PA1)) == 0) {
key_num = 1;
Timer1_start(); //定時器1開始5s計時
}
……
}
}
#pragma interrupt_handler Int_TCCR1A: 13
void Int_TCCR1A(void) { //計滿5s進入
switch(key_num)
{
case 0 :
case 1 :
……
}
}
void Timer1_start()
{
……
}
//寫了個大概,細節的東西妳根據妳的單片機型號填進去就是