找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2283|回復: 0
收起左側(cè)

C51單片機紅外中斷處理

[復制鏈接]
ID:208445 發(fā)表于 2017-8-24 09:53 | 顯示全部樓層 |閱讀模式
// 紅外中斷初始化,采用外部中斷1的下降沿有效,引發(fā)中斷
void InitInfrared()
{        
        IR_INPUT = 1;
        IT1 = 1;
        EX1 = 1;
}

// 紅外的中斷處理程序
void EXINT1_ISR() interrupt 2
{
       // 設(shè)置中斷發(fā)生了FLAG
        irflag = 1;
        // 清中斷標志位
        IE1 = 0;
}

問題:
1.紅外中斷處理函數(shù)是 ,只要是引腳IR_INPUT電平從1變成0都會進入這個中斷函數(shù)嗎?
   因為一個紅外數(shù)據(jù),(NEC格式的)有引導碼+用戶碼+用戶反碼+鍵值碼+鍵值反碼,所以遙控器按下一個鍵,會引起30幾次的電平從1變成0.
  這個函數(shù)會進入30多次嗎
2.如果EXINT1_ISR()里面,要處理的東西比較多。比如,每一次處理要10ms
  那么遙控器按下一個鍵的時候,假如會有30幾次的電平從1變到0,但來不及處理,那么進入中斷的次數(shù)會怎么變,會丟棄幾次嗎?還是等待,排隊,然后一個個進入中斷函數(shù)?

回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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