久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)流水燈中斷嵌套,低優(yōu)先級中斷完成后如何返回主程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1096060 發(fā)表于 2023-10-14 16:20 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
要求:在 Proteus 里實現(xiàn)兩級中斷嵌套:當(dāng)K1和K2都未按下時,P1口8只 LED 呈流水燈顯示,當(dāng)按一下 K 1時,產(chǎn)生一個低優(yōu)先級外中斷0請求(跳沿觸發(fā)),進(jìn)入外中斷0中斷服務(wù)程序,標(biāo)號為偶數(shù)的 LED 和奇數(shù) LED 交替閃爍10次。此時按一下 K 2時,產(chǎn)生一個高優(yōu)先級的外中斷1請求(跳沿觸發(fā)),進(jìn)入外中斷1中斷服務(wù)程序,使8只 LED 全部閃爍。當(dāng)顯示5次后,再從外中斷1返回繼續(xù)執(zhí)行外中斷0中斷服務(wù)程序,直至偶數(shù)和奇數(shù) LED 交替閃爍10次完成,然后再次返回主程序,8只 LED 呈流水燈顯示。設(shè)置外中斷0為低優(yōu)先級,外中斷1為高優(yōu)先級

我的單片機(jī)代碼:
#include <REGX51.H>
#include "intrins.h"
#define uchar unsigned char
sbit K1=P3^2;//定義按鍵
sbit K2=P3^3;
void Delay(unsigned int i)//延時函數(shù)                                       
{        unsigned int j;
         for(;i>0;i--)               
         for(j=0;j<125;j++)               
         {;}//空函數(shù)                                                                        
}
void main()//主函數(shù)
{
        unsigned char display [9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水燈顯示數(shù)據(jù)數(shù)組
        unsigned char a;
        for(;;)               
        {
                EA=1;//總中斷允許
                 EX0=1;//允許外部中斷0中斷
                 EX1=1;//允許外部中斷1中斷
                 IT0=1;//選擇外部中斷0為跳沿觸發(fā)方式
                 IT1=1;//選擇外部中斷1為跳沿觸發(fā)方式
                 PX0=0;//外部中斷0為低優(yōu)先級
                 PX1=1;//外部中斷1為高優(yōu)先級        
                for(a=0;a<9;a++)               
                 {                                                
                         Delay(400);//延時
                         P1=display[a];//已定義的流水燈顯示數(shù)據(jù)送到P1口
                 }        
         }
}
void int0_isr(void) interrupt 0 using 0        //外中斷0的中斷服務(wù)函數(shù)
{
  unsigned char m=0;
  for(m=0;m<10;m++)//標(biāo)號為偶數(shù)的LED和奇數(shù)LED交替閃爍10次
  {
    P1=0x55;//標(biāo)號為偶數(shù)的LED燈點亮
    Delay(500);//延時
        P1=0xaa;//標(biāo)號為奇數(shù)的LED燈點亮
        Delay(500);//延時
  }
}
void int1_isr(void) interrupt 2 using 1        //外中斷1的中斷服務(wù)函數(shù)
{
  unsigned char n=0;
  for(n=0;n<5;n++)//8位LED全亮全滅5次
  {
    P1=0;//8位LED全亮
        Delay(500);//延時
        P1=0xff;//8位LED全滅
        Delay(500);//延時
  }  
}

基本能完成題目要求,但是最后低優(yōu)先級中斷完成后無法返回主程序,求助怎么辦。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:332444 發(fā)表于 2023-10-15 04:15 | 只看該作者
把中斷設(shè)置代碼放到主循環(huán)外,刪除using 0和using 1即可。
回復(fù)

使用道具 舉報

板凳
ID:332444 發(fā)表于 2023-10-15 09:17 | 只看該作者
  1. #include <REGX51.H>
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. sbit K1=P3^2;//定義按鍵
  5. sbit K2=P3^3;
  6. void Delay(unsigned int i)//延時函數(shù)                                       
  7. {        unsigned int j;
  8.          for(;i>0;i--)               
  9.          for(j=0;j<125;j++)               
  10.          {;}//空函數(shù)                                                                        
  11. }
  12. void main()//主函數(shù)
  13. {
  14.         unsigned char display [9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水燈顯示數(shù)據(jù)數(shù)組
  15.         unsigned char a;

  16.                 EA=1;//總中斷允許
  17.                  EX0=1;//允許外部中斷0中斷
  18.                  EX1=1;//允許外部中斷1中斷
  19.                  IT0=1;//選擇外部中斷0為跳沿觸發(fā)方式
  20.                  IT1=1;//選擇外部中斷1為跳沿觸發(fā)方式
  21.                  PX0=0;//外部中斷0為低優(yōu)先級
  22.                  PX1=1;//外部中斷1為高優(yōu)先級        
  23. for(;;)
  24. {
復(fù)制代碼


回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品免费在线 | 少妇精品久久久久久久久久 | 成人自拍视频网站 | 亚洲麻豆 | 亚洲一区二区高清 | 四虎影院在线播放 | 人人干人人爽 | 国产亚洲欧美在线视频 | 成人天堂 | 98久久| 在线播放国产一区二区三区 | 成人精品视频99在线观看免费 | 亚洲国产精品久久久久 | 国产欧美精品一区二区色综合朱莉 | 97在线播放 | 中文字幕一区二区三区四区五区 | 亚洲国产精品自拍 | 三级国产三级在线 | 又爽又黄axxx片免费观看 | 日韩精品一区二区三区中文在线 | 亚洲一区亚洲二区 | 日日操夜夜操天天操 | 国产精品69毛片高清亚洲 | 色男人的天堂 | 欧美一区二区在线免费观看 | 青草久久免费视频 | 一区中文字幕 | 亚洲精品中文字幕在线观看 | 一区2区 | 精品一区二区三区四区 | 精品二区 | 亚洲国产中文字幕 | 日韩一区精品 | 亚洲h在线观看 | 免费一级做a爰片久久毛片潮喷 | 精品1区2区3区 | 久久久久久久久久久久久9999 | 一区二区国产精品 | 久久久精 | 91影库 | 国产精品视频一区二区三 |