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<

INT1INT0GICR |=0xc0;或GICR |= (1<

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

 

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

}

 

 

你可能感兴趣的:(AVR)