SMP Übung 9 - Lösungsvorschlag

Größe: px
Ab Seite anzeigen:

Download "SMP Übung 9 - Lösungsvorschlag"

Transkript

1 1. Aufgabe: Sieben Segment Anzeigen, Multiplexing, a) Bestimmung der Zeichenkodierung Bei der Zeichenkodierung ist zu beachten, dass ein Low-Pegel auf der Leitung PDA(j) (in Verbindung mit einem Low- Pegel auf der PDB(i) Leitung) bewirkt, dass die entsprechende Leuchtdiode aktiviert wird. In der folgenden Tabelle bedeutet im Binärcode somit eine 0 Segment an, eine 1 steht für Segment aus, wobei die Segmente in der Reihenfolge Pgfedcba im Binärcode angeordnet sind. Um Verwechslungen bei der Darstellung auf der 7-Segment Anzeige auszuschließen werden die anzuzeigenden hexadezimalen Ziffern A, B, C, D, E und F durch die entsprechenden Großbuchstaben dargestellt. 7-Segment Anzeige Ziffer Binärcode Hex C F A B F A B C A7 D A1 E F E Eine Ziffer auf der 7-Segment Anzeige wird durch ein Byte codiert. Bits sind gesetzt, wenn das Segment bei der Darstellung der Ziffer nicht leuchten soll. Den so entstehenden Binärcodes sind die entsprechenden hexadezimalen Werte zugeordnet. Beispiel: Die Ziffer 5 wird wie links zu sehen auf der 7- Segment Anzeige dargestellt. Daraus ergibt sich der Binärcode (Segmente P, e und b leuchten nicht, die entsprechenden Bits sind also gesetzt), der hexadezimal als 92 dargestellt wird. 1

2 1. Aufgabe: b) Initialisierung des Parallel-Interface-Bausteins Der Parallel-Interface-Baustein wird folgendermaßen initialisiert: Port A Bit 7-0: Ausgang DDRA = $FF Port B Bit 3-0: Ausgang DDRB = $0F keine Interrupts, kein Handshaking CRA = CRB = 0 (Zur Initialisierung des Parallel-Interface-Bausteins siehe auch die 8.Übung.) In dieser Aufgabe soll nur die Interrupt-Routine implementiert werden. Die Initialisierung von CPU und Interface findet im Hauptprogramm statt und wird hier nicht weiter behandelt. Es wird davon ausgegangen, das die internen Register einfach über ihren Namen zur Verfügung stehen! 2

3 1. Aufgabe: Zur Programmidee Für die Interrupt-Routine bietet sich folgende Vorgehensweise an: 1. Die anzuzeigende Stelle aus der Speicherstelle STELLE auslesen, zyklisch weiterschalten und speichern, damit beim nächsten Routinen-Aufruf die nächste Stelle ausgeben wird. 2. Aus der Speicherstelle OUTPUT den Wert der anzuzeigenden Stelle extrahieren und daraus die Segmentansteuerung bestimmen. 3. Auf der richtigen Anzeigestelle die entsprechenden Segmente ansteuern. Für STELLE gibt es generell zwei Möglichkeiten: Den Wert zu speichern, der als nächstes dargestellt werden soll, oder den, der als letztes dargestellt wurde. 3

4 1. Aufgabe: Implementierung als Assemblerprogramm ORG $ TABLE DC.B $C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$88,$83,$A7,$A1,$86,$8E MASK DC.W $ F,$000000F0,$00000F00,$0000F000 INTLED: MOVEM R0-R2, -(SP) ; Verwendete Register sichern. MOVE STELLE, R0 ; Anzuzeigende Stelle auslesen. ADD #1, R0 ; Stelle zyklisch weiterschalten: um 1 erhöhen AND #3, R0 ; aber auf 2 Binär-Stellen begrenzen. MOVE R0, STELLE ; Neue Ausgabestelle speichern (für nächsten Interrupt). MOVE #$FFFF FFFF, R1 ; Low-Pegel für Auswahl der aktiven Anzeige-Stelle BCLR R0, R1 ; aus Ausgabestelle berechnen. MOVE.W MASK(R0*4), R2 ; Aus OUTPUT den passenden Wert extrahieren, AND.H OUTPUT, R2 ; der allerdings noch an unterschiedlichen Stellen steht. ASL #2, R0 ASR R0, R2 ; In R2 steht nun binär codiert der Wert der Anzeige-Stelle. 4

5 1. Aufgabe: Implementierung als Assemblerprogramm - Fortsetzung MOVE.B TABLE(R2), R0 ; Den dazugehörenden Hex-Wert aus Tabelle auslesen. MOVE.B R1, DRB ; Aktuelle Anzeige-Stelle aktivieren und MOVE.B R0, DRA ; Segmente zur Zifferndarstellung ansteuern. MOVEM (SP)+, R0-R2 ; Register wiederherstellen. RTE ; Rücksprung aus Ausnahmeverarbeitung. 5

6 1. Aufgabe: Programmablauf Wie funktioniert das Extrahieren der Werte aus OUTPUT? Für die Interrupt-Routine sind zwei Tabellen angelegt worden: TABLE und MASK. In TABLE stehen nacheinander die bei der Zeichenkodierung bestimmten Hex-Werte, die die Segmentansteuerung für die entsprechenden Ziffern realisieren. In MASK sind vier Masken definiert, mit denen sich die einzelnen Stellen des Wertes von OUTPUT extrahieren lassen. Das Extrahieren des Wertes beginnt mit der Codezeile MOVE.W MASK(R0*4), R2. Zur Erinnerung: in R0 steht, welche Stelle angezeigt werden soll. Durch den MOVE-Befehl wird eine der vier Masken ausgewählt, abhängig von der auszugebenden Stelle. Die Masken sind so aufgebaut, dass sich mit ihnen im nächsten Befehl AND.H OUTPUT, R2 die aktuelle Stelle, ein 4-Bit-Muster, nach R2 extrahieren lässt. Allerdings steht dieses Bit-Muster an gleichen Position innerhalb R2, an der es schon in OUTPUT stand, also in den Bits R2[3..0], R2[7..4], R2[11..8] oder R2[15..12]. Die anderen Bits in R2 sind nicht gesetzt. Über den Wert von R0, also die aktuelle Stelle, lässt sich bestimmen, wie weit das Bitmuster nach rechts geschoben werden muss, damit es als Wert in R2 steht. Wurde beispielsweise die 2. Stelle (Vorsicht: die Stellenzählung beginnt bei 0!) von OUTPUT extrahiert, so muss noch um 8 Stellen nach rechts geschoben werden, um den Wert in R2 zu haben. Dies geschieht in den Codezeilen ASL #2, R0 und ASR R0, R2. Dieser Wert wird nun als Index für TABLE eingesetzt, man erhält die passende Ansteuerung für die Ausgabesegmente (MOVE.B TABLE(R2), R0). Beispiel: OUTPUT hat den Wert 37FA, die 2. Stelle 7 (also R0 = 2) soll extrahiert werden OUTPUT R2 nach MOVE.W MASK(R0*4), R R2 nach AND.H OUTPUT, R2 R2 nach den Shift-Befehlen (R2 = 7) 6

7 2. Aufgabe: Handshake Programmierung a) Initialisierung des Parallel-Interface-Bausteins Der Parallel-Interface-Baustein wird folgendermaßen initialisiert: Port B Bit 7-0: Ausgang DDRB = $FF IRQ bei C1B, Ausgabe Handshake CRB = 1101xx0x = $D0 7

8 2. Aufgabe: b) Unterprogramm OUT (Ausgabe eines Datenblocks auf Port B) Die Daten sollen von der Interrupt-Routine INTF übertragen werden, die immer dann aufgerufen wird, wenn die Peripherie ein Datum abgeholt hat. Damit die Peripherie mit der Datenübernahme beginnt, wird das erste Byte vom Unterprogramm selber übertragen, alle weiteren Bytes dann von der Interrupt-Routine. BUFPTR DS.W 1 ; Zeiger: auszugebendes Zeichen BUFEND DS.W 1 ; Zeiger: letztes Zeichen plus eins OUT: IR INTF sperren MOVE.B #$D0, CRB ; Port B initialisieren MOVE.B #$00, CRA ; Port A (IRQ) deaktivieren MOVE.B #$FF, DDRB ; alle Bits von PDB Ausgang ADD R0, R1 ; Endadresse des Puffers ausrechnen MOVE R1, BUFEND ; und merken MOVE.B (R0)+, DRB ; erstes Byte holen und ausgeben, Zeiger weiterschieben MOVE R0, BUFPTR ; Buffer auf neuen Anfang setzten IR INTF freigeben RTS ; Rücksprung 8

9 2. Aufgabe: c) Interrupt-Routine INTF INTF: PUSH R0 ; verwendetes Register sichern MOVE.B #$80, SRB ; IRQ-Anforderung löschen SR7B MOVE.W BUFPTR, R0 ; Zeiger auf aktuelles Byte setzen CMP.W BUFEND, R0 ; Ende des Puffers erreicht? BEQ LEER MOVE.B (R0)+, DRB ; Nein! Nächstes Byte ausgeben MOVE.W R0, BUFPTR ; und Zeiger weiterschieben POP R0 ; Register wiederherstellen RTE LEER: MOVE.B #0, CRB ; Puffer leer, IRQs sperren bzw. Port B deaktivieren POP R0 ; Register wiederherstellen RTE Wenn die Ausgabe komplett ist (Puffer leer) wird von der Interrupt-Routine der Port B deaktiviert, damit weitere Interrupts gesperrt sind. Soll eine weitere Ausgabe durchgeführt werden, wird der Port durch den Aufruf des Unterprogramms OUT neu initialisiert und aktiviert. 9

10 3. Aufgabe: Endgeräteprogrammierung, Gerät liest Daten in einen Puffer a) Initialisierung des Parallel-Interface-Bausteins Der Parallel-Interface-Baustein wird folgendermaßen initialisiert: Port A Bit 7-0: Eingang DDRA = 0 kein IRQ, Eingabe Handshake CRA = 1001xx0x = $90 b) Speicherbereich für den Puffer BUFFER DS.B 2047 ; Puffer BUFEND DS.B 1 ; Pufferende NEWLINE EQU 10 ; ASCII-Wert von Newline/Line Feed dezimal Der Puffer ist ein Speicherbereich, in dem die Ein-/Ausgabe-Daten abgelegt werden. Auf ihn kann über seine symbolische Adresse zugegriffen werden. Durch BUFEND soll das Ende des Buffers zur Verfügung stehen, um überprüfen zu können, ob der Puffer voll ist. Es soll im folgenden Programm solange von der Schnittstelle gelesen werden, bis das Zeichen NewLine/Line Feed im Eingabestrom erscheint. Im Eingabestrom lässt es sich über 10 seinen ASCII-Wert hex 0A identifizieren.

11 3. Aufgabe: c) Programmsegment System initialisieren: Stackpointer, PC in Verktortabelle eintragen etc. START: MOVE.B #$90, CRA ; Interface initialisieren MOVE.B #$00, DDRA MOVE.B #$00, CRB AGAIN: LEA BUFFER, R0 ; Anfang des Puffers laden LOOP: BTST.B #7, SRA ; auf ein Zeichen warten Busy Waiting BEQ LOOP MOVE.B #$80, SRA ; C1A-IR-Statusbit löschen MOVE.B DRA, R1 ; Zeichen holen MOVE.B R1, (R0)+ ; in den Puffer schreiben, Zeiger erhöhen CMP.B R1, NEWLINE ; Prüfen, ob Ausgabe nötig BEQ PROC ; (wenn ja) CMP.W R0, #BUFEND ; Puffer (fast) voll? BNE LOOP ; Nein: nächstes Zeichen holen MOVE.B #NEWLINE, (R0) ; Ja: Ende markieren und ausgeben PROC: LEA BUFFER, R0 ; Zeiger auf Puffer-Anfang JSR PROCESS_DATA ; Daten verarbeiten BRA AGAIN ; und wieder von vorne 11

12 4. Aufgabe: Parallele Datenübertragung zwischen zwei Endgeräten a) Initialisierung des Parallel-Interface-Bausteins Der Parallel-Interface-Baustein wird folgendermaßen initialisiert: Port A Bit 7-0: Eingang DDRA = 0 IRQ bei C1A, Eingabe Handshake CRA = 1101xx0x Port B Bit 7-0: Ausgang DDRB = $FF IRQ bei C1B, Ausgabe Handshake CRB = 1101xx0x 12

13 4. Aufgabe: b) Definition des Puffers Buffer Inhalt des Puffers Read-Pointer Write-Pointer full BUFFER DS.B 2047 ; der Ringpuffer BUFEND DS.B 1 ; Ende des Ringpuffers RPTR DS.W 1 ; Read-Pointer WPTR DS.W 1 ; Write-Pointer FULL DS.B 1 ; Boolean: FULL!= 0 bedeutet Puffer voll In dieser Aufgabe soll ein Ringpuffer verwendet werden, d. h. wenn der Puffer voll ist, wird er wieder ab dem Anfangsbereich beschrieben. In der Speicherstelle FULL wird der Zustand des Puffers verwaltet. Es wird dabei zwischen den beiden Zuständen Puffer voll und Puffer nicht voll unterschieden. In FULL wird also die letzte Zugriffsaktion (lesend oder schreibend) gespeichert. Die Sende-Interrupt-Routine bewegt den Read-Pointer (nachdem die Daten ausgeben wurden). Wird dadurch die Adresse des Write-Pointers erreicht, bedeutet dies dass der Puffer leer ist. Alle in den Puffer eingelesenen (empfangenen) Daten (das letzte eingelesene Datum wird durch den Write-Pointer markiert, bzw. die Adresse vor der aktuellen Position des Write-Pointers) sind dann wieder ausgegeben worden. 13

14 4. Aufgabe: b) Puffer Programmablauf Die Empfangs-Interrupt-Routine bewegt den Write-Pointer (nachdem die Daten eingelesen wurden). Wird dadurch die Adresse des Read-Pointers erreicht (nachdem das Ende des Ringpuffers erreicht ist, wird das Schreiben am Anfang des Puffers fortgesetzt), bedeutet dies dass der Puffer voll ist. Der Read-Pointer markiert das letzte ausgegebene Datum bzw. das darauf folgende Datum. SENDEN: Wenn der Read- den Write-Pointer erreicht, ist der Puffer leer. Buffer Inhalt des Puffers Buffer Read-Pointer Write-Pointer Read-Pointer Write-Pointer EMPFANGEN: Wenn der Write- den Read-Pointer erreicht, ist der Puffer voll. Buffer Inhalt des Puffers Read-Pointer Write-Pointer Write-Pointer Read-Pointer 14

15 4. Aufgabe: b) Ablauf der Empfangs- und Sende-Interrupt-Routinen Empfangs-IR (E-IR) Sende-IR (S-IR) voll Puffer leer voll Puffer leer WPTR!= RPTR WPTR!= RPTR PUTBUF: freigegeben S-IR gesperrt PFULL: E-IR sperren Datum nicht lesen Status nicht löschen S-IR freigeben E-IR freigeben S-IR sperren Datum in den Puffer Datum lesen und gleich ausgeben GOOUT: Datum aus Puffer ausgeben 15

16 4. Aufgabe: b) Programmsegment des Hauptprogramms MAIN: System und Interface initialisieren LEA BUFFER, R0 MOVE R0, WPTR ; Initialisierung des Puffers MOVE R0, RPTR MOVE.B #0, FULL ; Puffer am Anfang nicht voll Im Hauptprogramm muss wie üblich das System und das Interface initialisiert werden. Ebenso werden die Schreib- und Lesezeiger auf den Anfang des Puffers gesetzt, der Pufferzustand auf nicht voll gesetzt. 16

17 4. Aufgabe: b) Interrupt-Routine IN (Empfangs-IR) Empfangs-IR (E-IR) voll PUTBUF: E-IR sperren Datum nicht lesen Status nicht löschen Puffer WPTR!= RPTR Datum in den Puffer freigegeben leer S-IR gesperrt S-IR freigeben Datum lesen und gleich ausgeben IN: MOVESR #% , SR ; Höchste Priorität, keine Unterbrechung mögl. PUSH R0 ; verwendetes Register sichern MOVE.W WPTR, R0 CMP R0, RPTR ; WPTR/RPTR ungleich: Daten lesen, in Puffer schreiben BEQ CHECKIN ; sonst Sonderfälle (leer, voll) PUTBUF: MOVE.B DRA, (R0)+ ; Datum lesen und in Puffer schreiben MOVE.B #$80, SRA ; C1A-IR-Statusbit löschen CMP R0, #BUFEND ; Pufferende erreicht? BLS PTOKIN ; (BLS: Sprung bei Z=1 oder C=1) LEA BUFFER, R0 ; erreicht, vorne geht es weiter PTOKIN: MOVE.W R0, WPTR ; WPTR aktualisieren MOVE.B #-1, FULL ; bei gleichen Zeigern ist der Puffer jetzt voll POP R0 ; Register wiederherstellen RTE Hinweis zur Notation: %xxxx bedeutet, dass der angegebene Wert binär codiert ist. 17

18 4. Aufgabe: b) Interrupt-Routine IN (Empfangs-IR) Fortsetzung Empfangs-IR (E-IR) ; es fehlen noch die Fälle Puffer voll bzw. leer CHECKIN: TEST FULL ; Puffer voll oder leer? BEQ EMPTIN voll Puffer leer MOVE.B #% , CRA ; voll, Empfangsinterrupt sperren POP R0 ; verwendetes Register wiederherstellen WPTR!= RPTR RTE PUTBUF: E-IR sperren Datum nicht lesen Status nicht löschen freigegeben S-IR gesperrt S-IR freigeben Datum lesen und gleich ausgeben EMPTIN: BTST.B #6, CRB ; Sende IR frei? BNE PUTBUF MOVE.B #% , CRB ; leer, Sende-Interrupt freigeben MOVE.B DRA, DRB ; Datum lesen und gleich ausgeben MOVE.B #$80, SRA ; C1A-IR-Statusbit löschen Datum in den Puffer POP R0 ; verwendetes Register wiederherstellen RTE 18

19 4. Aufgabe: b) Interrupt-Routine OUT (Sende- IR) OUT: MOVESR #% , SR ; Höchste Priorität, keine Unterbrechung mögl. PUSH R0 ; verwendetes Register sichern MOVE.W RPTR, R0 CMP R0, WPTR ; RPTR/WPTR vergleichen BNE GOOUT ; ungleich: Daten aus Puffer ausgeben Sende-IR (S-IR) TEST FULL ; Sonderfälle (leer, voll) behandeln BNE PFULL ; voll MOVE.B #% , CRB ; leer, Sende-Interrupt sperren voll Puffer leer POP R0 ; verwendetes Register wiederherstellen WPTR!= RPTR RTE PFULL: E-IR freigeben GOOUT: Datum aus Puffer ausgeben S-IR sperren PFULL: MOVE.B #% , CRA ; voll, wird jetzt aber frei. Empfangs- Interrupt freigeben GOOUT: MOVE.B #$80, SRB ; C1A-IR-Statusbit löschen MOVE.B (R0)+, DRB ; Datum aus Puffer ausgeben CMP R0, #BUFEND ; Pufferende erreicht? BLS PTOKO ; (BLS: Sprung bei Z=1 oder C=1) LEA BUFFER, R0 ; ja, vorne geht es weiter (Ringpuffer) PTOKO: MOVE.W R0, RPTR ; RPTR aktualisieren MOVE.B #0, FULL ; bei gleichen Zeiger ist der Puffer jetzt leer POP R0 ; verwendetes Register wiederherstellen RTE 19

SMP Übung 8 - Lösungsvorschlag

SMP Übung 8 - Lösungsvorschlag 1. Aufgabe: A/D-Wandlermethode auswählen Eine analoge Eingangsgröße, die Temperatur, soll in dieser Aufgabe in ein digitales Ausgangssignal umgewandelt werden. Aus Rechnertechnologie 2 sind folgende Methoden

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

Vorbemerkungen zum 5. Versuchstag:

Vorbemerkungen zum 5. Versuchstag: Vorbemerkungen zum 5. Versuchstag: Ziel des fünften Versuchstages ist es:! Die Verbindung von Mikroprozessoren mit peripheren Geräten kennen zu lernen;! den Umgang mit Peripherie-Bausteinen zu üben; Im

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

Parallele Datenübertragung mit Hilfe von WinSim85. über einen reellen PC Port

Parallele Datenübertragung mit Hilfe von WinSim85. über einen reellen PC Port Parallele Datenübertragung mit Hilfe von WinSim85 über einen reellen PC Port Seite: 1 Hardware: Bei der Programmierung der parallelen Schnittstelle eines IBM PC s mit der Simulationssoftware WinSim85 gibt

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

11. Unterprogrammtechnik

11. Unterprogrammtechnik 11 Unterprogrammtechnik 111 Sprung und Rücksprung 112 Retten der Register 113 Parameter-Übergabe Programmierkurs II Wolfgang Effelsberg 11 Unterprogrammtechnik 11-1 111 Sprung und Rücksprung BSR Verzweige

Mehr

Operationsmodi des Timers Modus 0 : Ausschalten des Zählers

Operationsmodi des Timers Modus 0 : Ausschalten des Zählers Ergänzung PIAT Operationsmodi des Timers Modus 0 : Ausschalten des Zählers LC und UC wird angehalten. IRQT wird gesperrt (Bit 7 im CMCR wird 0) UF Bit wird gelöscht (Bit 7 im SR) Die Daten in UC, LC, UL,

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

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

Kapitel 18. Externe Komponenten

Kapitel 18. Externe Komponenten Kapitel 18 Externe Komponenten 31.05.11 K.Kraft E:\MCT_Vorlesung\MCT2011\Externe_31\Externe.odt 18-1 Anschluss von externen Komponenten Einfachste Art : Direkt an einem Port Beispiel Ausgabe : 7-Strich

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

SMP Übung Aufgabe UART-Systemanbindung LÖSUNG

SMP Übung Aufgabe UART-Systemanbindung LÖSUNG SMP Übung 10 1. Aufgabe UART-Systemanbindung 1 LÖSUNG In das System aus der 7. Übung soll (z. B. bei Aufgabe 1) an Stelle der beiden Ein-/Ausgabe- Bausteine) ein asynchron-serieller Interface-Baustein

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

Mikrocomputertechnik - Programmierung

Mikrocomputertechnik - Programmierung 3 Programmierung Assembler Aufgaben: Übersetzt mnemotechnische Abkürzungen (z.b. move, add...) in die Maschinenbefehle des Prozessors Ermöglicht die Vergabe von Namen für Speicheradressen (Label) Berechnet

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

######################### Zeichenkette auswerten ###################################

######################### Zeichenkette auswerten ################################### Informatik 3 Übung 06 Georg Kuschk 6.3) MIPS #Aufgabe 6.3) #Georg Kuschk #ACHTUNG : Da laut Forum davon ausgegangen werden soll, dass der Eingabewert, # falls er denn kleiner gleich 10 Stellen besitzt,

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie im Buchhandel

Mehr

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

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten.

Assembler DOS (Beta 1) Copyright 2000 Thomas Peschko. Assembler II - DOS. ASSEMBLER Arbeiten mit Dateien und Daten. Assembler II - DOS ASSEMBLER Arbeiten mit Dateien und Daten peschko@aol.com 1 Wer nun den Eindruck hat, dass unsere Programme hauptsächlich nur Unterprogramme vor ihren Karren spannen und sich darauf beschränken

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

Übung 7 Rechnerstrukturen

Übung 7 Rechnerstrukturen Übung 7 Rechnerstrukturen Aufgabe 7.: X X2 X3 X4 F F2 F3 F4 X-X4 sind alle möglichen Binär-Werte. F-F2 ist das Ergebnis der Multiplikation von (XX2) und (X3X4). Dabei funktioniert die Multimpliation folgendermaßen:

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

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet. U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 Makros Register I/O-Ports U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler

Mehr

Computerschnittstellen und Netzwerkperipherie Labor-Versuch

Computerschnittstellen und Netzwerkperipherie Labor-Versuch FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computerschnittstellen und Netzwerkperipherie Labor-Versuch Datenübertragungsprotokolle Versuchsprotokoll Versuchstermin: 07.11.2002 Abgabetermin:

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven

Mehr

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins Prinzipieller Aufbau eines Schnittstellenbausteins DB /CS A0-Ai R/W Reset Takt Int IntAck zum µp Datenbus Puffer Steuerung Interruptsteuerung & IF Statusregister IE Steuerregister Befehlsregister Datenregister

Mehr

einfache PIC-Übungsprogramme

einfache PIC-Übungsprogramme einfache PIC-Übungsprogramme Schreibe in MPLAB für das PIC-Übungsboard 01 mit dem PIC16F88 folgendes Programm, assembliere und dokumentiere dieses, schreibe es anschließend mittels dem Programmiergerät

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

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

Vorbemerkungen zum 6. Versuchstag:

Vorbemerkungen zum 6. Versuchstag: Vorbemerkungen zum 6. Versuchstag: Ziele des sechsten Versuchstages sind:! Die Verbindung von Mikroprozessoren mit peripheren Geräten weiter praktisch zu üben;! Den Laborrechner als Bestandteil eines A/D-Umsetzers

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

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

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER GRUNDLAGEN DER INFORMATIONSTECHNIK Übungen TEIL 1 RECHNER Otto-von-Guericke-Universität Magdeburg Fakultät für Elektrotechnik und Informationstechnik Institut für Elektronik, Signalverarbeitung und Kommunikationstechnik

Mehr

10: Serial Communication Interface (SCI)

10: Serial Communication Interface (SCI) 10: Serial Communication Interface (SCI) Sie verstehen das RS-232 Protokoll sowie das Zusammenspiel zwischen HW und SW bei der Kommunikation über die serielle Schnittstelle. 1. Systemüberblick Vom PC aus

Mehr

IR NEC Empfänger mit 4x7 LED Anzeige (ATtiny2313)

IR NEC Empfänger mit 4x7 LED Anzeige (ATtiny2313) // Include C Libriaries #include #define F_CPU 4000000UL #include #include #include #include // Definition der Segmente #define SEG_O

Mehr

Adressierung von Speichern und Eingabe- Ausgabegeräten

Adressierung von Speichern und Eingabe- Ausgabegeräten Adressierung von Speichern und Eingabe- Ausgabegeräten Adressdecodierung Die Busstruktur von Prozessorsystemen verbindet die Bauteile über gemeinsame Leitungen. Auf dem Bus darf zu einer Zeit immer nur

Mehr

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer

Selbststudium Informationssysteme - H1102 Christian Bontekoe & Felix Rohrer Übung RA, Kapitel 1.5 1. Beantworten Sie bitte folgende Repetitionsfragen 1. Beschreiben Sie in eigenen Worten und mit einer Skizze die Schichtung einer Multilevel Maschine. Folie 5, rechte Seite 2. Welche

Mehr

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78 32 Bit Konstanten und Adressierung Grundlagen der Rechnerarchitektur Assembler 78 Immediate kann nur 16 Bit lang sein Erinnerung: Laden einer Konstante in ein Register addi $t0, $zero, 200 Als Maschinen

Mehr

Übungen zu Systemnahe Programmierung in C (SPiC)

Übungen zu Systemnahe Programmierung in C (SPiC) Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014 Inhalt Aufgabe4 Led Modul Wiederholung Konfiguration der Pins Hinweise zur Aufgabe

Mehr

Data Monitor Anzeige der zuletzt gesendeten bzw. empfangenen Daten

Data Monitor Anzeige der zuletzt gesendeten bzw. empfangenen Daten T9620 / G9620 MIDI GPIO INTERFACE Gerät zur Umsetzung von Midi - Befehlen auf GPIO 8 - GPI Eingänge Option: weitere 8 GPI und 8 GPO 8 - Potentialfreie GPO Ausgänge Status GPIO Statusanzeige der Ein-Ausgänge

Mehr

Aufbau eines Assembler-Programms

Aufbau eines Assembler-Programms Aufbau eines Assembler-Programms. Assembler-Anweisungen (Direktiven) Einbindung von include-files Definition von Konstanten, Reservierung von Speicherplatz im RAM, 2. Was tun, wenn C Reset-Signal erhält

Mehr

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007

Klausur ( ): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Klausur (27.07.2007): Technische Grundlagen der Informatik 2 Rechnerorganisation SS 2007 Vorname :.............................................. Name :.............................................. Matrikelnummer

Mehr

QCS-Einführungskurs. Serielle Kommunikation

QCS-Einführungskurs. Serielle Kommunikation QCS-Einführungskurs Serielle Kommunikation Umfang: ca. 2 Zeitstunden Was ist serielle Datenübertragung? USART Theorie Serielle Übertragung mit dem QCS HTerm Einführung Aufgaben Emqopter GmbH 2 Was ist

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

Zahlen- und Buchstabencodierung. Zahlendarstellung

Zahlen- und Buchstabencodierung. Zahlendarstellung Dezimalsystem: Zahlen- und Buchstabencodierung Zahlendarstellung 123 = 1 10 2 + 2 10 1 + 3 10 0 1,23 = 1 10 0 + 2 10-1 + 3 10-2 10 Zeichen im Dezimalsystem: 0,1,...9 10 ist die Basis des Dezimalsystems

Mehr

Projektlabor. LCD Ansteuerung

Projektlabor. LCD Ansteuerung Projektlabor LCD Ansteuerung Contents 1 LCD 3 2 Hardware des Displays 3 2.1 Hardware............................... 3 2.2 Verbindung.............................. 4 3 Softwareansteuerung 6 4 Quellen 10

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

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

8.3 PCA2.D12 Display-Modul mit 4 Ziffern PCD1 - PCD2 Anzeige- und Bedienmodule 8.3 PCA2.D12 Display-Modul mit 4 Ziffern Allgemeines Das Modul PCA2.D12 ist ein Ferndisplay, welches über Ausgänge einer SAIA PCD angesteuert wird. Es besitzt eine

Mehr

Klausur "Informatik I" vom Teil "Rechnerstrukturen"

Klausur Informatik I vom Teil Rechnerstrukturen Seite 1 von 6 Seiten Klausur "Informatik I" vom 20.2.2001 Teil "Rechnerstrukturen" Aufgabe 1: Binäre Informationsdarstellung (18 Punkte) 1.1 Gleitkommazahlen: Gegeben sei eine 8-bit Gleitkommazahl-Darstellung

Mehr

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller SS 2004 VAK 18.004 Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller Aufgabenblatt 2.5 Lösung 2.5.1 Befehlszähler (Program Counter, PC) enthält Adresse des nächsten auszuführenden

Mehr

Von-Neumann-Architektur

Von-Neumann-Architektur Von-Neumann-Architektur Bisher wichtig: Konstruktionsprinzip des Rechenwerkes und Leitwerkes. Neu: Größerer Arbeitsspeicher Ein- und Ausgabewerk (Peripherie) Rechenwerk (ALU) Steuerwerk (CU) Speicher...ppppp...dddddd..

Mehr

Übungsaufgaben. Stand

Übungsaufgaben. Stand AUTOMATISIERUNGSTECHNIK AU1 ÜBUNGSAUFGABEN 1 Übungsaufgaben Stand 1.1 5. 5. 2008 1. Lottozahlen. Schreiben Sie ein Programm zum Ziehen von Lottozahlen. Darstellung auf zwei Siebensegmentanzeigen. Die Anzeigen

Mehr

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Prog. Counter Memory Adress Register Befehl holen Incrementer Main store Instruction register Op-code Address Memory Buffer Register CU Clock Control

Mehr

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher Version D3_16 vom 25.05.2016 Ziel dieses Versuches: Entwicklung einer Ablaufsteuerung mit einem 32 * 4 bit Speicherbaustein, um eine flexible

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

1.9 Atmega-Programmierung in ASM/LED-Ziffernanzeige

1.9 Atmega-Programmierung in ASM/LED-Ziffernanzeige 1.9 Atmega-Programmierung in ASM/LED-Ziffernanzeige 1.9.1 Idee Bei der Programmentwicklung braucht man es ab und zu, dass man sich an bestimmten Stellen des Programms Variablenwerte anzeigen lässt. Bei

Mehr

Interrupts im Handbuch des ATmega128 gründlich lesen.

Interrupts im Handbuch des ATmega128 gründlich lesen. 1 Versuch 1 1.1 Ziel Ziel des ersten Versuchs ist es die USART-Schnittstelle kennenzulernen, sowie Assemblerprogramme um eine interaktive Eingabe zu erweitern. Zu diesem Zweck werden vom Praktikums-PC

Mehr

INHALTSVERZEICHNIS 1 1. HARDWAREBESCHREIBUNG 2 2. HARDWAREKONFIGURATION 2 3. PROFIBUS-DP KONFIGURATION 3. 3.1 Teilnehmer einfügen 3

INHALTSVERZEICHNIS 1 1. HARDWAREBESCHREIBUNG 2 2. HARDWAREKONFIGURATION 2 3. PROFIBUS-DP KONFIGURATION 3. 3.1 Teilnehmer einfügen 3 Inhaltsverzeichnis INHALTSVERZEICHNIS 1 1. HARDWAREBESCHREIBUNG 2 1.1 Baugruppen und Geräte 2 1.2 Aufbau und Installation 2 2. HARDWAREKONFIGURATION 2 2.1 Installation der GSD-Datei 2 3. PROFIBUS-DP KONFIGURATION

Mehr

V cc. 1 k. 7 mal 150 Ohm

V cc. 1 k. 7 mal 150 Ohm Ein Digitalvoltmeter Seite 1 von 6 Eine Multiplex-Anzeige Mit diesem Projekt wird das Ziel verfolgt, eine mehrstellige numerische Anzeige für Mikrocontroller-Systeme zu realisieren. Die Multiplex-Anzeige

Mehr

Mathematik 45 Alternative Zählsysteme 01 Name: Vorname: Datum:

Mathematik 45 Alternative Zählsysteme 01 Name: Vorname: Datum: Mathematik 45 Alternative Zählsysteme 01 Name: Vorname: Datum: Aufgabe 1: Römische Zahlen sind an ganz verschiedenen Orten zu finden: Auf Zifferblättern, auf Gebäuden, auf Grabsteinen und zum Teil sogar

Mehr

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET

Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, Unterprogramm HP: 0 * 1 * 2 * 3 CAL UP1 4 * 5 * 6 CAL UP2 7 *... UP1: 30 * 33 RET UP2: 40 * 41 CAL UP1 42 * 43 RET Stack, Stackpointer, UP Stack (Stapel, FIFO) wird benötigt UP-Ruf:

Mehr

C.1 Serielle Schnittstelle, erstes Testprogramm (a)

C.1 Serielle Schnittstelle, erstes Testprogramm (a) C.1 Serielle Schnittstelle, erstes Testprogramm (a) Verbinden Sie die Mikrocontrollerplatine mit dem USB-Anschluss Ihres Rechners und laden Sie das abgebildete Testprogramm auf den Mikrocontroller. Es

Mehr

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt?

Welche Register werden zur Parameterübergabe verwendet? In welcher Reihenfolge werden die Parameter auf dem Stack bzw. in den Registern abgelegt? 6.5 MMIX Befehle 291 Aufrufkonventionen Eine Aufrufkonvention (engl. calling convention) legt fest, wie einer Funktion Parameter übergeben werden und wie der Rückgabewert zurückgegeben wird. Damit spezifiziert

Mehr

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach Arduino Kurs Timer und Interrupts Stephan Laage-Witt FES Lörrach - 2018 Themen Timer Interrupts Regelmäßige Aufgaben ausführen Exakte Zeitintervalle messen FES Lörrach Juni 2018 2 Exakte Zeiten sind gar

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

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER FAQ 12/2014 MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER S7-1200 http://support.automation.siemens.com/ww/view/de/83130159 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

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

Rechnerorganisation. Überblick über den Teil 13

Rechnerorganisation. Überblick über den Teil 13 Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung

Mehr

A ProgrAmmer s Guide to KIM Programming

A ProgrAmmer s Guide to KIM Programming A ProgrAmmer s Guide to KIM Programming by Erik Bartmann - Vers. 0.1 2 - Erste Befehle Erste Befehle Nun wird es aber Zeit, dass wir unser erstes Programm schreiben und wir werden hier einiges über die

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

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

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

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

Grundlegende Programmiertechniken

Grundlegende Programmiertechniken Das Attiny-Projekt Grundlegende Programmiertechniken 1 Grundlegende Programmiertechniken Es gibt zwei Aspekte der Assemblerprogrammiertechnik, die als grundlegend angesehen werden können: Zum Einem 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

Serielle Schnittstelle, erstes Testprogramm (a)

Serielle Schnittstelle, erstes Testprogramm (a) Serielle Schnittstelle, erstes Testprogramm (a) Aufgabe C1 Verbinden Sie die Mikrocontrollerplatine mit dem USB-Anschluss Ihres Rechners und laden Sie das abgebildete Testprogramm auf den Mikrocontroller.

Mehr

Lösungsvorschlag zur 3. Übung

Lösungsvorschlag zur 3. Übung Prof Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik Wintersemester 09/10 1 Präsenzübungen 11 Schnelltest Lösungsvorschlag zur Übung a) Welche der folgenden Aussagen entsprechen

Mehr

Motorola MC68HC11 Special Bootstrap Lader 2.0

Motorola MC68HC11 Special Bootstrap Lader 2.0 Motorola MC68HC11 Special Bootstrap Lader 2.0 Im Special Bootstrap Mode des 68hc11 wird ein Datenrate von 7812,5 Baud benötigt und das Programm muss auf das Echo jedes gesendeten Byte warten. Dazu werden

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

Technische Fachhochschule Berlin Fachbereich VIII

Technische Fachhochschule Berlin Fachbereich VIII Technische Fachhochschule Berlin Fachbereich VIII Ergänzungen Seite von LOGIKPEGEL Logik-Familien sind elektronische Schaltkreise, die binäre Zustände verarbeiten und als logische Verknüpfungen aufgebaut

Mehr

B. Kainka, C-Control Hardware-Erweiterungen. 7 Temperatursensor DS1820

B. Kainka, C-Control Hardware-Erweiterungen. 7 Temperatursensor DS1820 B. Kainka, C-Control Hardware-Erweiterungen 7 Temperatursensor DS1820 Der Dallas-Sensor DS1820 eignet sich für problemlose und relativ einfache Temperaturmessungen mit einer Genauigkeit von ca. 0,5 Grad.

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

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

SPS S90U. 1. Grundlagen SPS Funktion

SPS S90U. 1. Grundlagen SPS Funktion 1. Grundlagen SPS 1.1. Funktion SPS bedeutet Speicher-Programmierbare Steuerung. Damit ist auch die Zielsetzung einer SPS erklärt: Über einen Speicher und einen Prozessor soll die Funktion von elektronischen

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

Mehr

Fachhochschule Augsburg WS01/02 Mikrocomputertechnik Fachbereich Elektrotechnik Blatt 1/8. Prüfung Mikrocomputertechnik WS 01/02

Fachhochschule Augsburg WS01/02 Mikrocomputertechnik Fachbereich Elektrotechnik Blatt 1/8. Prüfung Mikrocomputertechnik WS 01/02 Fachbereich Elektrotechnik Blatt 1/8 Prüfung Mikrocomputertechnik WS 01/02 Prüfungsfach: Mikrocomputertechnik Prüfer: Prof.Dr.Bayer Prüfungszeit: 90 min Datum: 4.Februar 2002 Hilfsmittel: nicht prog. Taschenrechner

Mehr

Technische Informatik II Rechnerarchitektur

Technische Informatik II Rechnerarchitektur Technische Informatik II Rechnerarchitektur 3.Unterprogramme in MMIX Matthias Dräger E-Mail: www: mdraeger@mi.fu-berlin.de www.matthias-draeger.info/lehre/sose2010ti2/ tinyurl.com/sose2010ti2 Zuletzt bearbeitet:

Mehr

Rechnerarchitektur, Einführung in die Laborübungen

Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf) 20. Dezember 2017 1/18 Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf)

Mehr

Daniel Betz Wintersemester 2011/12

Daniel Betz Wintersemester 2011/12 Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register

Mehr

Übungsblatt 1. Java Vorkurs (WS 2017)

Übungsblatt 1. Java Vorkurs (WS 2017) Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die

Mehr

Wiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek

Wiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek U4 4. Übung U4 4. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Hexadezimalzahlen Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek

Mehr

Rechnerarchitektur, Einführung in die Laborübungen

Rechnerarchitektur, Einführung in die Laborübungen Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz 24. November 2016 Inbetriebnahme der Mikrorechnerbaudruppe 1. Anschluss 5V-Netzteil 2. Anschluss Programmer 3. Einschalter 4. Eingabeschalter

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

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr