新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式學習筆記20——AVR單片機之中斷

        嵌入式學習筆記20——AVR單片機之中斷

        作者: 時間:2016-11-20 來源:網絡 收藏
        1.ATmega16單片機具有21個中斷源。每個中斷源都有一個獨立的中斷向量作為中斷服務程序的入口地址,而且所有的中斷源都有自己獨立的使能位。如果全局中斷I和相應的中斷使能位都置位,則在中斷標志位置位時將執行中斷服務程序。

        2.一個中斷產生后,全局中斷使能位I將被清零,后的中斷被屏蔽。用戶可以在中斷服務程序里面對I置位從而開全局中斷,在中斷返回后全局中斷I將重新置位。

        本文引用地址:http://www.104case.com/article/201611/318678.htm

        3.ATmega16單片機中斷向量表介紹:


        4.AVR單片機外部中斷

        • ATmega16單片機具有3個外部中斷,分別是INT0,INT1,INT2,這3個外部中斷都是有單片機的引腳觸發的。
        • 需要注意的是,如果允許外部中斷的話,即使INT0,INT1,INT2這3個引腳都設置為輸出方式,外部中斷也會觸發。
        • INT0,INT1外部中斷可以選擇的觸發方式有上升沿觸發、下降沿觸發以及低電平觸發;INT2只有跳變沿觸發(即上升沿觸發或下降沿觸發),沒有電平觸發。
        • 使用外部中斷涉及到的寄存器有:MCU控制寄存器MCUCR,MCU控制欲狀態寄存器MCUCSR,通用中斷控制寄存器GICR,通用中斷狀態寄存器GIFR。



        ISC11和ISC10——外部中斷1,ISC01和ISC00——外部中斷0


        只需關心ISC2位,為零時下降沿觸發中斷;為1時上升沿觸發中斷。


        第7位——全中斷使能位

        各單獨中斷源中斷使能

        使用外部中斷函數可以不用關心此寄存器,也可以軟件查詢。

        5.

        6.外部中斷的使用步驟

        • 設置外部中斷觸發方式(寄存器MCUCR——INT0、INT1,MCUCSR——INT2)
        • 使能外部中斷(寄存器GICR)
        • 設置中斷管腳(是否需要上拉電阻,若是,則設置INT0、INT1、INT2所在IO口引腳為輸出且上拉電阻)
        • 打開全局中斷(寄存器SREG)
        • 選擇中斷號,寫中斷服務程序。


        關鍵詞: AVR單片機中

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 和硕县| 常德市| 大足县| 神池县| 长宁县| 平遥县| 宿州市| 岳池县| 定结县| 深泽县| 仙居县| 鲁山县| 襄城县| 东明县| 缙云县| 阜阳市| 曲沃县| 温泉县| 博乐市| 观塘区| 苍梧县| 铅山县| 松溪县| 页游| 保靖县| 洪湖市| 靖州| 临武县| 金秀| 南召县| 子洲县| 白山市| 衡阳市| 班玛县| 铁岭县| 荣成市| 夏邑县| 祁阳县| 全州县| 成都市| 武冈市|