|
用51單片機做一個小物件,初始化設(shè)置外部中斷0為下降沿觸發(fā),響應(yīng)中斷后關(guān)閉中斷開關(guān)EX0=0,同時記錄中斷次數(shù)EX0_Cnt++,開始定時器0開關(guān)TR0=1,延時200毫秒(防止小于200毫秒時間內(nèi)再次造成中斷)后,關(guān)閉定時器0開關(guān)TR0=0,打開外部中斷0開關(guān)EX0=1.程序如下所示,不知道是哪里出了問題,外部中斷次數(shù)EX0_Cnt顯示不正確。
void INT0_Isr() interrupt 0
{
EX0 = 1; //關(guān)閉外部中斷0
TR0 = 1; //打開定時器0
EX0_Cnt++; //記錄中斷次數(shù)加1
}
void Timer0_Isr() interrupt 1
{
Timer0_Cnt++;
if(Timer0_Cnt>200)
{
Timer0_Cnt = 0;
EX0 = 1;
TR0 = 0;
}
} |
|