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

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

QQ登錄

只需一步,快速開(kāi)始

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

AVR單片機(jī)中的中斷嵌套

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:104287 發(fā)表于 2016-1-31 20:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
AVR響應(yīng)中斷后,由硬件自動(dòng)清零全局中斷標(biāo)志位,此時(shí)任何中斷都無(wú)法響應(yīng)。直到中斷響應(yīng)程序執(zhí)行完畢后,全局中斷自動(dòng)打開(kāi)。因此,若不作特別處理,AVR單片機(jī)是無(wú)法實(shí)現(xiàn)中斷嵌套的。

但,如果在中斷服務(wù)程序中開(kāi)放全局中斷,一旦有中斷(包括中斷級(jí)別較低的,或者是自己本身)申請(qǐng),AVR將立即響應(yīng)中斷,打斷當(dāng)前正在執(zhí)行的任何程序(包括正在執(zhí)行中斷服務(wù)程序),進(jìn)入新的中斷服務(wù)程序,從而實(shí)現(xiàn)中斷嵌套。此時(shí)如有多個(gè)中斷申請(qǐng)同時(shí)存在,MCU響應(yīng)高優(yōu)先權(quán)的中斷。
可見(jiàn),AVR單片機(jī)中,若軟件合理設(shè)計(jì),即可實(shí)現(xiàn)中斷嵌套。
和MCS51特別不同的是,AVR中斷嵌套不僅可處理優(yōu)先級(jí)更高的中斷,也可以處理同優(yōu)先級(jí)甚至優(yōu)先級(jí)較低的中斷。這能滿足一些特殊的設(shè)計(jì),但是也容易引起混亂。在軟件設(shè)計(jì)過(guò)程中,這一點(diǎn)設(shè)計(jì)者需特別注意。

具體實(shí)驗(yàn):
interrupt [iv_INT1] void USB_Link_Int(void)
{
       //顯示提示信息,提示進(jìn)入INT1中斷處理程序
       DispScreen(scr_info_of_int1,true,null);

       //延遲3秒,使得屏幕提示可以看清
       //注意:延遲過(guò)程中產(chǎn)生iv_TIMER0_COMP中斷,該中斷的優(yōu)先級(jí)低于iv_INT1
       Timer0_Start(0,3);        //注:此函數(shù)中使用sei()開(kāi)放中斷
       while (Timer0_IsRun());
       Timer0_Stop();

       //允許INT3(ENTER)鍵按下產(chǎn)生中斷
       EIMSK &= 0xf7;           //禁止INT3產(chǎn)生中斷
       EICRA |= 0x80;
       EICRA &= 0xbf;           //INT3中斷方式:下降沿產(chǎn)生異步中斷
       EIFR |=  0x08;           //清INT3中斷標(biāo)志
       EIMSK |= 0x08;           //允許INT3產(chǎn)生中斷

       //禁止INT1,防止重入,專(zhuān)等INT3
       EIMSK &= ~( 1 << INT1 ); //禁止INT1產(chǎn)生中斷

       //等待INT3中斷
       //注意:iv_INT3中斷的優(yōu)先級(jí)低于iv_INT1
       while(true);
}

//按ENTER鍵后產(chǎn)生INT3中斷
interrupt [iv_INT3] void EnterKey_Int(void)
{
       //顯示提示信息,提示進(jìn)入INT3中斷處理程序
       DispScreen(scr_info_of_int3,true,null);

       //延遲3秒,使得屏幕提示可以看清
       //注意:延遲過(guò)程中產(chǎn)生iv_TIMER0_COMP中斷,該中斷的優(yōu)先級(jí)低于iv_INT3
       Timer0_Start(0,3);        //注:此函數(shù)中使用sei()開(kāi)放中斷
       while (Timer0_IsRun());
       Timer0_Stop();

       //啟動(dòng)看門(mén)狗,等待復(fù)位
       watch_dog_reset_cpu();
}

實(shí)驗(yàn)結(jié)果:iv_TIMER0_COMP中斷、iv_INT3中斷如期發(fā)生。
由此可見(jiàn),AVR單片機(jī)中,進(jìn)入中斷處理程序適時(shí)開(kāi)放全局中斷,不僅可以使用中斷嵌套,而且高級(jí)別中斷中可響應(yīng)任何級(jí)別(包括更低級(jí)別的)的中斷。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 野狼在线社区2017入口 | 国产精品日日夜夜 | 亚洲精品一区中文字幕 | 日韩at| 欧美日韩国产欧美 | 免费精品视频在线观看 | 色综合久 | 97人人澡人人爽91综合色 | 91av免费看 | 久热精品在线观看视频 | caoporn免费 | avtt国产 | 亚洲第一天堂 | 伊人久操 | 国产精品欧美一区二区三区不卡 | 在线视频99| 夜夜爽99久久国产综合精品女不卡 | 国产一区二区在线播放 | 国产精品一区二区无线 | 亚洲成人一二区 | 欧美黄色网| 国产色| 国产精品久久久久久一区二区三区 | 亚洲精品成人av久久 | 狠狠躁夜夜躁人人爽天天高潮 | 成年人在线观看视频 | 一区二区三区四区电影视频在线观看 | 亚洲精品中文字幕在线 | 国产一二三区精品视频 | 免费艹逼视频 | 久久99精品久久久久久 | 天天拍天天射 | 免费看a| 久久午夜剧场 | 免费看a | 国产精品成人国产乱一区 | 国产美女久久久 | 中文字幕1区2区 | 在线看日韩 | 在线小视频 | 国产天堂 |