找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2292|回復: 3
打印 上一主題 下一主題
收起左側(cè)

外部中斷問題,請指教,謝謝! 為什么二次進入?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:135027 發(fā)表于 2016-8-26 09:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/****************************************
以下程序測試外部中斷, 主程序循環(huán)控制LED
快速閃爍,外部中斷使LED慢閃三次。

但是每次觸發(fā)外部中斷,LED不是慢閃三次,
而是慢閃六次! 不知為什么?請指教,謝謝!
****************************************/

#include "STC12C5Ax.h"

sbit WBZD = P3^2;           //將外中斷定義為P3.2引腳
sbit LEDF  = P1^3;           //控制LED發(fā)光二極管

//// 全局變量定義
unsigned int TimeJG;          //間隔         控制閃爍頻率


void delay(unsigned int n)             //延時 n 毫秒                     
{
    unsigned int x,y;  
    for(x=n;x>0;x--)
        for(y=110;y>0;y--);
}


void Int0(void) interrupt 0         //外中斷處理
{
        EX0 = 0;  //關(guān)閉外中斷0,不再接收二次中斷

                //慢閃三次
                LEDF = 0;
                delay(2000);    //延時 n 毫秒
                LEDF = 1;
                delay(2000);    //延時 n 毫秒
                LEDF = 0;
                delay(2000);    //延時 n 毫秒
                LEDF = 1;
                delay(2000);    //延時 n 毫秒
                LEDF = 0;
                delay(2000);    //延時 n 毫秒
                LEDF = 1;
                delay(6000);    //延時 n 毫秒

           EX0=1 ;     //開外中斷0         
}

void main()         //主函數(shù)
{         
        EA=1;        //開啟總中斷
           EX0=1;       //開外中斷0
        IT0=1;       //外中斷下降沿觸發(fā)

        while(1)         
        {
                if(TimeJG++ == 0 ) //
                {
                        TimeJG = 30000;        //間隔         控制閃爍頻率
                        LEDF = ~LEDF;        //翻轉(zhuǎn)   發(fā)光二極管閃爍
                }
                               
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:135027 發(fā)表于 2016-8-29 17:44 來自手機 | 只看該作者
外中斷改為低電平觸發(fā)后解決。觸發(fā)源是紅外遙控,一串波太長所以
回復

使用道具 舉報

板凳
ID:137239 發(fā)表于 2016-8-29 19:20 | 只看該作者
有沒有考慮到按鍵抖動的問題?
回復

使用道具 舉報

地板
ID:123289 發(fā)表于 2016-8-29 19:31 | 只看該作者
每是按下按鍵,不能保證只有一個邊沿,金屬彈動會產(chǎn)生若干個邊沿。
解決的辦法有多種。比如,中斷后延時一段時間(30ms)再返回
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表