欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5515|回復: 1
收起左側

51單片機外部中斷1返回后不繼續執行程序

[復制鏈接]
ID:31196 發表于 2011-11-2 14:29 | 顯示全部樓層 |閱讀模式

#include <reg52.h>
char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit P14=P1^4;

void delay(unsigned int z)
{
 unsigned int x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
  
}
void main()
{
  unsigned int j;
  P14=0;
  EA=1;
  EX0=1;
  EX1=1;
  P0=0xfe;
  while(1)
  {
   for(j=0;j<8;j++)
   {
    P0=table[j];
    delay(500);
   }
  }
 
}
void KEY1() interrupt 0
{
 char j;
 for(j=7;j>-1;j--)
  {
   P0=table[j];
   delay(500);
  }
 
 
}

void KEY2() interrupt 1
{
 char t;
 for(t=3;t>-1;t--)
  {
   P0=table[t];
   delay(500);
  }
}
按P3。2的鍵,中斷正常執行,返回后從斷點處繼續執行,正常,但按P3.3的鍵后中斷不正常,本意是從第四個燈亮,但卻從最后一個燈往回亮,執行后,返回主程序也不是從中斷處執行的,而是從第一個燈亮。真奇怪。各位幫我一下

中斷_副本.jpg
[此貼子已經被作者于2011-11-2 14:33:29編輯過]
回復

使用道具 舉報

ID:31196 發表于 2011-11-3 17:36 | 顯示全部樓層
沒人研究中斷嗎?我自己找出問題了,原來是void key2()interrupt 1 這里寫錯了,要用interrupt 2來實現,interrupt指的是定時器中斷。外部中斷用的是interrupt 0 和interrupt 2.
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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