Interrupt. Externe Interrupts 0 und 1

Größe: px
Ab Seite anzeigen:

Download "Interrupt. Externe Interrupts 0 und 1"

Transkript

1 Interrupt In vielen Applikationen müssen Mikrocontrollersysteme auf nicht vorhersehbare Ereignisse schnell reagieren (Echtzeitanwendungen). Diese Forderung erfüllt die Interruptschaltung. Ein durch ein internes oder externes Ereignis ausgelöster Interrupt unterbricht das gerade laufende Programm. Es verzweigt auf die dem aktuellen Interrupt zugeordnete Adresse und von dort auf den dem Interrupt zugeordneten Programmteil (ISR: Interrupt-Service-Routine). Ist das Interruptprogramm abgearbeitet, wird das Programm an der zuvor unterbrochenen Stelle fortgesetzt. Ein gerade laufendes Interruptprogramm kann seinerseits durch einen Interrupt aus einer weiteren Stelle unterbrochen werden, wenn der neue Interrupt über eine höhere Unterbrechungspriorität verfügt. Bei gleicher oder niedrigerer Priorität muss der neue Interrupt so lange warten, bis der aktuelle Interrupt abgearbeitet ist. Erst dann wird er wirksam. Ein Interrupt wird durch Setzen des Interrupt-Request-Flags (Anforderungs-Flag) ausgelöst. Bei einigen Typen löscht die Hardware diese Flags bei der Ausführung des Interrupts. In anderen Fällen müssen diese Flags durch die Software gelöscht werden. Die Interruptschaltung des 8051 umfasst fünf Quellen und zwei Prioritätsebenen. Die Tabelle 1.13 enthält die Interrupt-Quellen mit den entsprechenden Einsprungadressen im Programmspeicher. Das Bild 1.27 zeigt die Interruptquellen und Interrupt-Request-Flags. Die Tabellen 1.14, 1.15 und 1.16 beschreiben das Interrupt-Enable-Register (IE), die Prioritätsstruktur und das Interrupt- Prioritätsregister (IP). Das Bild 1.28 zeigt das Interrupt-Zeitdiagramm. Alle Interrupts können separat über entsprechende Bits im Interrupt-Enable-Register IE freigegeben (enabled) oder gesperrt (disabled) werden. Das Bit EA in (IE.7) kann alle Interrupts gemeinsam sperren. Nach einem Reset sind ebenfalls alle Interrupts gesperrt. Tabelle 1.13: Interrupt-Quellen und -Einsprungadressen Externe Interrupts 0 und 1 Eine negative Flanke oder ein LOW-Pegel an P3.2 (/INT0) bzw. P3.3 (/INT1) aktiviert diese Interrupts. Sind die Bits IT0 bzw. IT1 (TCON.0 bzw. TCON.2) auf 1 gesetzt, ist die fallende Flanke das den Interrupt auslösende Moment, andernfalls der LOW-Pegel. Siehe dazu die Beschreibung des TCON-Registers in der Tabelle Die Interrupt-Eingangssignale setzen die Interrupt-Request-Bits IE0 bzw. IE1 (TCON.1 bzw. TCON.3), wenn sie durch 1 in den Interrupt-Enable-Bits EX0 (IE.0) bzw. EX1 (IE.2) und EA (IE.7) freigegeben waren, und lösen dadurch den Interrupt aus. Die Bits le0 und IE1 werden bei der Verzweigung auf die Interrupt-Service-Routine durch die Hardware gelöscht, falls es sich um Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 1/10

2 die flankenempfindlichen Interrupts gehandelt hat. Bei pegelempfindlichen Interrupts enthalten diese Bits den negierten Pegel des jeweiligen Eingangspins. Erfolgt während der Bearbeitungszeit einer ISR eine weitere externe Interruptanforderungen, dann wird diese Anfrage im pegelgetriggerten Fall ignoriert. Bei der flankengetriggerten Betriebsart dagegen wird diese Anfrage gespeichert und die zugehörige ISR später ausgeführt. Die Interrrupt- Latenz- bzw. Interrupt-Response-Zeit verlängert sich entsprechend. In Bild 1.27a wird dieser Vorgang illustriert. Bild 1.27a: Externe Interrupts [10] Bild 1.27b: Interrupt-Quellen, -Request-Flags und Prioritätseinstellungen [10] Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 2/10

3 Zähler/Zeitgeber 0 und 1 Interrupts Laufen die Zähler/Zeitgeber über, setzen sie die Interrupt-Request-Flags TF0 (TCON.5) bzw. TF1 (TCON.7) und lösen dadurch den Timer 0 bzw. 1 Interrupt aus, vorausgesetzt, dass sie im Interrupt-Enable-Register durch die Bits EA (IE.7) und ET0 (IE.1) bzw. ET1 (IE.3) freigegeben waren. TF0 und TF1 werden bei der Verzweigung auf die Interrupt-Service-Routine durch die Hardware gelöscht. IE (Interrupt-Enable-Register) bitadressierbar Resetwert: 00H (IEN0 beim C515C) Tabelle 1.14: IE (Interrupt-Enable-Register) bitadressierbar Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 3/10

4 Interrupt der seriellen Schnittstelle Dieser Interrupt wird entweder durch das RI- (SCON.0) oder das TI-Bit (SCON.1) ausgelöst, vorausgesetzt, die Freigabebits EA (IE.7) und ES (IE.4) waren auf 1 gesetzt. Siehe dazu die Beschreibung des SCON-Registers Tabelle Die Hardware setzt diese Bits nicht zurück. Normalerweise muss die Software durch Abfragen die Interrupt-Quelle (Rl oder TI) ermitteln und anschließend löschen. Software-Interrupts Alle Interrupt-Request-Bits können mit gleichem Resultat durch Software gelöscht und gesetzt werden. D.h., alle Interrupts sind auch durch Software auszulösen bzw. zu beenden. Ausnahmen sind die pegelempfindlichen Interrupts 0 und 1. Hier erscheint der negierte Pegel im Request-Bit. In diesem Fall sind die Software-Interrupts 0 und 1 durch Schreiben in die Portregister /INT0 (P3.2) und /INT1 (P3.3) zu generieren. Interrupt-Prioritätsstruktur Der 8051 verfügt über zwei Interrupt-Prioritätsebenen. Stehen mehrere Interrupts gleichzeitig an, entscheidet die eingestellte Priorität über die Reihenfolge, in der sie abgearbeitet werden. Ist für alle Interrupts die gleiche Prioritätsebene programmiert, arbeitet die Schaltung die Interrupts ebenfalls nach einer vorgegebenen Reihenfolge ab. Ein Interrupt hoher Priorität kann einen gerade aktiven Interrupt mit niederer Priorität unterbrechen, jedoch nicht umgekehrt. Interrupts gleicher Priorität unterbrechen sich nicht. Die Tabelle 1.15 gibt die fest eingestellte Reihenfolge der Abarbeitung an, wenn mehrere Interrupts gleicher Priorität gleichzeitig anstehen. Die Tabelle 1.16 veranschaulicht die Behandlung der Prioritätsebenen über das Register IP. Stehen mehrere Interrupts gleichzeitig an, hat die in der Tabelle an höherer Stelle aufgelistete Interrupt-Quelle die größere Priorität. Tabelle 1.15: Prioritätsebenen für C515C (Superset des 8051) Die Tabelle 1.15 zeigt alle Interruptquellen des 80C515C. Dieser Baustein verarbeitet insgesamt 17 Interruptquellen (serieller Interrupt wird zweimal gezählt), die auf vier Prioritätsebenen verteilt werden können. Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 4/10

5 Interruptbehandlung Wird ein Interrupt erkannt, generiert das Interruptsystem einen Aufruf der entsprechenden Interrupt-Service-Routine (ISR), vorausgesetzt, dies ist nicht durch eine der folgenden Bedingungen blockiert: Ein Interrupt gleicher oder höherer Priorität ist aktiv, der gerade laufende Befehl ist noch nicht abgearbeitet, der gerade aktive Befehl ist ein RETI, oder es findet gerade ein Zugriff auf eines der Register IE oder IP statt BCH BBH BAH B9H B8H PS PT1 PX1 PT0 PX0 Bit Adresse IP (B8H) Tabelle 1.16: IP (Interrupt-Prioritäts-Register) bitadressierbar Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 5/10

6 Timing Die Interruptschaltung fragt in jedem Maschinenzyklus einmal alle Interrupt-Quellen ab, ob eine Anforderung ansteht. Ist ein anstehender Interrupt durch eine der genannten Bedingungen blockiert, muss das Signal so lange anliegen, bis es bedient werden kann. Das Bild 1.28 zeigt das Interrupt-Zeitdiagramm. Die Interrupt-Service-Routine wird durch den Befehl RETI (Return from Interrupt) abgeschlossen. Der Stand des Befehlszählers vor der Interruptverzweigung wird aus dem Stack in den PC geholt. Dadurch wird das Programm an der ursprünglich unterbrochenen Adresse fortgesetzt. Im Unterschied zum RETI bewirkt der RET den Rücksprung aus einem Unterprogramm. Diese kann nur mit dem CALL angesprungen werden. Bild 1.28: Interrupt-Zeitdiagramm Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 6/10

7 Interrupt-Antwortzeit Wird ein Interrupt aktiv, wird das entsprechende Request-Flag gesetzt. Der darauffolgende Maschinenzyklus fragt das Request-Flag ab. Falls keine der vorher angegebenen Bedingungen dies verhindert, folgt der Aufruf der Interrupt-Service-Routine. Dieser Aufruf selbst dauert zwei Maschinenzyklen (LCALL). Es vergehen also minimal drei Maschinenzyklen zwischen Aktivierung eines Interrupts und der Ausführung des ersten Befehls der zugehörigen Interrupt-Service- Routine. Siehe dazu auch das Bild Eine längere Antwortzeit ergibt sich, wenn eine der oben genannten Blockierungen vorliegt. Ist ein Interrupt gleicher oder höherer Priorität aktiv, wird die Wartezeit von der Laufzeit der laufenden Interrupt-Service-Routine bestimmt. Ist der gerade ablaufende Befehl noch nicht zu Ende, so beträgt die zusätzliche Wartezeit höchstens 3 Zyklen, da die längsten Befehle (MUL/DIV) 4 Maschinenzyklen benötigen. Läuft gerade ein RETI oder ein Zugriff auf die Register IE oder IP ab, wird immer noch der nächste Befehl ausgeführt. Deshalb kann dann die zusätzliche Wartezeit höchstens 5 Zyklen betragen (1 Zyklus für den gerade laufenden Befehl und 4 Zyklen für einen der längstmöglichen Befehle (MUL/DIV)). Die Antwortzeit beträgt dann also immer mehr als 3 und weniger als 9 Zyklen, wenn kein Interrupt mit gleicher oder mit höherer Priorität aktiv ist. t Task Interrupt Task CPU-Kontext sichern ISR-Kernel Entry function ISR- Kernel Exitfunction Interrupt- Service- Routine (ISR) Interrupt- Latenz Dispatch Anwender-Code der Interrupt Service Routine Interrupt- Recovery Bild 1.29: Systemverhalten und -zeiten bei einem Kontextwechsel Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 7/10

8 Single-Step In der Testphase und bei der Fehlersuche ist der Single-Step-Betrieb oft unentbehrlich. Der Single-Step ist beim 8051 mit wenig Softwareaufwand realisierbar. Wie im vorherigen Abschnitt beschrieben, wird eine Interruptanforderung so lange nicht bedient, wie ein Interrupt gleicher oder höherer Priorität anliegt, oder bis nach dem RETI-Befehl wenigstens ein weiterer Befehl ausgeführt wurde. Somit kann ein Interrupt frühestens wieder aktiv werden, nachdem wenigstens ein Befehl des Hauptprogramms ausgeführt wurde. Für den Single-Step-Betrieb programmiert man einen der externen Interrupts, beispielsweise den /INT0 auf Pegeltriggerung. Die dazugehörende Interrupt-Service-Routine wird dann durch die folgenden Befehle abgeschlossen: JNB P3.2, $ ; Warte bis /INT0 HIGH ist JB P3.2, $ ; Warte bis /INT0 LOW ist RETI ; Springe zurück und führe einen Befehl aus Es wird also nach jedem negativen Impuls an /INT0 (P3.2) ein Befehl des Hauptprogramms ausgeführt. In der Interrupt-Service-Routine können beliebige Testprogramme ablaufen, beispielsweise die Ausgabe bestimmter Registerinhalte über die serielle Schnittstelle, usw. Eine grafische Darstellung der Interruptstruktur des C515C finden sie im Siemens Users Manual auf den Seiten 7-2, 7-3 und 7-4. Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 8/10

9 Interrupt-Vektoren des C515C Nr. Adresse Interruptquelle Request Flags Reset H Startadresse nach einem Reset H Externer Interrupt 0 (auch Eingang für Wake up!) IE0 HW 1 000BH Timer 0 Overflow Interrupt TF0 HW H Externer Interrupt 1 IE1 HW 3 001BH Timer 1 Overflow Interrupt TF1 HW H Serieller Schnittstellen-Interrupt RI / TI SW 5 002BH Timer 2 Overflow / externer Reload-Interrupt TF2 / EXF2 SW H A/D-Converter Interrupt IADC SW 9 004BH Externer Interrupt 2 IEX2 HW H Externer Interrupt 3 / Compare Ereignis mit CRC IEX3 HW BH Externer Interrupt 4 / Compare Ereignis mit CC1 IEX4 HW H Externer Interrupt 5 / Compare Ereignis mit CC2 IEX5 HW BH Externer Interrupt 6 / Compare Ereignis mit CC3 IEX6 HW BH Wake-up vom Software Power Down Interrupt BH CAN-Controller Interrupt H Synchroner serieller Kanal Interrupt (SSC) TC / WCOL 20 00A3H Externer Interrupt ABH Externer Interrupt 8 -- Tabelle 1.17: Interrupt-Nummern mit zugehörigen Adressen in der Vektortabelle Eine Interrupt-Funktionsdeklaration sieht z.b. so aus: _interrupt(1) _using(2) void timer(void); Mehr Informationen hierzu gibt es im Tasking C-Compiler Manual M_CC51.pdf (Kapitel 3.16) auf der CDROM. Damit der C-Compiler den richtigen Interruptvektor erzeugen kann, wird die Interrupt-Nummer n (Interrupt_ID) verwendet. Der Platz für den Interruptvektor wird dann über folgende Formel berechnet: Vektor_Addresse = 8 * n + 3 oder n = (Vektor_Adresse - 3)/8 Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 9/10

10 Programmbeispiel 1: ISR mit Registerbankumschaltung ;***** Interruptroutine mit Registerbankumschaltung ***** ; Reg_Bank_0 equ b ;Registerbank für Hauptprogramm Reg_Bank_1 equ b ;Registerbank für Interrupts der Priorität 0 Reg_Bank_2 equ b ;Registerbank für Interrupts der Priorität 1 Reg_Bank_3 equ b ;frei ISR_x: ;Start der Interrupt-Service-Routine Push PSW ;PSW auf Stack retten Push ACC ;Accu auf Stack retten mov PSW,#Reg_Bank_1 ;ISR mit Priorität 0 ;***** Hier steht das Interrupt-Programm ;***** Ende der ISR -> Wiederherstellung der Registerinhalte pop ACC pop PSW reti Programmbeispiel 2: ISR (manuelle Register-Rettung) ;***** Interruptroutine die Register und SFR rettet ***** ; ISR_x: ;Start der Interrupt-Service-Routine push ACC ;Accu auf Stack retten push PSW ;PSW auf Stack retten mov PSW,#Reg_Bank_0 ;Auf Bank 0 umschalten push 01h ;Register R1 in Bank 0 retten push DPH ;DPTR-High-Byte retten push DPL ;DPTR-Low-Byte retten ;***** Hier beginnt das Interruptprogramm ;***** Ende der ISR -> Wiederherstellen der Register pop DPL ;Alle Register in umgekehrter pop DPH ;Reihenfolge wie sie gerettet wurden pop 01h ;wieder vom Stack holen pop PSW pop ACC reti Prof. Dr.-Ing. Alfred Rożek MC65-Teil6.doc 10/10

2

2 TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts

Mehr

Interruptverarbeitung

Interruptverarbeitung Interruptverarbeitung Ein Interruptaufruf unterbricht die gerade ablaufende Befehlsfolge in der Weise, daß nach Beendigung des laufenden Befehls nicht der nächste Befehl des Hauptprogramms ausgeführt,

Mehr

EXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC 0C0H T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 0C8H. AFH AEH ADH ACH ABH AAH A9H A8H Bitdresse

EXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC 0C0H T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 0C8H. AFH AEH ADH ACH ABH AAH A9H A8H Bitdresse Siemens-C515C Special-Function-Register (Subset) MSB 7 6 5 4 3 2 1 LSB 0 COCH3 COCL3 COCH2 COCL2 COCH1 COCL1 COCH0 COCL0 Bit 0C1H CCEN EXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC 0C0H IRCON C7H C6H C5H C4H

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Thema: CPU Timing XC888 und Interrupt System des XC888 und Timer/Counter 0 und 1 -Im InterruptBetrieb - CPU Timing XC888 CPU Timing XC888 Befehl Befehl Befehl Befehlszyklus Befehlszyklus

Mehr

Hardwareaufbau der Mikrocontroller der 51er -Familie

Hardwareaufbau der Mikrocontroller der 51er -Familie Hardwareaufbau der Mikrocontroller der 51er -Familie Mikrocontroller (51er Familie) Quarz Port Timer A D Serielle Schnittst. CPU ROM RAM Ext. ROM Ext. RAM Programmspeicher (ROM) Datenspeicher (RAM) FFFFh

Mehr

Hardwareaufbau der Mikrocontroller der 51er -Familie

Hardwareaufbau der Mikrocontroller der 51er -Familie Hardwareaufbau der Mikrocontroller der 51er -Familie Mikrocontroller (51er Familie) Quarz Port Timer A D Serielle Schnittst. CPU ROM RAM Ext. ROM Ext. RAM Programmspeicher (ROM) Datenspeicher (RAM) FFFFh

Mehr

Interruptverarbeitung. 7. Interruptverarbeitung. 7.1 Ablauf einer Programmunterbrechung

Interruptverarbeitung. 7. Interruptverarbeitung. 7.1 Ablauf einer Programmunterbrechung 7. Interruptverarbeitung Normalerweise wird ein Programm sequentiell abgearbeitet, d.h. der Ablauf des Programms, Verzweigungen und unbedingte Sprünge werden einzig und allein vom gerade laufenden Programm

Mehr

Praktikum Mikrorechner 11 (Timer 1)

Praktikum Mikrorechner 11 (Timer 1) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/27 Praktikum Mikrorechner 11 (Timer 1) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal

Mehr

Mikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung)

Mikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung) 6. Exceptionhandling ( Ausnahmebearbeitung) Exception: Exception ist eine besondere Situation, auf die der Prozessor mit einem speziellen Programm (Exceptionroutine) reagieren muss. Das gerade ablaufende

Mehr

Ein- / Ausgabe- Ports

Ein- / Ausgabe- Ports Ein- / Ausgabe- Ports Alle vier parallelen Ports sind bidirektional und bestehen aus einem 8-Bit-Special-Function- Register für die Ausgabedaten, einem Ausgangstreiber und einem Eingabepuffer. Jeder Port-

Mehr

Teil 6: PIC Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet

Teil 6: PIC Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet -Berlin Teil 6: PIC 8259 Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Interrupt 4112002 Folie: 1 Prof Dr-Ing Alfred Rozek Berlin

Mehr

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar intern (auf CPU) PROGRAMMSPEICHER extern 2K bis 64K ROM 051: 4K max 64K 051:64K 051Speicherorganistaion 13.04.2000 - v3 extern interner XRAM DATENSPEICHER intern (auf CPU) SPECIAL FUNCTION REGISTER SFR

Mehr

MikroController der 8051-Familie

MikroController der 8051-Familie i Dipl.-Ing. Roland Dilsch MikroController der 8051-Familie Aufbau, Funktion, Einsatz Vogel Buchverlag Inhaltsverzeichnis Vorwort 5 1 Was ist ein MikrocontroUer? 13 1.1 Aufbau eines Computers 13 1.2 Entstehung

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : ESI Semesterendprüfung 15.6.2009 Name : Klasse : Punkte : Note : Zeit: 12.50 bis 13.35 Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf die Rückseite

Mehr

E Mikrocontroller-Programmierung

E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden

Mehr

Zusammenfassung der Assemblerbefehle des 8051

Zusammenfassung der Assemblerbefehle des 8051 Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach

Mehr

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

$NOMOD51 $INCLUDE (reg515.inc) ; Ein Zeichen auf Tastendruck S1 senden...

$NOMOD51 $INCLUDE (reg515.inc) ; Ein Zeichen auf Tastendruck S1 senden... MC SS2016 - Aufgabenblatt 11a - Übung 4 Serielle Schnittstelle - Zeichen sen & empfangen In diesem Versuch lernen Sie die serielle Schnittstelle des AT89C5131 Mikrocontrollers kennen. Im ersten Versuchsteil

Mehr

Zähler- und Zeitgeber-Baugruppen

Zähler- und Zeitgeber-Baugruppen Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,

Mehr

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung

Mehr

Maschinenorientierte Programmierung

Maschinenorientierte Programmierung Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 2 Termin 10, 08.12.2015 Maschinenorientierte Programmierung Seite 2 Timer- und Counter-Programmierung Maschinenorientierte

Mehr

2.1 Atmega-Peripherie/Interrupts

2.1 Atmega-Peripherie/Interrupts 2.1 Atmega-Peripherie/Interrupts 2.1.1 Situation Während LED2 fortlaufend blinkt, soll LED2 jederzeit sofort durch Tastendruck von T1 eingeschaltet werden können. Dazu muss man im Programm regelmäÿig nachsehen,

Mehr

Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK)

Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK) Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK) Schwerpunkt Linux Interrupts, Softirqs, Tasklets, Bottom Halves Interrupts: Softirqs, Tasklets, Bottom Halves 1 Thomas Engelhardt Übersicht: Klassifizierung

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um

Mehr

4.0 Der Atmel AT89LPx052 Mikrocontroller

4.0 Der Atmel AT89LPx052 Mikrocontroller 4.0 Der Atmel AT89LPx052 Mikrocontroller Die ersten beiden Derivate der Atmel LP Familie sind der AT89LP2052 und der AT89LP4052 in verschiedenen Gehäusevarianten mit 2 Kbytes bzw. 4 KBytes Flash. Gegenüber

Mehr

Architektur der Intel 8051 Familie und Grundlegende Programmierung Reto Gurtner 2005

Architektur der Intel 8051 Familie und Grundlegende Programmierung Reto Gurtner 2005 Architektur der Intel 8051 Familie und Grundlegende Programmierung Reto Gurtner 2005 1 1. DIE GESCHICHTE DER 8051-MIKROCONTROLLERFAMILE 4 2. GRUNDLEGENDE HARDWARESTRUKTUR UND FUNKTIONSMODELL 5 2.1 HARDWARESTRUKTUR

Mehr

Praktikum Mikrorechner 9 (serielle Schnittstelle)

Praktikum Mikrorechner 9 (serielle Schnittstelle) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/13 Praktikum Mikrorechner 9 (serielle Schnittstelle) Prof. G. Kemnitz Institut für Informatik, Technische Universität

Mehr

Speicheraufbau des AT89C5131

Speicheraufbau des AT89C5131 Speicheraufbau des AT89C5131 Prinzip: - getrennter Programmspeicher (ROM) und Datenspeicher (RAM) - interner Speicher (auf dem Chip) und externer Speicher (Zusatzbausteine) Das Experimentalsystem hat keinen

Mehr

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen.

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Interrupttechnik mit dem ATmega32 Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Aufgrund einer Interruptanforderung wird das laufende Programm unterbrochen

Mehr

i386 Interrupt-Deskriptortabelle (IDT)

i386 Interrupt-Deskriptortabelle (IDT) Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

8051-Mikrocontroller-Familie

8051-Mikrocontroller-Familie 8051-Mikrocontroller-Familie 8051-Komponenten und -Eigenschaften Prof. Dr.-Ing. Alfred Rożek MC65-Teil1.doc 1/17 Prof. Dr.-Ing. Alfred Rożek MC65-Teil1.doc 2/17 Prof. Dr.-Ing. Alfred Rożek MC65-Teil1.doc

Mehr

DHBW Stuttgart Mikrocomputertechnik Labor KEIL Entwicklungsumgebung. Projektstruktur

DHBW Stuttgart Mikrocomputertechnik Labor KEIL Entwicklungsumgebung. Projektstruktur Projektstruktur 25.10.12 K.Kraft D\MCT_Labor_2013\Dokumente\Projektdetails.odt 1 Typischer Aufbau eines 8051 Programms Start Adresse = 0003H External Interrupt 0 ISR Interrupt Service Routinen Start Adresse

Mehr

Name : Klasse : Punkte : Note :

Name : Klasse : Punkte : Note : Name : Klasse : Punkte : Note : Zeit: 08.00 bis 09.30 Es dürfen alle Unterlagen verwendet werden. Die Aufgaben sind möglichst direkt auf den Blättern zu lösen (Antworten bitte in ganzen Sätzen!), bei Bedarf

Mehr

Übung zu Betriebssystembau (Ü BS)

Übung zu Betriebssystembau (Ü BS) Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts

Mehr

Konzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung

Konzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung Konzepte von Betriebssystem-Komponenten Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de Tarek Gasmi

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

MOP: Befehlsliste für den Mikrocontroller 8051 Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel

Mehr

Serielle Schnittstelle

Serielle Schnittstelle Serielle Schnittstelle Die serielle Schnittstelle arbeitet»voll-duplex«. D.h., sie kann simultan senden und empfangen. Sie besitzt einen»receive«-puffer und kann somit den Empfang eines zweiten Byte beginnen,

Mehr

Komponenten eines Mikrocontrollers

Komponenten eines Mikrocontrollers MC 27.04.2017 Komponenten eines Mikrocontrollers - Zentraleinheit: CPU (Central Processing Unit): 4, 8, 16 oder 32 Bit Datenwortbreite - Arbeitsspeicher: RAM (Random Access Memory = Speicher mit wahlfreiem

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen 2.5 Ausnahmesituationen

Mehr

Rainbow-OS Architekturseminar Thema: Interrupt-Controller

Rainbow-OS Architekturseminar Thema: Interrupt-Controller Rainbow-OS Architekturseminar Thema: Interrupt-Controller Überblick 1. Einführung 2. Wichtige Begriffe 2.1 Interrupt Request 2.2 Interrupt Vektor 2.3 Interrupt Service Routine 3. Interrupts im Einzelnen

Mehr

16-Bit PCA Timer/Counter

16-Bit PCA Timer/Counter 4.5.1 Programmable Counter Array (PCA) Das Programmable Counter Array besteht aus fünf PCA-Modulen, die einen gemeinsamen 16- Bit Timer/Counter als Zeitbasis verwenden. ECI: Externer Clock-Eingang für

Mehr

Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART

Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART Mikrocomputertechnik Thema: Serielle Schnittstelle / UART Parallele vs. serielle Datenübertragung Parallele Datenübertragung Mehrere Bits eines Datums werden zeitgleich mittels mehrerer Datenleitungen

Mehr

Adressierungsarten des 6809 (Forts.)

Adressierungsarten des 6809 (Forts.) Adressierungsarten des 6809 (Forts.) Zusammenfassung zur indizierten Adressierung: 19 Beispiel-Programm 1 für 6809 6809-Assemblerprogramm zur Suche nach Leerzeichen (space, tab, return) in einem String:

Mehr

Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister)

Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister) Prof. Kemnitz Institut für Informatik, Technische Universität Clausthal November 5, 2014 1/18 Praktikum Mikrorechner 4 (Bitmanipulation und Spezialregister) Prof. Kemnitz Institut für Informatik, Technische

Mehr

Unterprogramme mittels Stack (Forts.)

Unterprogramme mittels Stack (Forts.) Unterprogramme mittels Stack (Forts.) gleiches Beispiel mit direkter Übergabe aller Parameter (8-Bit Wert a, 16-Bit Wert b, 16-Bit Ergebnis) durch call by value auf Stack: LDB a * Lade 8-Bit Wert a PSHS

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 2

AVR-Mikrocontroller in BASCOM programmieren, Teil 2 jean-claude.feltes@education.lu 1 AVR-Mikrocontroller in BASCOM programmieren, Teil 2 13. Interrupts 13.1 Externe Interrupts durch Taster Wenn Taster mittels Polling abgefragt werden, wie in Teil 1 beschrieben,

Mehr

EDT-REFERAT Adressierungsarten

EDT-REFERAT Adressierungsarten EDT-Referat BÜLBÜL Erkan 2ANB 95 /96 Seite 1 EDT-REFERAT Adressierungsarten INHALTSVERZEICHNIS 1.Theoretische Grundlagen 1.0 Einführung 1.1 Programm- & Datenspeicheradressierbereiche 2.Adressierungsarten

Mehr

Applikationen zur Mikrocontroller-Familie

Applikationen zur Mikrocontroller-Familie Applikationen zur 8051- Mikrocontroller-Familie Band 1 Otmar Feger Jürgen Ortmann Siemens Aktiengesellschaft Inhaltsverzeichnis 9 Inhaltsverzeichnis Vorwort zu MC-Tools 13 und MC-Tools 16 5 Inhaltsverzeichnis

Mehr

Teil 5: Interrupt. Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet

Teil 5: Interrupt. Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet -Berlin Teil 5: Interrupt Studiengang Technische Informatik (TI) Prof Dr-Ing Alfred Rożek nur für Lehrzwecke Vervielfältigung nicht gestattet EMC45: Interrupt 4112002 Folie: 1 Prof Dr-Ing Alfred Rozek

Mehr

Betriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung

Mehr

myavr Programmierung in C

myavr Programmierung in C myavr Programmierung in C Stefan Goebel Februar 2017 Stefan Goebel myavr Programmierung in C Februar 2017 1 / 12 Grundgerüst... braucht man immer! #include // Register- und Konstantendefinitionen

Mehr

Mikrocomputertechnik. Unterprogramm

Mikrocomputertechnik. Unterprogramm Unterprogramm Ein Teilproblem wird entweder zur mehrmaligen Verwendung oder zur Programmstrukturierung als Unterprogramm codiert. Ein Unterprogramm wird von einem übergeordneten Programm (Hauptprogramm)

Mehr

1. Kontinuierliche Datenerfassung Aufgabenstellung Voraussetzungen. Datei: AN046.DOC (5 Seiten)

1. Kontinuierliche Datenerfassung Aufgabenstellung Voraussetzungen. Datei: AN046.DOC (5 Seiten) AN046 Application Note 046 zu MODULAR-4/486 mit der MODULAR-4/486 Karte mit on-line Datenübertragung zum PC per Interrupt Autor: AH Datei: AN046.DOC (5 Seiten) 1. 1.1. Aufgabenstellung Es soll mit der

Mehr

Timer. Funktionsprinzip

Timer. Funktionsprinzip Timer Funktionsprinzip 8-Bit-Timer des ATmega28 Beispiel Timer im Polling- und Interrupt-Betrieb Funktionsprinzip Timer ist ein in Hardware realisierter i Zähler ändert seinen Zählerstand mit einer vorgegebenen

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort

Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort Vokabular für Attiny2313-Forth - 1 - Forth.voc Forth-Vokabular Stand: 01.11.2012 A: Assembler-Wort F: Forth-Wort C: Compiler-Wort. A gibt TOS auf Port B aus; (Datenrichtungsbits von Port B werden alle

Mehr

LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung )

LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung ) Prof. Komar - 1 - LCD-Display LCD-Display am MVUS 80535 (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung ) Das LCD-Modul TLX-1021 besteht aus einem - LCD-Panel mit 120 x

Mehr

Befehlssatz der Mikrocontroller der 51er -Familie

Befehlssatz der Mikrocontroller der 51er -Familie Befehlssatz der Mikrocontroller der 51er -Familie Abkürzungen: Mikrocontrollerfamilie 8051 Befehlssatz A : Akkumulator Rn : Register R0..R7 Ri : R0 oder R1 dadr : direkte Byte-Adresse im int. Speicher

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler

Mehr

16C62 A-D Wandler und Interruptfunktionen Ziel Benutzung des A/D-Wandlers zur Messung eines analoges Eingangssignales.

16C62 A-D Wandler und Interruptfunktionen Ziel Benutzung des A/D-Wandlers zur Messung eines analoges Eingangssignales. U1 16C62 A-D Wandler und Interruptfunktionen Ziel Benutzung des A/D-Wandlers zur Messung eines analoges Eingangssignales. Umfeld Der M16C62 verfügt über 8 gemultiplexte A/D Kanäle, welche mit einem SAR-Wandler

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner

Mehr

Microcontroller Selbststudium Semesterwoche 9

Microcontroller Selbststudium Semesterwoche 9 Microcontroller Selbststudium Semesterwoche 9 Kurzfragen zum Thema Interrupts 1. Wozu werden Interrupts benötigt (Beispiele)? Interrupts werden überall dort verwendet, wo auf zeitkritische Ereignisse reagiert

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

MODUL 6 TIMER UND COUNTER

MODUL 6 TIMER UND COUNTER µc Anwendungsprogrammierung in C Modul 6 / Seite 1 MODUL 6 TIMER UND COUNTER V1.1 J. Humer 1997 µc Anwendungsprogrammierung in C Modul 6 / Seite 2 INHALTSVERZEICHNIS MODUL 6 TIMER UND COUNTER Inhalt Seite

Mehr

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer Aufgabe 8.1 Ausnahmen (Exceptions) a. Erklären Sie den Begriff Exception. b. Welche Arten von Exceptions kennen Sie? Wie werden sie ausgelöst und welche Auswirkungen auf den ablaufenden Code ergeben sich

Mehr

Bedienmodule OM 2032 und OM 2008

Bedienmodule OM 2032 und OM 2008 Bedienmodule OM 2032 und OM 2008 S7 Funktionsbausteine für TIA Portal Anwender-Dokumentation Version 2.00 Stand: 04.04.2018 Technische Änderungen vorbehalten Dok. Nr.: AD-OM2032-OM2008-FC400-FB401-DE-V2-00-04-2018

Mehr

U5-2 Register beim AVR-µC

U5-2 Register beim AVR-µC U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts

Mehr

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale.

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale. 14.3 Kontrollogik Bernd Becker Technische Informatik II Allgemeines: Kontrollogik wird in 3 Stufen realisiert: 1 Clock - Erzeugung /ck ck 2 Uhrzeit 3 s 0, s 1, E 3 PALs Kontrollsignale I[31:24] Befehlsdekodierung

Mehr

Just-In-Time-Compiler (2)

Just-In-Time-Compiler (2) Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler

Mehr

Übung 7. Mikroprozessor & Eingebettete Systeme 1

Übung 7. Mikroprozessor & Eingebettete Systeme 1 Übung 7 Mikroprozessor & Eingebettete Systeme 1 WS2015/2016 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg in weiterführende

Mehr

Unterprogramme. Unterprogramme

Unterprogramme. Unterprogramme Unterprogramme Unterprogramme wichtiges Hilfsmittel für mehrfach benötigte Programmabschnitte spielen in höheren Programmiersprachen eine wesentliche Rolle in Assembler sind bestimmte Konventionen nötig

Mehr

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

Mikrocomputertechnik mit dem Controller C167

Mikrocomputertechnik mit dem Controller C167 Mikrocomputertechnik mit dem Controller C167 Programmierung in Assembler undc Schaltungen und Anwendungen von Prof. Dipl.-Ing. Günter Schmitt Oldenbourg Verlag München Wien Inhaltsverzeichnis Vorwort 9

Mehr

8. Beschreibung des Prozessors MSP 430

8. Beschreibung des Prozessors MSP 430 8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg

Mehr

Embedded Systems 1 C167 Einführung

Embedded Systems 1 C167 Einführung 1 C167 Einführung 1.1 µcontroller Familie 80C166 der Fa. Infineon Entwickelt ca. 1990 Entwicklungsziele: schneller moderner 16-bit-Mikrocontroller Interruptbehandlung mit schnellen Antwortzeiten für Vielzahl

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232 Inhaltsverzeichnis 1 Ein-Bit-Rechner... 15 1.1 Rechenwerk... 15 1.1.1 Register und Takt... 16 1.1.2 Zwischenspeicher... 17 1.1.3 Native und emulierte Datenmanipulationsbefehle... 18 1.2 Steuerwerk... 20

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)

Mehr

Einführung in AVR Assembler

Einführung in AVR Assembler Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Threadumschaltung 6. & 8. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme

Mehr

Interruptsystem AVR. Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack.

Interruptsystem AVR. Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack. Interruptsystem AVR Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack Stack im SRAM SP initialisieren Interrupt-Kontrollregister im IO Space

Mehr

U2 Fortgeschrittene AVR-Programmierung. U2-1 Externe Interrupts des AVR-μC. 1 Flanken-/Pegel-Steuerung. 1 Flanken-/Pegel-Steuerung (2) 2 Maskieren

U2 Fortgeschrittene AVR-Programmierung. U2-1 Externe Interrupts des AVR-μC. 1 Flanken-/Pegel-Steuerung. 1 Flanken-/Pegel-Steuerung (2) 2 Maskieren U Fortgeschrittene AVR-Programmierung U Fortgeschrittene AVR-Programmierung U-1 Externe Interrupts des AVR-μC Aufgabe Interrupts volatile-variablen Synchronisation mit Unterbrechungsbehandlungen Stromsparmodi

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Bernd-Dieter Schaaf Mikrocomputertechnik Mit MikroControllern der Familie 8051 unter Mitarbeit von Stephan Böcker 5., aktualisierte Auflage mit zahlreichen Bildern, Beispielen und Übungen HANSER 1 Der

Mehr

Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18.

Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18. Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G77 ggeorgia@tik.ee.ethz.ch 17. & 18. November 2016 Inhalt Implementierung von Device-I/O mittels Polling und

Mehr

Einführung in das Mikrocontroller-System 80(C)515/80(C)535

Einführung in das Mikrocontroller-System 80(C)515/80(C)535 Seite 2 von 228 Inhalt Seite 1 Einführung... 7 2 Grundzüge der Architektur... 10 2.1 Die CPU... 10 2.2 Die Speicherorganisation... 10 2.3 Die externe Buserweiterung... 10 2.4 Die integrierten Peripheriekomponenten...

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Übung zu Betriebssysteme

Übung zu Betriebssysteme Übung zu Betriebssysteme Interruptbehandlung 08. & 10. November 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte

Mehr

U5 Fortgeschrittene AVR-Programmierung

U5 Fortgeschrittene AVR-Programmierung U5 Fortgeschrittene AVR-Programmierung U5 Fortgeschrittene AVR-Programmierung Interrupts Synchronisation mit Unterbrechungsbehandlungen Stromsparmodi des AVR U5.1 U5-1 Externe Interrupts des AVR-μC U5-1

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

Mikrocontrollertechnik

Mikrocontrollertechnik Aufgaben: Impulse zählen (Zählerfunktion) Zeitintervalle erzeugen (Zeitgeberfunktion) Prinzipschaltbild: Die Programmierung erfolgt mit den Registern TMOD und TCON: timer.doc TSC Seite 1/8 timer.doc TSC

Mehr

Automatisierungstechnik I Mini-Betriebssystem Theorie

Automatisierungstechnik I Mini-Betriebssystem Theorie Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. M. Weyrich Automatisierungstechnik I Sommersemester 2015 Farzan Yazdi, M.Sc. www.ias.uni-stuttgart.de/at1 at1@ias.uni-stuttgart.de

Mehr

Mikrocontrollertechnik

Mikrocontrollertechnik Matthias Sturm Mikrocontrollertechnik Am Beispiel der MSP430-Familie mit 102 Bildern und 44 Tabellen Fachbuchverlag Leipzig im Carl Hanser Verlag Inhaltsverzeichnis 1 Ein-Bit-Rechner 15 1.1 Rechenwerk

Mehr