當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]單片機(jī)中的中斷系統(tǒng)對(duì)電子工程師來(lái)說(shuō)是解決突發(fā)事件和多任務(wù)實(shí)時(shí)處理的最好方法,熟練掌握中斷技術(shù)的應(yīng)用是一個(gè)合格電子工程師必備的能力。 PIC與51系列單片機(jī)一個(gè)顯著的區(qū)別就是:PIC只有一個(gè)中斷入口地址(為04

單片機(jī)中的中斷系統(tǒng)對(duì)電子工程師來(lái)說(shuō)是解決突發(fā)事件和多任務(wù)實(shí)時(shí)處理的最好方法,熟練掌握中斷技術(shù)的應(yīng)用是一個(gè)合格電子工程師必備的能力。

PIC與51系列單片機(jī)一個(gè)顯著的區(qū)別就是:PIC只有一個(gè)中斷入口地址(為04H),而51有多個(gè)中斷源。這樣對(duì)PIC來(lái)說(shuō),無(wú)論發(fā)生何種中斷程序?qū)⒆詣?dòng)轉(zhuǎn)移執(zhí)行04H處的程序語(yǔ)句,為了區(qū)分到底是哪種中斷發(fā)生就必須在中斷服務(wù)程序中通過(guò)判斷中斷標(biāo)志位來(lái)確定并轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序中。在發(fā)生中斷時(shí),斷點(diǎn)地址被首先壓入硬件堆棧,而現(xiàn)場(chǎng)的一些參數(shù)須用戶通過(guò)軟件保存,必須保存的寄存器包括W寄存器、程序寄存器的高位字節(jié)PCLATH及狀態(tài)標(biāo)志寄存器STATUS等,另外一些在中斷服務(wù)程序和主程序中均使用到的寄存器也必須保存,否則可能會(huì)導(dǎo)致不可預(yù)知的錯(cuò)誤。如果需要保存的現(xiàn)場(chǎng)參數(shù)過(guò)多就會(huì)到來(lái)兩個(gè)弊端:一是造成RAM資源的浪費(fèi),特別是對(duì)RAM資源緊張的應(yīng)用系統(tǒng);二是增加了中斷服務(wù)程序的運(yùn)行時(shí)間而導(dǎo)致中斷系統(tǒng)的實(shí)時(shí)性變差,甚至影響正常功能的實(shí)現(xiàn),比如用單片機(jī)中的CCP模塊實(shí)現(xiàn)對(duì)高速脈沖寬度的測(cè)量,則就要求中斷服務(wù)程序的運(yùn)行時(shí)間越短越好,否則會(huì)丟掉捕捉的機(jī)會(huì)而造成錯(cuò)誤。因此建議在中斷服務(wù)程序中盡量不要使用主程序中用到的寄存器,將中斷中的寄存器設(shè)為專用,這樣就省去了這些寄存器的保護(hù)和恢復(fù)程序并減少出錯(cuò)的幾率。

另外一個(gè)注意的是,在中斷服務(wù)程序中盡量避免使用有多級(jí)嵌套的子程序,本人在實(shí)際應(yīng)用過(guò)程中曾遇到過(guò)此類問(wèn)題,在很長(zhǎng)一段時(shí)間內(nèi)找不出問(wèn)題的根源。PIC中檔單片機(jī)的硬件堆棧為8級(jí),假如在主程序中調(diào)用了一個(gè)具有6級(jí)嵌套的子程序,當(dāng)主程序執(zhí)行到最內(nèi)層的子程序時(shí),則8級(jí)堆棧中已用去了6級(jí),如果剛好此時(shí)發(fā)生了中斷,則斷點(diǎn)被壓入堆棧,此時(shí)堆棧中保存了七個(gè)地址,又假如在中斷服務(wù)程序中存在一個(gè)二級(jí)嵌套的子程序,則堆棧將發(fā)生溢出,這必將導(dǎo)致程序不能正確返回到原來(lái)的地址,從而導(dǎo)致程序跑偏。由于該情況的發(fā)生需要滿足一定的條件,即主程序運(yùn)行到最內(nèi)層的子程序時(shí)發(fā)生中斷,因而具有很大的不確定性,在產(chǎn)品開(kāi)發(fā)開(kāi)發(fā)調(diào)試階段可能根本就沒(méi)有發(fā)現(xiàn)有什么問(wèn)題,等到產(chǎn)品經(jīng)用戶長(zhǎng)期使用時(shí)才開(kāi)始暴露出來(lái),但此時(shí)已經(jīng)給產(chǎn)品在用戶心目中的形象造成了極壞的影響,損失已經(jīng)無(wú)法挽回。因此作為開(kāi)發(fā)人員應(yīng)該特別注意。

還有一個(gè)問(wèn)題也是值得注意的,就是在中斷服務(wù)程序中避免打開(kāi)全局中斷允許位,因?yàn)镻IC單片機(jī)不支持中斷嵌套,否則在執(zhí)行一個(gè)中斷服務(wù)程序還未結(jié)束就進(jìn)入另一個(gè)中斷服務(wù)程序后,上一個(gè)中斷的現(xiàn)場(chǎng)參數(shù)將遭到破壞,從而導(dǎo)致程序產(chǎn)生不可預(yù)知的錯(cuò)誤。

以上是本人在實(shí)際使用PIC單片機(jī)過(guò)程中的一點(diǎn)經(jīng)驗(yàn),供網(wǎng)友參考,有不妥之處請(qǐng)諒解。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉