找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2560|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)外部中斷為何會(huì)自行停止執(zhí)行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:241231 發(fā)表于 2017-10-20 11:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
是因?yàn)橥獠恐袛嘤袝r(shí)間上的限制,必須在限制的時(shí)間內(nèi)處理完中斷中的資料,或者是因?yàn)橹袛嘀械腸ode和指令下的太多造成自行停止執(zhí)行的現(xiàn)象.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:241468 發(fā)表于 2017-10-21 01:29 | 只看該作者
處理完后,有沒有清除中斷標(biāo)志位?
回復(fù)

使用道具 舉報(bào)

板凳
ID:241468 發(fā)表于 2017-10-21 01:31 | 只看該作者
處理完中斷后,有沒有清楚中斷標(biāo)志位呢
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2017-10-21 07:43 | 只看該作者
51單片機(jī)對(duì)于外部中斷響應(yīng)沒有時(shí)間限制,只對(duì)觸發(fā)信號(hào)要求應(yīng)至少維持2個(gè)系統(tǒng)時(shí)鐘。當(dāng)外部中斷服務(wù)程序被響應(yīng)后,中斷請(qǐng)求標(biāo)志位會(huì)自動(dòng)被清0。不過在實(shí)際應(yīng)用中不宜在中斷服務(wù)程序里執(zhí)行過多指令。
回復(fù)

使用道具 舉報(bào)

5#
ID:241231 發(fā)表于 2017-10-21 07:58 | 只看該作者
在中斷一開始就己經(jīng)清除中斷標(biāo)誌了,但不知為什麼就是不能將整個(gè)中斷完整的處理完成,是否是因?yàn)榛厝μ?8*8),或者是中斷程式有其它的限制還是有什麼特別的指令要下呢?
回復(fù)

使用道具 舉報(bào)

6#
ID:111634 發(fā)表于 2017-10-21 08:00 | 只看該作者
外部中斷沒有時(shí)間上的限制,取決于電路結(jié)構(gòu)和程序編制!
回復(fù)

使用道具 舉報(bào)

7#
ID:105206 發(fā)表于 2017-10-21 08:23 | 只看該作者
應(yīng)該是你的程序有問題?纯赐獠恐袛嗟南嚓P(guān)資料,只有幾個(gè)指令。
回復(fù)

使用道具 舉報(bào)

8#
ID:241231 發(fā)表于 2017-10-21 09:38 | 只看該作者
jubaolun 發(fā)表于 2017-10-21 08:23
應(yīng)該是你的程序有問題?纯赐獠恐袛嗟南嚓P(guān)資料,只有幾個(gè)指令。

我的回圈一開始是4*8,因發(fā)現(xiàn)抓的資料不足以判段,故增加致8*8,中斷程式就停滯了,一開始我也認(rèn)為可能是回圈太大了,我降回5*8,也還是不行,只有4*8程式才能正常運(yùn)行,以上請(qǐng)悉知.
回復(fù)

使用道具 舉報(bào)

9#
ID:241231 發(fā)表于 2017-10-21 17:24 | 只看該作者
wulin 發(fā)表于 2017-10-21 07:43
51單片機(jī)對(duì)于外部中斷響應(yīng)沒有時(shí)間限制,只對(duì)觸發(fā)信號(hào)要求應(yīng)至少維持2個(gè)系統(tǒng)時(shí)鐘。當(dāng)外部中斷服務(wù)程序被響 ...

我的程式就那麼簡(jiǎn)單,我只是將j<4;改成j<8而己程式就不知跑去那裡了


for (j=0;j<4;j++)         //收集四組數(shù)據(jù)
{
  for (k=0;k<8;k++)        //每組數(shù)據(jù)有8位
  {
                        while (IRIN)            //等 IR 變?yōu)榈碗娖,跳過4.5ms的前導(dǎo)高電平信號(hào)。
                        {delay(1);}
                        while (!IRIN)          //等 IR 變?yōu)楦唠娖?br />                         {delay(1);}
                        while (IRIN)           //計(jì)算IR高電平時(shí)長(zhǎng)
                        {
                                delay(1);
                                N++;           
                                if (N>=30)
                                {  
                                        goto ENDFO;
                                }                  //0.14ms計(jì)數(shù)過長(zhǎng)自動(dòng)離開。
      }                        //高電平計(jì)數(shù)完畢               
     IRCOM[j]=IRCOM[j] >> 1;                  //數(shù)據(jù)最高位補(bǔ)“0”
     if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //數(shù)據(jù)最高位補(bǔ)“1”
     N=0;
  }//end for k
}//end for j
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表