嵌入式學(xué)習(xí)筆記20——AVR單片機(jī)之中斷
2.一個(gè)中斷產(chǎn)生后,全局中斷使能位I將被清零,后的中斷被屏蔽。用戶(hù)可以在中斷服務(wù)程序里面對(duì)I置位從而開(kāi)全局中斷,在中斷返回后全局中斷I將重新置位。
本文引用地址:http://m.butianyuan.cn/article/201611/318678.htm3.ATmega16單片機(jī)中斷向量表介紹:
4.AVR單片機(jī)外部中斷
- ATmega16單片機(jī)具有3個(gè)外部中斷,分別是INT0,INT1,INT2,這3個(gè)外部中斷都是有單片機(jī)的引腳觸發(fā)的。
- 需要注意的是,如果允許外部中斷的話(huà),即使INT0,INT1,INT2這3個(gè)引腳都設(shè)置為輸出方式,外部中斷也會(huì)觸發(fā)。
- INT0,INT1外部中斷可以選擇的觸發(fā)方式有上升沿觸發(fā)、下降沿觸發(fā)以及低電平觸發(fā);INT2只有跳變沿觸發(fā)(即上升沿觸發(fā)或下降沿觸發(fā)),沒(méi)有電平觸發(fā)。
- 使用外部中斷涉及到的寄存器有:MCU控制寄存器MCUCR,MCU控制欲狀態(tài)寄存器MCUCSR,通用中斷控制寄存器GICR,通用中斷狀態(tài)寄存器GIFR。
ISC11和ISC10——外部中斷1,ISC01和ISC00——外部中斷0
只需關(guān)心ISC2位,為零時(shí)下降沿觸發(fā)中斷;為1時(shí)上升沿觸發(fā)中斷。
第7位——全中斷使能位
各單獨(dú)中斷源中斷使能
使用外部中斷函數(shù)可以不用關(guān)心此寄存器,也可以軟件查詢(xún)。
5.
6.外部中斷的使用步驟
- 設(shè)置外部中斷觸發(fā)方式(寄存器MCUCR——INT0、INT1,MCUCSR——INT2)
- 使能外部中斷(寄存器GICR)
- 設(shè)置中斷管腳(是否需要上拉電阻,若是,則設(shè)置INT0、INT1、INT2所在IO口引腳為輸出且上拉電阻)
- 打開(kāi)全局中斷(寄存器SREG)
- 選擇中斷號(hào),寫(xiě)中斷服務(wù)程序。
評(píng)論