AVR外部中斷筆記

外部中斷引腳號:INT0 PD2  ,   INT1 PD3  ,   INT2 PB2

寄存器說明:

通用中斷控制寄存器:GICR

  7

   6

   5

   4

   3

   2

  1 

  0

INT1

INT0

INT2

---

  ---

  ---

IVSEL

INCE

GICR寄存器中,在中斷的配置只配置INTn,如

INT0 GICR |= 0x40;或GICR |= (1<<INT0)

INT1INT0GICR |=0xc0;或GICR |= (1<<INT0) | (1<<INT1)

INT2GICR |=0x20。或GICR|=1<<INT2;

 

MCU控制寄存器 – MCUCR

  7

   6

   5

   4

   3

   2

  1 

  0

SM2

SE

SM1

SM0

ISC11

ISC10

ISC01

ISC00

4 bit暫時先不理會,主要是看低4 bit

ISCnx,n表示中斷0.1x表示0.1

ISCn1

ISCn0

說明

0

0

INTn爲低電平觸發

0

1

INTn引腳上任意的邏輯電平變化將引起中斷

1

0

INTn下降沿產生異步中斷

1

1

INTn上升沿產生中斷

INT1設置爲下降沿觸發:MCUCR =0x80.

INT0設置爲低電平觸發:MCUCR =0x00

MCU控制與狀態寄存器:MCUCSR

  7

   6

   5

   4

   3

   2

  1 

  0

JTD

ISC2

----

JTRF

WDRF

BORF

EXTRF

PORF

值需要說明ISC2即可,其餘的請看相關的配置說明

ISC20,下降沿中斷  MCUCSR = 0x00

1,  上升沿中斷 MCUCSR = 0x40

通用中斷標誌寄存器 – GIFR

  7

   6

   5

   4

   3

   2

  1 

  0

INTF1

INTF0

INTF2

---

----

------

----

----

1清除中斷標誌

void Inti_INT1void

{

  DDRD &= 0xF7;

  GICR|=0x80;  //INT1 enable

   MCUCR=0x00;//低電平觸發

   GIFR=0x80; //clear INTF

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章