找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求各位大佬,關(guān)于51中斷程序的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:983998 發(fā)表于 2021-11-23 20:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機中斷系統(tǒng),一開始8個led閃爍循環(huán),按鍵以后,變?yōu)榱魉h(huán),再按一次回到閃爍循環(huán),我的程序只會到流水,回不去閃爍。這是我的程序include <reg51.h> void mDelay(unsigned int Delay)                  //延時1s子程序:由Dleay決定延時時間
{         unsigned int data i;                 
for(;Delay>0;Delay--)  {               
for(i=0;i<54;i++) ;  }}     
void main(){                IT0=1;                  //外部0中斷邊沿觸發(fā)               
EA=1;                  //開總中斷               
EX0=1;                  //開外部0中斷               
while(1)
{ P1=0x00;                           //LED點亮                       
mDelay(1000);                   //延時1s                       
P1=0xff;                           //LED熄滅                        
mDelay(1000);                   //延時1s                              
}}void ex0_int() interrupt 0                  //外部0中斷處理子程序
{ if(P3^2==0)      
{ unsigned char outdata=0xfe,i ;                 //初始選擇最右邊LED               
for(;;)        {
IE0=0 ;               
outdata=0xfe;               
for( i=0;i<8;i++ )              
  {  P1= outdata ; // LED選擇碼送P1口顯示                 
mDelay (500);   //延時500ms               
outdata = (outdata << 1)+1 ;  //值左移一位              
  }        }                                                      
}        
else        return;}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2021-11-23 22:17 | 只看該作者
while(1)
{
      if(LED_Mode)
      {
              循環(huán)代碼
       }
       else
       {
               閃爍代碼。
        }
}

void ex0_int() interrupt 0   
{
     LED_Mode =  !LED_Mode;
}
回復(fù)

使用道具 舉報

板凳
ID:983998 發(fā)表于 2021-11-23 22:20 來自觸屏版 | 只看該作者
188610329 發(fā)表于 2021-11-23 22:17
while(1)
{
      if(LED_Mode)

感謝去試一試
回復(fù)

使用道具 舉報

地板
ID:983998 發(fā)表于 2021-11-23 22:54 來自觸屏版 | 只看該作者
188610329 發(fā)表于 2021-11-23 22:17
while(1)
{
      if(LED_Mode)

大佬,問一下,我在最前面 Int LED_Mode,然后出來的還是和我一開始一樣,停在那個流水,不能會循環(huán)
回復(fù)

使用道具 舉報

5#
ID:624769 發(fā)表于 2021-11-23 22:59 | 只看該作者
dfmj891234 發(fā)表于 2021-11-23 22:54
大佬,問一下,我在最前面 Int LED_Mode,然后出來的還是和我一開始一樣,停在那個流水,不能會循環(huán)

最前面 不能 int  LED_Mode
要 bit LED_Mode;
回復(fù)

使用道具 舉報

6#
ID:983998 發(fā)表于 2021-11-23 23:08 來自觸屏版 | 只看該作者
可以了可以了,感謝大佬,感恩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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