ATmega8 externer Interrupt 1 fallende Flanke

In diesem C Example reagiert der externe Interrupt des ATmega8 auf eine fallende Flanke. Die Interruptroutine toggelt den Ausgang PB0.


Beschreibung

Der Eingang des externen Interrupt 1 startet auf eine fallende Flanke. In der Interrupt-Routine wird ein Digitalausgang getoggelt.

Please visit: the four

ampel

C Sourcecode

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{

     DDRB = 0x01;                        // Setup P0 as output
     PORTD |= 0x08;                      // Activate Apullupressistor of PD3
     GICR |= (1 << INT1);                // Enable INT1
     MCUCR |= (1 << ISC11);              // INT1 is executed on any edge

     sei();                              // Set the I-bit in SREG

     for(;;);                            // The main loop stays empty and
                                         // could contain some code you want.

     return 0;                           // This line will never be executed
}


// Interrupt subroutine for external interrupt 1
 ISR(INT1_vect)                            
{
     PORTB ^= 0x01;                      // Toggle PB0

}

Download C-Sourcefile mit ASCII-Schema: C-Sourcefile mit ACII-Schema

Signalplots

Externer Interrupt 1 fallende Flanke Plot

Gelb: Digitalausgang PB0 (In Interruptroutine geschaltet)

Blau: Interrupt 1 Eingang