avr ersterer schritt
  Register
 
Register

Der AT90S2313 verfügt über 2 Register die mit den Interrupts zusammen hängen.

GIMSK General Interrupt Mask Register.
Bit 7 6 5 4 3 2 1 0
Name INT1 INT0 - - - - - -
R/W R/W R/W R R R R R R
Initialwert 0 0 0 0 0 0 0 0

INT1 (External Interrupt Request 1 Enable)

Wenn dieses Bit gesetzt ist, wird ein Interrupt ausgelöst, wenn am INT1-Pin eine steigende oder fallende (je nach Konfiguration im MCUCR) Flanke erkannt wird.
Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.
Der Interrupt wird auch ausgelöst, wenn der Pin als Ausgang geschaltet ist. Auf diese Weise bietet sich die Möglichkeit, Software-Interrupts zu realisieren.

INT0 (External Interrupt Request 0 Enable)

Wenn dieses Bit gesetzt ist, wird ein Interrupt ausgelöst, wenn am INT0-Pin eine steigende oder fallende (je nach Konfiguration im MCUCR) Flanke erkannt wird.
Das Global Enable Interrupt Flag muss selbstverständlich auch gesetzt sein.
Der Interrupt wird auch ausgelöst, wenn der Pin als Ausgang geschaltet ist. Auf diese Weise bietet sich die Möglichkeit, Software-Interrupts zu realisieren.
GIFR General Interrupt Flag Register.
Bit 7 6 5 4 3 2 1 0
Name INTF1 INTF0 - - - - - -
R/W R/W R/W R R R R R R
Initialwert 0 0 0 0 0 0 0 0

INTF1 (External Interrupt Flag 1)

Dieses Bit wird gesetzt, wenn am INT1-Pin eine Interrupt-Kondition, entsprechend der Konfiguration, erkannt wird. Wenn das Global Enable Interrupt Flag gesetzt ist, wird die Interruptroutine angesprungen.
Das Flag wird automatisch gelöscht, wenn die Interruptroutine beendet ist. Alternativ kann das Flag gelöscht werden, indem der Wert 1(!) eingeschrieben wird.

INTF0 (External Interrupt Flag 0)

Dieses Bit wird gesetzt, wenn am INT0-Pin eine Interrupt-Kondition, entsprechend der Konfiguration, erkannt wird. Wenn das Global Enable Interrupt Flag gesetzt ist, wird die Interruptroutine angesprungen.
Das Flag wird automatisch gelöscht, wenn die Interruptroutine beendet ist. Alternativ kann das Flag gelöscht werden, indem der Wert 1(!) eingeschrieben wird.
MCUCR MCU Control Register.

Das MCU Control Register enthält Kontrollbits für allgemeine MCU-Funktionen.

Bit 7 6 5 4 3 2 1 0
Name - - SE SM ISC11 ISC10 ISC01 ISC00
R/W R R R/W R/W R/W R/W R/W R/W
Initialwert 0 0 0 0 0 0 0 0

SE (Sleep Enable)

Dieses Bit muss gesetzt sein, um den Controller mit dem SLEEP-Befehl in den Schlafzustand versetzen zu können.
Um den Schlafmodus nicht irrtümlich einzuschalten, wird empfohlen, das Bit erst unmittelbar vor Ausführung des SLEEP-Befehls zu setzen.

SM (Sleep Mode)

Dieses Bit bestimmt der Schlafmodus.
Ist das Bit gelöscht, so wird der Idle-Modus ausgeführt. Ist das Bit gesetzt, so wird der Power-Down-Modus ausgeführt. (für andere AVR Controller siehe Abschnitt "Sleep-Mode")

ISC11, ISC10 (Interrupt Sense Control 1 Bits)

Diese beiden Bits bestimmen, ob die steigende oder die fallende Flanke für die Interrupterkennung am INT1-Pin ausgewertet wird.
ISC11 ISC10 Bedeutung
0 0 Low Level an INT1 erzeugt einen Interrupt.

Der Interrupt wird getriggert, solange der Pin auf 0 bleibt.

0 1 Reserviert
1 0 Die fallende Flanke an INT1 erzeugt einen Interrupt.
1 1 Die steigende Flanke an INT1 erzeugt einen Interrupt.

ISC01, ISC00 (Interrupt Sense Control 0 Bits)

Diese beiden Bits bestimmen, ob die steigende oder die fallende Flanke für die Interrupterkennung am INT0-Pin ausgewertet wird.
ISC01 ISC00 Bedeutung
0 0 Low Level an INT0 erzeugt einen Interrupt.

Der Interrupt wird getriggert, solange der Pin auf 0 bleibt.

0 1 Reserviert
1 0 Die fallende Flanke an INT0 erzeugt einen Interrupt.
1 1 Die steigende Flanke an INT0 erzeugt einen Interrupt.
 
  Heute waren schon 1 Besucher (6 Hits) hier!  
 
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden