Interruptverarbeitung. 7. Interruptverarbeitung. 7.1 Ablauf einer Programmunterbrechung

Größe: px
Ab Seite anzeigen:

Download "Interruptverarbeitung. 7. Interruptverarbeitung. 7.1 Ablauf einer Programmunterbrechung"

Transkript

1 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 bestimmt. Ein z.b. an einem Eingabeport anliegender gültiger Wert wird erst dann eingelesen und verarbeitet, wenn das Programm im Laufe seiner Abarbeitung zu der Befehlsfolge kommt, die das Einlesen und Verarbeiten des anliegenden Portwertes behandelt. Das Einlesen und Verarbeiten dieses Wertes geschieht in diesem Fall synchron zum gerade laufenden Programm. In zeitkritischen Situationen kann oft nicht solange mit der Bearbeitung eines eingetretenen Ereignisses gewartet werden, bis das Programm im Verlauf seiner normalen Abarbeitung an die Stelle kommt, die dieses Ereignis behandelt. Auf viele Ereignisse muß möglichst umgehend reagiert werden. Die Behandlung muss dann asynchron zum gerade laufenden Programm stattfinden. Eine Unterbrechung des gerade laufenden Programms und die darauf folgende vorgezogene Behandlung des zeitkritischen Ereignisses wird über Interrupts realisiert. Nachdem das zeitkritische Ereignis programmäßig behandelt wurde, soll das unterbrochene Programm an der Stelle fortgesetzt werden, an der es zuvor unterbrochen wurde. Da Interrupts asynchron zum laufenden Programm auftreten, müssen Interruptprogramme für das unterbrochene Programm vollkommen transparent sein, d.h. ein Interruptprogramm darf keine Register und Speicherplätze dauerhaft verändern, die auch vom unterbrochenen Programm benutzt werden. Interrupts werden in der Regel durch externe Ereignisse ausgelöst, wie z.b. Überlauf eines Zählers Empfang eines Zeichens über die serielle Schnittstelle Auftreten eines Signalwechsels an einem Eingang des Prozessors. Dieser Signalwechsel könnte z.b. signalisieren, daß ein bestimmter Grenzwert überschritten ist Meldung eines Festplattencontrollers, daß ein bestimmter Sektor der Festplatte eingelesen ist und nun aus einem Pufferspeicher abgeholt werden kann Neben Interrupts führen auch sogenannte Traps zum Anhalten des gerade laufenden Programms und zum Start eines anderen Programms, das die durch den Trap signalisierte Ausnahmesituation behandelt. Traps werden z.b. ausgelöst bei Division durch Null Vorliegen eines ungültigen Befehlscodes Eintreten von Bereichsüberläufen. Im Gegensatz zu Interrupts treten Traps synchron zum gerade laufenden Programm auf, d.h. wenn das gleiche Programm mit gleichen Anfangswerten mehrmals gestartet wird, treten vorhandene Traps immer an der gleichen Stelle auf. Da es bei dem behandelten Mikrocontroller keine Traps gibt, werden im folgenden nur Interrupts behandelt. 7.1 Ablauf einer Programmunterbrechung Die Verwaltung der Interruptanforderungen wird in der Regel über einen Interruptcontroller abgewickelt. In Abb. 7.1 ist die Zusammenschaltung eines Interruptcontrollers mit einer CPU im Blockschaltbild dargestellt. Der Interruptcontroller übernimmt die Vorverarbeitung und Zwischenspeicherung von Interruptanforderungen, die über seine Eingänge IR0...IR7 angemeldet werden. Jeder Interrupteingang kann über ein Maskenregister einzeln gesperrt oder freigegeben werden. Sobald eine Interruptanforderung an einem freien Eingang anliegt, wird vom Interruptcontroller festgestellt, ob dieser Eingang z.zt. einen Interrupt auslösen kann. Dies ist der Fall, wenn die CPU gerade keinen anderen Interrupt gleicher oder höherer Prioritätsstufe als der neu angemeldete bearbeitet. Die Prioritäten der einzelnen Interrupteingänge können softwaremäßig im Interruptcontroller festgelegt werden. 7-1

2 Abb. 7.1 Einfaches Interruptsystem Wenn feststeht, daß der neu angeforderte Interrupt z.zt. die höchste Priorität hat, fordert der Interruptcontroller über das Signal INT eine Programmunterbrechung an. Sofern das Interruptsystem der CPU eingeschaltet ist, wird der augenblicklich in Bearbeitung befindliche Befehl zu Ende geführt und dann das Signal /INTA als Bestätigung der Annahme des Interrupts ausgegeben. Als Antwort auf /INTA überträgt der Interruptcontroller über den Datenbus die Nummer des Interrupts oder direkt die Startadresse des zugehörigen Interruptbedienprogramms. Was übertragen wird, hängt vom eingesetzten Interruptcontroller ab. Über die Interruptnummer kann über eine Tabelle die Startadresse des Interruptprogramms bestimmt werden. Nachdem der CPU die Startadresse des zugehörigen Interruptbedienprogramms bekannt ist, wird das augenblicklich ausgeführte Programm unterbrochen, alle für die spätere Fortsetzung dieses Programms benötigten Informationen auf den Stack gerettet, zum Interruptbedienprogramm verzweigt und dieses ausgeführt. Vor Beendigung des Interruptbedienprogramms wird dem Interruptcontroller über einen speziellen Befehl mitgeteilt, daß die Bearbeitung des angeforderten Interrupts abgeschlossen ist. Damit wird dieser Interrupt im Interruptcontroller gelöscht und weitere, gleich oder niedriger priorisierte Interrupts können zum Zuge kommen. Sollte kein weiterer Interrupt anstehen, wird zum unterbrochenen Programm zurückgekehrt und dies wird fortgesetzt. Im Mikrocontroller ist der Interruptcontroller mit auf dem Prozessorchip integriert. Der Interruptcontroller verarbeitet 12 Interruptquellen, die softwaremäßig vier Prioritätsebenen zugeordnet werden können. Jede Interruptquelle kann über ein zugeordnetes Bit gesperrt bzw. freigegeben werden. Jeder Interruptquelle ist ein fester, nicht veränderbarer Interruptvektor zugeordnet Das Interruptsystem des Der Controller kennt 12 unterschiedliche Interruptquellen. Interrupts können ausgelöst werden von a. sieben externen Eingangssignalen. Dies sind die externen Interrupts /INT0, /INT1, /INT2, /INT3, INT4, INT5 und INT6. Sie sind durch Mehrfachbelegung von Port 1 und Port 3 realisiert. Die Auslösung des Interrupts kann teilweise softwaremäßig eingestellt werden (pegel- oder flankensensitiv), teilweise ist sie starr zugeordnet (siehe auch Abb. 7.2) b. oder fünf internen Funktionseinheiten. Dies sind Timer 0 Überlauf Timer 1 Überlauf Timer 2 Überlauf serielle Schnittstelle 7-2

3 Analog/Digitalwandler Jede dieser Interruptquellen setzt ein entsprechendes Anforderungsbit, wenn ein Interrupt ausgelöst werden soll. Die Interruptanforderung wird allerdings nur dann wirksam, wenn sie zuvor über das zugehörige Interrupt-Enable-Bit freigegeben wurde. Über das Bit EAL (Enable All Interrupts) können alle die Interruptquellen gleichzeitig gesperrt bzw. frei-gegeben werden, die zusätzlich über ihr spezielles Interrupt- Enable- Bit freigegeben sind (siehe auch Abb. 7.2). Jeweils zwei Interruptquellen werden gemeinsam einer von vier Prioritätsstufen zugeordnet. Die Prioritätsstufe 0 hat dabei die niedrigste, die Prioritätsstufe 3 die höchste Priorität. Interrupts einer niedrigen Prioritätsstufe können von Interrupts einer höheren Prioritätsstufe unterbrochen werden. Interrupts gleicher Prioritätsstufen können sich nicht gegenseitig unterbrechen. Jede Interruptquelle hat einen fest zugeordneten und nicht veränderbaren Interruptvektor. Diese Vektoren liegen im Bereich 0003H bis 006BH. Da dieser Bereich in den Übungsrechnern mit EPROM-Speicher bestückt ist, sind an den Speicherplätzen der Interruptvektoren Sprungbefehle programmiert mit Sprungzielen, die um 8000H größer sind als der eigentliche Interruptvektor. Der Interruptvektor des Timer 0 Überlaufs hat den Wert 000BH, an dieser Stelle steht im EPROM eine Sprungbefehl nach 800BH. Da der Übungsrechner ab 8000H mit RAM bestückt ist, kann ein Interruptbedienprogramm für Timer 0 nach 800BH geladen und ausgeführt werden. Tabelle 7.1 listet die wichtigsten Daten des Interruptsystems auf. Interruptquelle IR-Request- Flag IR-Enable- Flag Interruptvektor Int./Externer Interrupt Zugehöriger Eingang Ext.-Int 0 IE0 EX0 0003H ext. P3.2 Timer 0 TF0 ET0 000BH int. Ext.-Int. 1 IE1 EX1 0013H ext. P3.3 Timer 1 TF1 ET1 001BH int. ser.schnittst. Ri + Ti ES 0023H ext./int. P3.0/P3.1 Timer 2 / TF2 + EXF2 ET2/EXEN2 002BH int./ext. P1.5 EXF2 A/D-Wandl. IADC EADC 0043H ext. Ext.-Int. 2 IEX2 EX2 004BH ext. P1.4 Ext.-Int. 3 IEX3 EX3 0053H ext. P1.0 Ext.-Int. 4 IEX4 EX4 005BH ext. P1.1 Ext.-Int. 5 IEX5 EX5 0063H ext. P1.2 Ext.-Int. 6 IEX6 EX6 006BH ext. P1.3 Tab. 7.1 Die wichtigsten Daten des Interruptsystems 7-3

4 Abb. 7.2 Blockschaltbild Interruptsystem (Teil 1) (Nach Unterlagen der Siemens AG) 7-4

5 Abb. 7.2 Blockschaltbild Interruptsystem (Teil2) (Nach Unterlagen der Siemens AG) 7-5

6 Bevor ein Interrupt von einer Quelle ausgelöst werden kann, muß sein Enable-Flag und das EAL-Flag gesetzt sein. Die Interrupt-Request-Flags können auch softwaremäßig gesetzt werden, d.h. daß vor allem beim Test von Programmen Interrupts auch definiert von einem Testprogramm ausgelöst werden können. Die Prioritäten der einzelnen Interruptquellen werden in den Interruptprioritätsregistern IP0 und IP1 festgelegt. Diese Register sind nicht bitadressierbar, sie können nur byteweise geschrieben werden. Jeweils für zwei Interruptquellen kann eine gemeinsame Prioritätsebene festgelegt werden. Mehrere Paare können die gleiche Prioritätsebene haben. Die Prioritätsebene eines Paares wird festgelegt durch die entsprechenden Bits in IP0 und IP1. IP 1.x IP0.x 0 0 Prioritätsebene 0 (niedrigste Priorität) 0 1 Prioritätsebene Prioritätsebene Prioritätsebene 3 (höchste Priorität) Die Prioritätsregister haben folgende Struktur: IP0 - WDTS IP0.5 IP0.4 IP0.3 IP0.2 IP0.1 IP0.0 IP1 - - IP1.5 IP1.4 IP1.3 IP1.2 IP1.1 IP1.0 Während einige Interrupt-Request-Flags automatisch gelöscht werden, wenn der Prozessor zum zugehörigen Bedienprogramm verzweigt, müssen andere IR-Flags softwaremäßig gelöscht werden. Automatisch werden folgende IR-Flags beim Einstieg in das Interruptprogramm gelöscht: - IE0 sofern IT0 = 1 (flankensensitiver Interrupt) - IE1 sofern IT1 = 1 (flankensensitiver Interrupt) - TF0 und TF1 - IEX2 bis IEX6 Alle anderen IR-Flags müssen im Interruptprogramm per Software zurückgesetzt werden. Die externen Interrupts 0 und 1 können in Abhängigkeit von IT0 und IT1 flankensensitiv (ITx = 1 --> Interrupt wird bei 1 --> 0-Flanke ausgelöst) oder pegelsensitiv (ITx = 0) sein. Bei den externen Interrupts 2 und 3 kann in Abhängigkeit von den Bits I2FR und I3FR gewählt werden, welche Flanke den Interrupt auslöst (IxFR = 1 bewirkt, daß eine positive Flanke den entsprechenden Interrupt auslöst). Die externen Interrupts 4, 5 und 6 werden grundsätzlich bei einer positiven Flanke ausgelöst. Da die Timer im Zusammenhang mit Interrupts sehr oft benötigt werden, soll ein kurzer, nicht vollständiger Überblick über die Programmierung der Timer gegeben werden. Die Timer 0 und 1 sind relativ einfache Zähler/Zeitgeber, deren Verhalten über die Register TCON (Timer Control Register) und TMOD (Timer Mode Control Register) gesteuert wird. Beide Timer sind Aufwärtszähler. TCON ist bitadressierbar und hat folgende Bitbelegung: 7-6

7 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Nur die oberen 4 Bit von TCON gehören zu den Timern 0 und 1. TF0 und TF1 sind die Interruptflags der beiden Timer. Sie werden gesetzt, wenn der Timer überläuft und lösen einen Interrupt aus, sofern dieser Interrupt über sein Enable-Bit freigegeben ist. Wenn dies nicht der Fall ist, kann TFx auch über "Polling" abgefragt werden. Mit Hilfe der Bits TR0 und TR1 können die Timer gestartet (TRx = 1) bzw. gestoppt (TRx = 0) werden. Werte können nur aus dem Zähler ausgelesen werden, wenn dieser gestoppt ist. Auch das Schreiben neuer Anfangswerte in den Zähler soll nur bei gestopptem Zähler erfolgen. Über das Register TMOD läßt sich die Arbeitsweise des Zählers/Zeitgebers einstellen. TMOD ist nur byteweise programmierbar. TMOD Gate C/ /T M1 M0 Gate C/ /T M1 M0 Die unteren 4 Bit bestimmen die Arbeitsweise von Timer 0, die oberen 4 Bit die von Timer 1. Mit Gate = 1 kann der Zähler/Zeitgeber über einen externen Eingang (INT0 bzw. INT1) gesteuert werden. Wenn dieser Eingang High-Potential hat, läuft der Timer, wenn er Low-Potential hat, wird der Timer angehalten. Wenn Gate = 0 ist, wird der Timer über die Bits TR0 und TR1 gestartet bzw. gestoppt. Das Bit C/ /T legt fest, ob der Zähler/Zeitgeber als Zähler (C/ /T = 1) oder als Zeitgeber (C/ /T=0) betrieben werden soll. Als Zähler werden extern ankommende Ereignisse gezählt, als Timer wird der CPU-Takt (1 us) gezählt. Die Zähler/Zeitgeber T0 und T1 bestehen aus zwei 8-Bit Registern THx (höherwertiges Byte) und TLx (niederwertiges Byte). Über M1 und M0 wird die Betriebsart des Timers festgelegt. Für die meisten Anwendungen sind nur die Betriebsarten M1 = 0, M0 = 1 : 16-Bit Zähler/Zeitgeber ohne automatische Reload-Möglichkeit M1 = 1, M0 =0 : 8 Bit Zähler/Zeitgeber, wobei THx den Reload-Wert enthält, der bei jedem Überlauf von TLx neu in TLx geladen wird interessant. Timer 2 hat eine wesentlich höhere Komplexität als Timer 0 und Timer 1. Eine Beschreibung aller Möglichkeiten würde den Rahmen dieses Skriptes sprengen. Man findet eine solche Beschreibung z.b. im "SAB 80515/80535 Users Manual" der Firma Siemens. An dieser Stelle sollen nur die Möglichkeiten beschrieben werden, die im Rahmen von Laborübungen genutzt werden. Gesteuert wird das Verhalten von Timer 2 über das Timer 2 Control Register T2CON. Es ist bitadressierbar und hat folgende Struktur: T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 Die Bits I2I1 und I2I0 wählen das Eingangssignal von Timer 2 aus T2I1 T2I0 0 0 Timer 2 stoppt, da kein Eingangssignal ausgewählt 0 1 Timer 2 zählt 1/12 der Oszillatorfrequenz 1 0 Zählerfunktion, es werden die an P1.7 ankommenden Ereignisse gezählt 1 1 Über P1.7 gesteuerte Timerfunktion Das Bit T2CM bestimmt den Compare-Modus. Diese Betriebsart wird im Labor normalerweise nicht genutzt und soll deshalb auch nicht weiter beschrieben werden.es kann auf Null gesetzt werden. Die Bits T2R0 und T2R1bestimmen die Reload-Funktion in folgender Weise: 7-7

8 T2R1 T2R0 0 x kein Reload 1 0 Auto-Reload (16 Bit), wenn Timer 2 überläuft 1 1 Reload, wenn auf P1.5 eine fallende Flanke auftritt. Der Reload-Wert steht in den Register CRCH (höherwertiges Byte) und CRCL (niederwertiges Byte). Die Bits I2FR und I3FR können auf Null gesetzt werden. Sie legen fest, ob die externen Interrupts 2 und 3 mit fallender oder steigender Flanke ausgelöst werden, sie haben keinen direkten Einfluß auf Timer 2. T2PS ist das sog. "Prescaler Bit". Wenn es nicht gesetzt ist, wird 1/12 der Oszillatorfrequenz, wenn es gesetzt ist wird 1/24 der Oszillatorfrequenz gezählt Beispiel Echtzeituhr Als Beispiel werde eine interruptgetriebene Echtzeituhr behandelt. Der Takt der Uhr soll von Timer 1 in 50 ms-schritten erzeugt werden, d.h. Timer 1 muß so programmiert werden, daß er alle 50 ms überläuft und einen Interrupt auslöst. Wird Timer 1 als Zeitgeber benutzt, zählt er ein Taktsignal, dessen Frequenz 1/12 der Oszillatorfrequenz beträgt. Die im Labor benutzten Übungsrechner laufen mit einer Oszillatorfrequenz von 12 MHz, d.h. die Eingangsimpulse für Timer 1 haben eine Periodendauer von 1 Mikrosekunde. Ein 16-Bit- Timer läuft mit diesem Takt, sofern er mit dem Anfangswert 0 gestartet wird, nach 2 16 Impulsen, die einer Zeit von 65,536 ms entsprechen, über. Soll der Timer schon nach 50 ms überlaufen, muß er bei Start der Messung auf den Anfangswert gesetzt werden. Das Setzen des Anfangswertes, die Initialisierung des Timers als 16 Bit-Zähler, die Einstellung der Interruptprioritätsebene, die Freigabe des Timer 1 Interrupts, die Freigabe des gesamten Interruptsystems und der Start des Timers müssen einmal bei Programmstart durchgeführt werden. Anschließend führt das Programm eine Endlosschleife aus und erzeugt in dieser einen 1 KHz Dauerton. Nach 50 ms erfolgt der erste Interrupt, der Prozessor verzweigt zur Adresse 001BH im Monitor-EPROM, an der wiederum ein Sprung zur Adresse 801BH steht. Dies ist eine Adresse im RAM, in das das Beispielprogramm geladen wird. Von dieser Adresse wird dann zum eigentlichen Interruptbedienprogramm für Timer 1 verzweigt. Da der Accu und das Flagregister PSW innerhalb des Interruptprogramms verändert werden, müssen diese zu Beginn auf den Stack gerettet und vor Beendigung des Interruptprogramms vom Stack zurückgeholt werden. Wichtig für eine genaue Zeitmessung ist, daß Timer 1 möglichst schnell wieder mit seinem Anfangswert geladen wird. Im Interruptprogramm wird die Zahl der aufgetretenen Interrupts im Speicherplatz UEZ1 gezählt. Wenn 20 Interrupts aufgetreten sind, ist eine Sekunde vergangen, der Sekundenzähler wird um 1 erhöht und der Überlaufzähler auf Null zurückgesetzt. Nach 60 Sekunden wird der Minutenzähler erhöht und der Sekundenzähler zurückgesetzt. Sekunden- und Minutenzähler laufen dezimal. Sie sind als Speicherplätze im internen RAM des Prozessors ausgelegt. Andere Programme könnten auf diese Uhrzeit zurückgreifen und sie z.b. über Terminal ausgeben. 7-8

9 ;Beispielprogramm Realzeituhr über Interrupt von Timer 1 ;Benötigte Speicherplätze definieren min equ 30h ;Minutenzähler BCD sek equ 31h ;Sekundenzähler BCD uez1 equ 41h ;Überlaufzähler Timer 1 org 801bh ;Timer 1 Interrupt (Echtzeituhr) jmp T1INT ;Sprung zum eigentlichen Bedienprogramm org 8100h ;Beginn des Hauptprogramms ;Anfangsinitialisierungen mov sp,#7fh ;Stack beginnt ab 80H im internen RAM mov tmod,#10h ;T1: 16 Bit Zähler mov th1,#high(10000h-50000) ;Anfangswerte für Timer 1laden mov tl1,#low(10000h-50000) mov ip0,#8 ;Interruptprioritäten festlegen, Timer1 mov ip1,#8 ;höchste Priorität setb et1 ;Timer 1 Interrupt zulassen setb eal ;Enable All Interrupts setb tr1 ;Start der Uhr bei Programmstart mov sek,#0 ;definierte Anfangsbedingungen für die mov min,#0 ;Uhr schaffen mov uez1,#0 loop6: clr p4.0 ;Endlosschleife Tongenerator 1 KHz mov r7,#250 djnz r7,$ setb p4.0 mov r7,#250 djnz r7,$ jmp loop6 ;Interruptprogramm für Timer 1 org 9000h T1INT: push acc ;acc wird im Int.-Prog. verändert push psw ;Flagreg. wird ebenfalls verändert clr tr1 ;Timer 1 stop um neue Werte einzuschreiben mov th1,#high(10000h-50000) mov tl1,#low(10000h-50000) setb tr1 ;Timer 1 start inc uez1 ;Zählen der Timer 1 Überläufe mov a,uez1 cjne a,#20,uhr1 ;nach 20 Überläufen ist 1 Sekunde vergangen mov uez1,#0 ;Überlaufzähler rücksetzen mov a,sek ;Sekundenzähler erhöhen add a,#1 da a ;Uhr soll im BCD-Code zählen mov sek,a cpl a mov p5,a cpl p4.6 ;Augabe, um Uhr zu testen (Sek.-Anzeige) cpl a cjne a,#60h,uhr1 ;60 Sekunden vergangen? 7-9

10 mov a,min ;wenn ja, Minutenzähler erhöhen und add a,#1 ;Sekundenzähler rücksetzen da a mov min,a mov sek,#0 cpl p4.7 ;Testausgabe Minutenanzeige cjne a,#60h,uhr1 mov sek,#0 ;Nach 60 Min. alles rücksetzen mov min,#0 uhr1: pop psw ;Reihenfolge der pop-operationen beachten pop acc reti end 7-10

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

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

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

M-AX-16/C1 (Typ 37) Inhaltsverzeichnis 18-1 18. M-AX-16/C1

M-AX-16/C1 (Typ 37) Inhaltsverzeichnis 18-1 18. M-AX-16/C1 MAX6/C (Typ 37) Inhaltsverzeichnis 8 8. MAX6/C Zählermodul mit 3 Zählkanälen à 2Bit und integriertem InterruptController, Betriebsartenumschaltung per Software Funktionsbeschreibung 82 Blockschaltbild...

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

7.0 PWM - Pulsbreitenmodulation

7.0 PWM - Pulsbreitenmodulation 7.0 PWM - Pulsbreitenmodulation PWM ist eine Abkürzung für Pulse Width Modulation (Pulsbreitenmodulation). Zwei unabhängige PWM-Ausgänge erlauben die Erzeugung von Rechtecksignalen mit einstellbarer Frequenz

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10. Lehrprozessor: Coldfire MCF-5272 Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.45 Uhr Raum: Aula Bearbeitungszeit: 180 Minuten Erlaubte Hilfsmittel: Gedrucktes Vorlesungsskript von Prof. Neuschwander mit

Mehr

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382

8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 8.0 Erweiterung mit dem 8 Bit D/A Maxim MAX5382 Der MAX5382 ist ein 8 Bit DA Wandler im SOT23 Gehäuse. Der MAX5380 besitzt eine interne Referenzspannung von 2 V, der MAX5381 von 4 Volt und der verwendete

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

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Aufgabe I: Im einzelnen soll das Hauptprogramm:

Aufgabe I: Im einzelnen soll das Hauptprogramm: Aufgabe I: Gesucht ist ein Programm, das zwei Lauflichter realisiert. Das erste werde in der Siebensegment-Anzeige durch genau ein aktiviertes mittleres Segment g dargestellt, das von rechts nach links

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

AVR-Mikrocontroller in BASCOM programmieren, Teil 3 jean-claude.feltes@education.lu 1/8 AVR-Mikrocontroller in BASCOM programmieren, Teil 3 Alle Beispiele in diesem Kapitel beziehen sich auf den Mega8. Andere Controller können unterschiedliche Timer haben.

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

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

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

Der 80535-Übungsrechner

Der 80535-Übungsrechner 6. Für den Test kleinerer Programmodule ohne Berücksichtigung des Echtzeitverhaltens ist der Simulator das geeignete Werkzeug. Durch die Möglichkeit der Einzelschrittausführung sind erste Tests von Programmen

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid)

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) VM/AVR SIMPLE & STUPID 1 Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) Stand: 26. 1. 2010 Zweck: Elementare Demonstration der Mehrprogrammausführung auf Grundlage

Mehr

Lehrfach: Mikrorechentechnik Versuch: Zeitmessung

Lehrfach: Mikrorechentechnik Versuch: Zeitmessung ZM P_51_004_NEU. doc Lehrfach: Mikrorechentechnik Versuch: Zeitmessung Oc Hochschule Zittau/Görlitz; Fachbereich Elektro- und Informationstechnik Prof. Dr.-Ing. Kühne April 2005 Bearb.:Dipl.-Ing. Sbieschni

Mehr

Einführung in AVR-Assembler

Einführung in AVR-Assembler Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea stefan@blinkenarea.org Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Bernd-Dieter Schaaf Mikrocomputertechnik Mit MikroControllern der Familie 8051 unter Mitarbeit von Peter Wissemann 4., aktualisierte Auflage mit 267 Bildern sowie zahlreichen Beispielen und Übungen HANSER

Mehr

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb

AN025. Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der CPU-Auslastung im Echtzeitbetrieb AN025 Application Note 025 zu MODULAR-4 (ML3 und ML5) Messen der Autor: HB AN025.DOC (6 Seiten) 1. Definition Im folgenden wie auch in allen anderen Sorcus Schriften werden folgende Kurzbezeichnungen verwendet:

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

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Tag 2 Eingabe und Interrupts

Tag 2 Eingabe und Interrupts Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!

Mehr

Einführung in die Programmierung von Mikrocontrollern mit C/C++

Einführung in die Programmierung von Mikrocontrollern mit C/C++ Einführung in die Programmierung von Mikrocontrollern mit C/C++ Vorlesung Prof. Dr.-Ing. habil. G.-P. Ostermeyer Rechenleistung/Speicher Systemintegration Grundlagen der Mikrocontrollertechnik (Wiederholung)

Mehr

CCS Compiler Tutorial mit Beispielen

CCS Compiler Tutorial mit Beispielen CCS Compiler Tutorial mit Beispielen Mit diesem Tutorial werden Sie den CCS Compiler kennenlernen, um mit ihm Projekte selbstständig erstellen zu können. Es werden zugleich die Programmierung und die Grundlagen

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Laborprotokoll Informationstechnologien

Laborprotokoll Informationstechnologien Laborprotokoll Informationstechnologien Mikrocontroller-Programmierung (C 51) TKS 2004, Sommersemester 2004/05 Klaus Roleff Andreas Unterweger Klaus Roleff, Andreas Unterweger ITLB2 Seite 1 von 18 Übung

Mehr

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Lösungen zum Kurs Mikrocontroller Hard- und Software Lösungen zum Kurs "Mikrocontroller Hard- und Software Gerhard Schmidt Kastanienallee 20 64289 Darmstadt http://www.avr-asm-tutorial.net Lösung Aufgabe 2 Aufgabe 2 sbi DDRB,PB0 2 Takte sbi PORTB,PB0 2 Takte

Mehr

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich.

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich. Kapitel 2 Pulsweitenmodulation Die sogenannte Pulsweitenmodulation (kurz PWM) ist ein Rechtecksignal mit konstanter Periodendauer, das zwischen zwei verschiedenen Spannungspegeln oszilliert. Prinzipiell

Mehr

Programmlisting STEP7/Micro:

Programmlisting STEP7/Micro: Softwaremodul zur Datenübernahme der Strahldaten vom SCAN- Lichtgitter in eine SPS vom Typ Simatic S7/200 Das als Interrupt-Modul realisierte Treiberprogramm übernimmt die Meßdaten als seriellen Datenstrom

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

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Teil I: Wat isse ne Mikrokontroller?

Teil I: Wat isse ne Mikrokontroller? Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil I: Wat isse ne Mikrokontroller? Wat

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

WPR-01. SMS Steuerung für dieselbetriebene Wasserpumpen. Mitterweg 25 Via di Mezzo ai Piani 25

WPR-01. SMS Steuerung für dieselbetriebene Wasserpumpen. Mitterweg 25 Via di Mezzo ai Piani 25 WPR-01 SMS Steuerung für dieselbetriebene Wasserpumpen WPR-01 V1.1-20.12.2007 1 Modul RES03 Das Mikrocontroller-Modul RES03 ist mit einem leistungsstarken 8-Bit Mikrocontroller der 80C51 Familie ausgestattet.

Mehr

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung Kurzbeschreibung Das frei konfigurierbare Ringlicht kann jede beliebige Abfolge an Lichtmustern erzeugen und über einen Triggereingang

Mehr

UART-Kommunikation mit dem Atmel AVR

UART-Kommunikation mit dem Atmel AVR Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier UART-Kommunikation mit dem Atmel

Mehr

Ein erstes Assembler-Projekt

Ein erstes Assembler-Projekt Das Attiny-Projekt Ein erstes Assembler-Projekt 1 Ein erstes Assembler-Projekt In diesem Kapitel wollen wir ein erstes einfaches Assembler-Programm für unsere Attiny-Platine schreiben. Worum soll es gehen?

Mehr

C4 Die SPI Schnittstelle

C4 Die SPI Schnittstelle C4 Die SPI Schnittstelle Einführung Motorola entwickelte die synchrone SPI-Master-Slave Schnittstelle, (Serial Periphal Interface) für die Kommunikation zwischen Mikrocontrollern. Ein ähnliches Bus System

Mehr

Steffen Weißer Juni 2003 TG 12/3

Steffen Weißer Juni 2003 TG 12/3 Steffen Weißer Juni 2003 TG 12/3 I Inhaltsverzeichnis I Inhaltsverzeichnis...1 II Aufgabenbeschreibung...3 III Inbetriebnahme...3 IV Technologieschema...4 V Schaltplan...5 VI Funktionsbeschreibungen...6

Mehr

Übung -- d001_7-segmentanzeige

Übung -- d001_7-segmentanzeige Übung -- d001_7-segmentanzeige Übersicht: Der Steuerungsablauf für die Anzeige der Ziffern 0 bis 9 mittels einer 7-Segmentanzeige soll mit einer speicherprogrammierbaren Steuerung realisiert werden. Lehrziele:

Mehr

Das Projekt Pathfinder

Das Projekt Pathfinder Das Projekt Pathfinder Das Entwicksteam und die französischen Kommilitonen Eine Studie der HS-Karlsruhe im Rahmen der Vorlesungen Konstruktion IV & Mikrocomputertechnik Rahmenbedingungen Problemstel An

Mehr

Bedienungsanleitung WR ConfigTool für DuoFern Handzentrale (9493) DuoFern Umweltsensor (9475)

Bedienungsanleitung WR ConfigTool für DuoFern Handzentrale (9493) DuoFern Umweltsensor (9475) Bedienungsanleitung WR ConfigTool für DuoFern Handzentrale (949) DuoFern Umweltsensor (9475) / Inhaltsverzeichnis Einleitung.... Standard Layout... 4 Handzentrale... 5. Daten laden... 5. Einstellungen

Mehr

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

Konfiguratorsoftware. für. M-Bus Impulssammler

Konfiguratorsoftware. für. M-Bus Impulssammler Konfiguratorsoftware für M-Bus Impulssammler Typ : M-Count 2C Seite 2 Inhaltsverzeichnis 1. Installation des M-Bus Konfigurators...3 2. Starten des M-Bus Konfigurators...3 3. Basiskonfiguration...5 4.

Mehr

SSA P_51_002_NEU. doc

SSA P_51_002_NEU. doc SSA P_51_002_NEU. doc Lehrfach: Mikrorechentechnik Versuch: Sieben-Segment-Anzeige Oc Hochschule Zittau/Görlitz; Fachbereich Elektro- und Informationstechnik Prof. Dr.-Ing. Kühne April 2005 Bearb.:Dipl.-Ing.

Mehr

Flip Flops allgemein - Digitale Signalspeicher

Flip Flops allgemein - Digitale Signalspeicher INFORMATION: Flip Flops allgemein - Digitale Signalspeicher Jede elektronische Schaltung, die zwei stabile elektrische Zustände hat und durch entsprechende Eingangssignale von einem Zustand in einen anderen

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft April 2011 in Goslar Willi Stricker 1 STRIP Forth-System Praxisdemonstration Aufbau Hardware Aufbau Software 2 STRIP-Kernel Clocks So,S1 Clock

Mehr

Weniger ist mehr. Funktion eines Triggers. Messen + Testen

Weniger ist mehr. Funktion eines Triggers. Messen + Testen Messen + Testen Weniger ist mehr Ein Oszilloskop ist dumm, es unterscheidet nicht die Relevanz der Daten. Um der erfassten Datenflut Herr zu werden fischt der geschickte Anwender die relevanten Daten mit

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Autonome Mobile Systeme. Dr. Stefan Enderle

Autonome Mobile Systeme. Dr. Stefan Enderle Autonome Mobile Systeme Dr. Stefan Enderle 2. Mikrocontroller Einleitung Unterschied Controller / Prozessor: Speicher (RAM, Flash, Eprom) intern Viele I/Os (Digital, Analog) Bus-Unterstützung (Seriell,

Mehr

Fehlerdiagnose / Fehlerbehandlung

Fehlerdiagnose / Fehlerbehandlung Lerneinheit Fehlerdiagnose / Fehlerbehandlung Inhaltsübersicht Diagnosefunktionen in STEP 7 Fehlerarten und dazugehörige Organisationsbausteine Arten von Organisationsbausteinen Ronald Kleißler Seite 1

Mehr

Anleitung Version 1.1 Deutsch

Anleitung Version 1.1 Deutsch Anleitung Version 1.1 Deutsch Voraussetzungen, Mindestanforderungen Microsoft Windows Vista, Win7, Win8 Installiertes Framework 4.5 (in Win7 und Win8 bereits enthalten) MySQL Server (Setup unter Windows

Mehr

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

Mehr

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet.

Die Daten (Befehle und numerische Daten) werden in Form von BIT-Folgen verarbeitet. Übung Nr. 1b: MIKROPROZESSOR, Hewlett - Packard µ-lab en sind kleine Computer, die mit externen Geräten Daten austauschen können. Sie verfügen über Speicher, um Programme und Daten zu speichern und Eingangsund

Mehr

Wählen Sie eine Menüoption, um weitere Informationen zu erhalten:

Wählen Sie eine Menüoption, um weitere Informationen zu erhalten: Verwenden Sie das, um verschiedene Druckerfunktionen zu konfigurieren. Wählen Sie eine Menüoption, um weitere Informationen zu erhalten: Alarmsteuerung Strom sparen Auto. fortfahren Druckzeitsperre Anzeigesprache

Mehr

AVR-8-Bit-Mikrocontroller Bootloader

AVR-8-Bit-Mikrocontroller Bootloader Physik-Seminar AVR-8-Bit-Mikrocontroller Bootloader Markus Schroeder, 203110686 Universität Koblenz-Landau schroeder@uni-koblenz.de Betreuer: Dr. Merten Joost c 2006 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis

Mehr

Mikrocontroller - Tipps & Tricks

Mikrocontroller - Tipps & Tricks Mikrocontroller - Tipps & Tricks Mikrocontroller vs. CPU CPU alles RAM, viel RAM Keine On-Chip Peripherie Viele Chips, Motherboard Mikrocontroller Wenig RAM, Flash im Chip mit drin Peripherie an Board

Mehr

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 5. Digitale Speicherbausteine Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen

Mehr

Wo Ist Mein Kind App

Wo Ist Mein Kind App Wo Ist Mein Kind App W I M K A (Modus KIND ) Diese App wurde speziell für Eltern entwickelt, die -aus Sicherheitsgründen- wissen möchten, wo sich Ihr Kind momentan befindet. Dabei wurde großer Wert auf

Mehr

SC18IM700-Tester v1.0. 1. Einleitung

SC18IM700-Tester v1.0. 1. Einleitung SC18IM700-Tester v1.0 1. Einleitung Der SC18IM700-Tester ist ein mittels Visual Studio.NET und in der Programmiersprache C# entwickeltes Programm. Es lehnt sich an der Funktion eines einfachen Terminal-

Mehr

Gegenüberstellung von Assembler- und C-Programmierung

Gegenüberstellung von Assembler- und C-Programmierung Gegenüberstellung von Assembler- und C-Programmierung Assembler-Version C-Version org 8000h #pragma code=0x8000 #pragma xdata=0x2000 INPUT equ 0e081h OUTPUT equ 0e082h neu: mov dptr,#input movx a,@dptr

Mehr

ARDUINO Übung. Inhalt:

ARDUINO Übung. Inhalt: ARDUINO Übung Diese Übung ermöglicht einen kurzen Einblick in die Welt der Mikrokontrollerprogrammierung. Es sollen im Folgenden die Anleitungen befolgt werden und die entsprechenden elektrotechnischen

Mehr

Protokoll zum Versuch 146

Protokoll zum Versuch 146 Elektronik-Praktikum am Dritten Physikalischen Institut der Universität Göttingen Wintersemester 2005/2006 Protokoll zum Versuch 146 Messgerätesteuerung über IEC-Bus Name: Georg Herink, Hendrik Söhnholz

Mehr

TBE332 Controller. Produktbeschreibung

TBE332 Controller. Produktbeschreibung TBE332 Controller Produktbeschreibung Bei der Entwicklung der TBE332 Steuerung wurde auf die Erfahrung unserer jahrelangen Planung und Realisierung verschiedenster Steuerungs- und Regelungseinrichtungen

Mehr

A-196 PLL. 1. Einführung VCO. LPF Frequ. doepfer System A - 100 PLL A-196

A-196 PLL. 1. Einführung VCO. LPF Frequ. doepfer System A - 100 PLL A-196 doepfer System A - 100 PLL A-196 1. Einführung A-196 PLL VCO CV In Offset Das Modul A-196 enthält eine sogenannte Phase Locked Loop (PLL) - im deutschen mit Nachlaufsynchronisation bezeichnet, die aus

Mehr

Inbetriebnahme mit Tebis TX TX100 Verknüpfung

Inbetriebnahme mit Tebis TX TX100 Verknüpfung Inbetriebnahme mit Tebis T T100 Verknüpfung en des Bewegungsmelders Tebis Elektrische / mechanische Daten: siehe Bedienungsanleitung Bestellnummern Bezeichnung Version T100 TP-Produkt Funkprodukt WYT51x

Mehr

SCAN OPERATOR 12. Bedienungsanleitung. Ab Version 1.0. email: service@glp.de Internet: http://www.glp.de

SCAN OPERATOR 12. Bedienungsanleitung. Ab Version 1.0. email: service@glp.de Internet: http://www.glp.de Bedienungsanleitung Ab Version 1.0 email: service@glp.de Internet: http://www.glp.de 2 (V2.0) GLP German Light Production Inhalt 1 Übersicht...5 1.1 Frontansicht...5 1.2 Rückansicht...7 2 Bedienung...7

Mehr

Speicherung digitaler Signale

Speicherung digitaler Signale Speicherung digitaler Signale von Fabian K. Grundlagen Flipflops Bisher: Schaltungen ohne Speichermöglichkeit Jetzt: Speichermöglichkeit durch Flipflops Flipflops Grundlagen Flipflops Was sind Flipflops?

Mehr

16 Latches und Flipflops (Bistabile Kippstufen)

16 Latches und Flipflops (Bistabile Kippstufen) 6 Latches und Flipflops (Bistabile Kippstufen) Latches und Flipflops dienen als Speicherelemente in sequentiellen Schaltungen. Latches werden durch Pegel gesteuert (Zustandssteuerung). Bei der VHDL-Synthese

Mehr

SPI Serial Peripheral Interface

SPI Serial Peripheral Interface SPI Serial Peripheral Interface Physik- Seminar Universität Koblenz-Landau Christian Büch 27. Juni 2006 Einleitung SPI bedeutet Serial Peripheral Interface zu Deutsch serielle Peripherie Schnittstelle

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Verwendung des EASY Mode mit Demo FB für SIMATIC Step7

Verwendung des EASY Mode mit Demo FB für SIMATIC Step7 Produkt: OIT...-F113-B12-CB. Autor: Ralf Rössling / Jürgen Warkus Dokumentversion: 1.1 Datum: 05.09.2012 Verwendung des EASY Mode mit Demo FB für SIMATIC Step7 Um den EASY Mode am OIT System zu nutzen

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Invertierender (nichtinvertierender) Schmitt-Trigger und Speicheroszilloskop Prof. Dr. R. Schulz

Invertierender (nichtinvertierender) Schmitt-Trigger und Speicheroszilloskop Prof. Dr. R. Schulz 3. Versuch Durchführung Seite G - 6 Invertierender (nichtinvertierender) Schmitt-Trigger und Speicheroszilloskop Prof. Dr. R. Schulz Vorbemerkung: Betreibt man einen Operationsverstärker ohne Gegenkopplung,

Mehr

instabus Anschluss- und Abzweigklemme Eingang: Anzahl: 6

instabus Anschluss- und Abzweigklemme Eingang: Anzahl: 6 Produktname: Universal-Binäreingang 6fach 24 V AC/DC Bauform: Reiheneinbau Artikel-Nr.: 1068 00 ETS-Suchpfad: Gira Giersiepen / Eingabe / Binäreingang, 6fach / Universal-Binäreingang 6fach REG Funktionsbeschreibung:

Mehr

Interrupt-Programmierung

Interrupt-Programmierung Interrupt-Programmierung Am Beispiel des ATMEGA16 Microcontrollers Beispiel: Messung der Betriebszeit Die Betriebszeit zeigt an, wie lange der Rechner seit dem Booten läuft Hier: Aktualisierung der Betriebszeit

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

instabus Anschluss- und Abzweigklemme Eingang: Anzahl: 8 Signalspannung:

instabus Anschluss- und Abzweigklemme Eingang: Anzahl: 8 Signalspannung: Produktname: Universal-Binäreingang 8fach Bauform: Reiheneinbau Artikel-Nr.: 1069 00 ETS-Suchpfad: Gira Giersiepen / Eingabe / Binäreingang, 8fach / Universal-Binäreingang 8fach REG Funktionsbeschreibung:

Mehr

Beschreibung: SPEICHER: --------- GRUNDPLATINE AC 1: ------------------

Beschreibung: SPEICHER: --------- GRUNDPLATINE AC 1: ------------------ Beschreibung: M O D U L 1 SPEICHERVERWALTUNG AC 1 ------------------------------------------------------------- Weiterhin Anleitung: Programmpaket X V.2 -------------------------------------------------------------

Mehr

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Füllstandsregelung. Technische Informatik - Digitaltechnik II Füllstandsregelung Kursleiter : W. Zimmer 1/18 Zwei Feuchtigkeitsfühler (trocken F=0; feucht F=1) sollen zusammen mit einer geeigneten Elektronik dafür sorgen, dass das Wasser im Vorratsbehälter niemals

Mehr

Technische Informatik. Der VON NEUMANN Computer

Technische Informatik. Der VON NEUMANN Computer Technische Informatik Der VON NEUMANN Computer Inhalt! Prinzipieller Aufbau! Schaltkreise! Schaltnetze und Schaltwerke! Rechenwerk! Arbeitsspeicher! Steuerwerk - Programmausführung! Periphere Geräte! Abstraktionsstufen

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

10. Elektrische Logiksysteme mit

10. Elektrische Logiksysteme mit Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 10. Elektrische Logiksysteme mit Rückführung Name: Daniel Schick Betreuer: Dipl. Ing. D. Bojarski Versuch ausgeführt: 22. Juni

Mehr

IRF2000, IF1000 Application Note ModbusTCP API

IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Original-Application Note ads-tec GmbH IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IF1000 2 Inhaltsverzeichnis 1 Einführung... 3 2

Mehr

MOPS PIM Karte bitparallele, wortserielle PCM-Schnittstelle

MOPS PIM Karte bitparallele, wortserielle PCM-Schnittstelle MOPS PIM Karte bitparallele, wortserielle PCM-Schnittstelle Funktion. Funktion schnelle Datenkopplung zwischen PC und MOPS zur Sollwertvorgabe Übernahme von Daten aus einer externen PCM-Schnitstelle in

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Interrupts. Inhalt. Interrupts. Synchronisation Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker (Lehrstuhl Informatik 4) Übung 5 Inhalt Synchronisation Stromsparmodi Aufgabe 5: Ampel Hands-on: & Sleep Sommersemester

Mehr

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester 2011. Prozess I/O. zu und von anderen Rechnern Automation und Prozessrechentechnik Sommersemester 20 Prozess I/O Prozessrechner Selbstüberwachung zu und von anderen Rechnern Prozessrechner speziell Prozessrechner auch im Büro D A D A binäre I/O (Kontakte,

Mehr

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung Laborunterlagen zum Themengebiet Steuerungstechnik zusammengestellt von Georg Frey und Stéphane Klein Modul 3 Simatic STEP7

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

Codatex Hainzlmaier GmbH & Co.KG Ischlerbahnstraße 15 A-5020 Salzburg. ZE03 Configurator

Codatex Hainzlmaier GmbH & Co.KG Ischlerbahnstraße 15 A-5020 Salzburg. ZE03 Configurator Codatex Hainzlmaier GmbH & Co.KG Ischlerbahnstraße 15 A-5020 Salzburg ZE03 Configurator Dezember 2009 Übersicht Mit dem ZE03 GSM Terminal können Sie Buchungen Ihrer Mitarbeiter mittels Mobilfunknetz und

Mehr