新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC的中斷入口

        PIC的中斷入口

        作者: 時間:2013-05-04 來源:網絡 收藏

        的一些中、低端型號中,往往只有一個中斷函數入口,而且沒有中斷優先級,這對于很多在學校學習89C51核出來的學生,往往給他們帶來一定的學習障礙。

        1、中檔MCU的固定為ROM首葉的0X0004地址,無論發生什么樣的中斷,應用程序都將被打斷并跳轉到這個地址去執行相關的中斷處理函數。

        2、在51系列中,的區分是由硬件完成的,但在上,這個需要工程師自己通過軟件去判斷。

        3、因為只有一個,所以也沒有51那樣的兩級中斷優先級,具體何種應該優先執行完全由工程師自己的軟件確定,這是通過中斷函數中的查詢代碼的順序決定的,可以把這個概念稱呼為軟件優先級。

        4、PIC的中斷結構決定了PIC一般不考慮中斷嵌套,假使現在正在處理軟件優先級中低優先級的中斷源,即使此時產生更高優先級的中斷,一般也必須處理完畢后退回MAIN函數后再次響應進入,這是因為響應中斷后,MCU硬件會自動關閉GIE標志位,這樣其它中斷請求就會被暫時掛起并在中斷退出后立即響應,當然,此時發出的中斷請求標志在被響應前將會一直被保持。

        5、因為PIC中端MCU采用的是全硬件堆棧,沒有數據堆棧,所以,關于中斷現場保護也完全交給工程師自由把握,所以進入中斷后惟一辦法就是把需要保護的數據保存到RAM中進行備份,中斷退出時再給予恢復,至于那些積存器需要被保護,這完全取決于工程師,一般來說,W、STATUS、PCLATH、FSR是必須的,其它需保護的內容取決于工程師在中斷函數將會使用到哪些變量,并且這些變量在其它函數中也確定有使用記錄。對于代碼超過2K的程序,PCLATH是必須的,否則可不考慮它的保存,這是因為PC本身可保證2K以內的尋址空間,而PC是由硬件自動壓棧到硬件堆棧中去了。

        6、一個不代表只能處理中斷源,通過上面的描述,我們可以清楚的了解,其實事情很簡單,其道理就是:多個中斷源對著一個中斷入口,當發生某一個中斷時將轉想中斷入口,處理完畢后退出,如果發生別的中斷,還是從這個入口進去。

        7、如何寫一個可靠的中斷函數是一個麻煩,當然這是針對ASM而言,如果你使用PICC,那么C編譯器會自動幫你處理掉大多數問題,但有關中斷源的查詢寫法還是要注意一下的,這點你可以自己搜索網絡文章,網絡有很多地方可提供張明峰先生那本入門書中有關PICC的那個獨立章節,那里面把最基本、最關鍵的問題都講過了,請自行查閱。



        關鍵詞: PIC 中斷入口 中斷源

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永善县| 济南市| 上思县| 耒阳市| 色达县| 长寿区| 绍兴县| 玉田县| 万安县| 噶尔县| 中西区| 赤壁市| 阿拉善右旗| 广元市| 类乌齐县| 垣曲县| 土默特右旗| 扶绥县| 眉山市| 南江县| 金山区| 武陟县| 舟山市| 吉首市| 阿拉善右旗| 平舆县| 建湖县| 汉中市| 盐边县| 手游| 汉阴县| 新沂市| 张家港市| 屏东市| 深圳市| 五华县| 屏边| 原平市| 龙口市| 扶风县| 玉山县|