Programmieren von Mikrocomputern in
     automatisierten Systemen

     Automatisieren und Vernetzen mit Industrie-PC

 
 
Sitemap ::info-rlp :: PSPICE  :: C-Programmierung :: AT04 :: ELI04 :: C51 :: 
 
    Pfad ::: Mikrocontroller / Auswertung mit dem externen Interrupt 0

 

 

1.5     
 

Interrupt-Steuerung
 
 
  1.5.1  Auswertung mit dem externen Interrupt 0
siehe S.168 Fachbuch Baldischweiler
 
         
   
 1.  
zum Anfang der Seite Problemstellung
K. Greweling, N. Mühlhaus

Unterschiede zum Polling Verfahren

Polling: Unter Polling versteht man die periodische Abfrage der Peripheriegräte (z. B. Taster). Befindet sich der Prozessor in einer Polling-Schleife, so ist er ausschließlich damit beschäftigt nachzufragen, ob ein Gerät Daten senden möchte. Dieser Zustand wird als "Aktives Warten" bezeichnet.  

Anwendung: Es ist immer dann anzuwenden wenn das System blitzschnell auf ein einziges Peripheriegerät zugreifen soll oder wenn der Prozessor keine Aufgabe hat, solange er auf eine Aufgabe des Peripheriegerätes wartet.

Interrupt: Bei einem Interrupt veranlasst der Prozessor, sein aktuell laufendes Programm zu unterbrechen und in ein Unterprogramm zu springen. Nach Abarbeitung dieses Unterprogramms springt er wieder in sein Hauptprogramm zurück.

Anwendung: Der Interrupt findet Anwendung z. B. für Temperaturüberwachung oder Zeitüberwachung. Wenn
 z. B. eine Temperatur überschritten wurde, springt er aus dem Hauptprogramm heraus und bringt durch das Unterprogramm eine Störungslampe zum Leuchten.

Weitere Informationen
www.bjoern-koester.de/iogrundlagen/
www.sprut.de/electronic/pic/int/int.htm#int



 

3.                                                                  
zum Anfang der Seite SFR - betroffene Adressen
M. Bottler, M. Klein


  Ausarbeitung im Word-Format


 
  zum Anzeigen des Teilausschnitts des SFR auf die Grafik klicken





  zum Anzeigen des Teilausschnitts des SFR auf die Grafik klicken
 


 

 

2.  
zum Anfang der Seite Interruptquellen
R. Löffler, M. Nau





  zum Anzeigen der Interruptquellen auf die Grafik klicken

- Interruptquellen und weitere Informationen
                    (odt-Format. Auch mit StarOffice7 zu öffnen?)


  Interruptquellen und weitere Informationen
  als pdf-Datei




 

4.  
zum Anfang der Seite Deklaration Port 1.3
C. Brück




  zum Anzeigen der Headerdatei reg932.h auf die Grafik klicken






 

6.  
zum Anfang der Seite Struktogramm
G. Hower, B. Schneider






- Struktogramm


                - StarOffice-Datei zum Download
                  anbieten]




























 

 
  
 5.                                                                                  
zum Anfang der Seite Programmablaufplan (PAP)
D. Carl, D. Oberhausen







- PAP des Hauptprogramms

- PAP des Interrupt Service Routine (ISR)

   

 

   
 7.                                                                   
zum Anfang der Seite Zeitlicher Ablauf des Schaltvorgangs (grafisch)
A. Hansen, C. Willems






 - Was wird dargestellt, y-Achse?????

-  Zeitlicher Verlauf

 
 

 
   
 8.                                                        
zum Anfang der Seite Simulation mit µVision3  
C. Brück, M. Johanns


















  zum Anzeigen der Simulation auf die Grafik klicken

 

 9.                                                                                         
zum Anfang der Seite Vektoradresse sichtbar gemacht
 

 


zum Anzeigen des Disassembly Window auf die Grafik klicken
Tipp: Browser in den Vollbildmodus schalten

 

Ganz schön kniffelig!!!
Am besten ab S. 161 im Fachbuch "Keil C51 / Philips LPC900" nachlesen und das dort beschriebene Projekt IntTaste.a51 antesten (Disassembly-Window einschalten)!

 

 
   
 10.                                                                   
zum Anfang der Seite Test mit dem LPC900-Board
R. Müller, M. Sonne

Bei Betätigung der Taste leuchtet die LED.
Bei erneuter Betätigung der Taste erlischt
die LED wieder.


 
 
 
 
 

   zum Anzeigen der Hinweise die Grafik anklicken

 
   
 11.                                                                   
zum Anfang der Seite  Quellcode in der
 Programmiersprache C
  siehe S.168 Fachbuch Baldischweiler

/**************************************************************************************
 *  C-Programm zur Auswertung mit dem externen Interrupt 0                              *
 *  Projekt-Name: auswertung_taste_mit_externem_interrupt_0.uv2                     *
 **************************************************************************************/

#include <reg932.h>

sbit sbTaste = P1^3;                              // Deklaration der Taste
sbit sbLED = P2^0;                                // Deklaration der LED

void main( void )
{
    P2M1 = 0xFE;                                     // Initialisierung Port 2^0 als bidirektional       
                                                                      
    IT0 = 0;                                               // Interrupt 0 flankengetriggert (TCON, Bit 0)
    IE0 = 0;                                               // Flag von Interrupt 0 zuruecksetzen (TCON, Bit 1)
    EX0 = 1;                                              // Interrupt 0 freigeben (IEN0, Bit 0)
    EA = 1;                                                // allgemeine Interruptsperre aufheben (IEN0, Bit 7)


    while ( 1 )
    {
        ;
    }
}


void v_Int0(void) interrupt 0                    // Interruptfunktion für den externen Interrupt 0
{
    if ( sbLED == 0 )                                // Invertieren des LED-Zustands
    {
        sbLED = 1;
    }

    else
    {
        sbLED = 0;
    }

    while ( sbTaste == 0 )                         // warten, bis Taste wieder geoeffnet ist
    {
        ;
    }                   

}
     

 
         
    Quellennachweis:
Grafik der "Lernbausteine" der Original-LEGO-Website entnommen
   

 

   :: Stand :: 25.05.2005
  
    :: Glossar :: Block diagram :: Memory :: Special function registers :: Philips P89LPC93X :: Siemens A51 Pocket-Guide
 
              Beratender Fachlehrer: