|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
InterruptprogrammierungInterruptquellen und InterruptfreigabeDurch Interrupts wird der normale Programmablauf unterbrochen. Dies bietet die Möglichkeit, auf bestimmte Ereignisse schnell und sicher zu reagieren (Bsp. Not-AUS). Abfallende Flanken oder Low-Signale können externe Interruptereignisse (INT0/, INT1/) auslösen, überlaufende Timer lösen Timer-Interrupts (TF0, TF1, TF2) aus, über die serielle Schnittstelle gesendete (TI) oder empfangene (RI) Zeichen können Interrupts auslösen. Die Interrupt-Anfoderungs-Bits (s.u.) werden
immer gesetzt, der entsprechende Interrupt wird jedoch nur dann
bearbeitet, wenn die Interrupts freigegeben sind und die globale
Interrupt-Freigabe EA = 1 ist. Zur Bearbeitung der Interrupts
springt der Controller zu festgelegten Einsprungadressen im Programmspeicher.
Dort wird kurzer Code direkt ausgeführt, oder bei umfangreicheren
Aufgaben, zu einer Interrupt-Service-Routine (ISR) gesprungen.
|
|||||||||||||||||||||||
|
|