Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie"

Transkript

1

2

3

4 Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie Programmierung in Assembler und C Schaltungen und Anwendungen von Günter Schmitt 5., völlig überarbeitete und erweiterte Auflage Oldenbourg Verlag München

5 Prof. Dipl.-Ing. Günter Schmitt studierte Elektrotechnik an der TU Berlin und arbeitete nach seinem Diplom bei Siemens auf dem Gebiet der Messtechnik. Er lehrte seit 1969 an der Hochschule Dieburg und später als Gast an der Hochschule Darmstadt. Im Oldenbourg Verlag veröffentlichte er Lehrbücher über die Programmiersprachen Fortran, Pascal und C, über die 8-bit-Prozessoren der ersten Generation sowie über die modernen Mikrocontroller. Auch nach seiner Pensionierung im Jahr 2002 kann er immer noch nicht die Finger von Tastatur, Maus, Lötkolben und dicken Controller-Handbüchern lassen. Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.d-nb.de> abrufbar Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D München Telefon: (089) oldenbourg.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Lektorat: Anton Schmid Herstellung: Anna Grosser Coverentwurf: Kochan & Partner, München Gedruckt auf säure- und chlorfreiem Papier Gesamtherstellung: Druckhaus Thomas Müntzer GmbH, Bad Langensalza ISBN

6 Inhalt Vorwort 9 1 Einführung Grundlagen Rechnerstrukturen Rechenwerk und Registersatz Zahlendarstellungen Steuerwerk und Programmstrukturen Die Bausteine der Atmel-AVR-Familien Bauformen und Anschlüsse Der Programmspeicher (Flash) Der Arbeitsspeicher (SRAM) Der nichtflüchtige Speicher (EEPROM) Der Peripheriebereich Systemsteuerung und Konfigurationsparameter Die Entwicklung von Anwendungen Assemblerprogrammierung Testschaltung und einführendes Beispiel Assembleranweisungen Operationen Byteoperationen Bitoperationen bit Wortoperationen Operationen mit SFR-Registern Multiplikation und Division Sprung- und Verzweigungsbefehle Unbedingte Sprungbefehle Bedingte Sprungbefehle Schleifen Verzweigungen...89

7 6 Inhalt 2.5 Die Adressierung der Speicherbereiche Die Adressierung der Konstanten im Flash Die Adressierung der Variablen im SRAM Die Adressierung der Daten im EEPROM Makroanweisungen und Unterprogramme Makroanweisungen Unterprogramme Makro- und Unterprogrammbibliotheken Interrupts Die Interruptsteuerung Die externen Interrupts Der Software-Interrupt Interrupt durch Potentialänderung und Timerflanke Die Eingabe und Ausgabe von Zahlen USART-Zeichen- und Stringfunktionen Die Eingabe und Ausgabe von ganzen Zahlen Vorzeichenbehaftete ganzzahlige 16bit Arithmetik BCD-Arithmetik Festpunktarithmetik Ganzzahlige Funktionen Der Befehlssatz der AVR-RISC-Controller C-Programmierung Testschaltung und einführendes Beispiel Grundlagen Programmstrukturen Schleifenanweisungen Verzweigungen mit bedingten Anweisungen Funktionen Anwendungsbeispiele Speicherbereiche Felder im SRAM-Bereich Konstanten im Flash-Programmspeicher Daten im EEPROM-Bereich Die Ein/Ausgabe von Zeichen und Zahlen USART-Zeichen- und Stringfunktionen System-Funktionen für die Ein/Ausgabe von Zahlen System-Umwandlungsfunktionen für Zahlen Benutzerdefinierte Funktionen für Zahlen

8 Inhalt Die Interruptsteuerung Die externen Interrupts Der Software-Interrupt Interrupt durch Potentialänderung und Timereingang Die Peripherie Die Parallelschnittstellen Die Timereinheiten Der 8bit Timer Der 16bit Timer Die erweiterten Timer-Betriebsarten Der 8bit Timer Der Watchdog Timer und Stromsparbetrieb Die serielle USART-Schnittstelle Serielle Datenübertragung Der Asynchronbetrieb der USART-Schnittstelle Die USART-Interruptsteuerung Der Synchronbetrieb der USART-Schnittstelle Software-Emulation der asynchronen Schnittstelle Übertragungsverfahren Die serielle SPI-Schnittstelle Die serielle TWI-Schnittstelle (I 2 C) Die serielle USI-Schnittstelle Analoge Schnittstellen Der Analog/Digitalwandler Der Analogkomparator Der Boot-Programmspeicher Der Boot-Bereich und SPM-Befehl Ein einfaches Boot-Ladeprogramm Betriebssysteme Schaltungstechnik Die Schaltung der Peripherieports Anzeigeeinheiten Eingabeeinheiten Analoge Schnittstellen Sensoren Messungen mit dem Analog/Digitalwandler...487

9 8 Inhalt Temperatursensoren Lichtsensoren Aktoren Projekte Die Bausteine der Projekte Der ATtiny Der ATtiny Der ATmega Der ATmega8515 mit externem RAM Ein Würfel mit dem ATtiny Zufallszahlen Eine Stoppuhr mit dem ATtiny Ein Hexadezimaldecoder mit dem ATmega LCD-Anzeige mit einem ATmega Funkuhr mit einem ATmega Anhang Ergänzende und weiterführende Literatur Bezugsquellen und Internetadressen Assembleranweisungen Assemblerbefehle Rangfolge der C-Operatoren (Auswahl) C-Schlüsselwörter und -Anweisungen (Auswahl) ASCII-Codetabellen (Schrift Courier New) Sinnbilder für Ablaufpläne und Struktogramme Programmbeispiele und SFR-Register Register 593

10 Vorwort Dieses Buch wendet sich an Studierende technischer Fachrichtungen, an industrielle Anwender und an technisch Interessierte, die den Einstieg in die faszinierende Welt der Computer suchen. In der vorliegenden Auflage wurde der Schwerpunkt des Kapitels C-Programmierung auf die Besonderheiten der AVR-Controller gelegt. Neu sind die Kapitel Schaltungstechnik und Projekte mit vielen kleinen Anwendungsbeispielen. Die Mikrocomputerwelt entstand etwa ab 1975 mit den Universalprozessoren (8080, Z80 und 6502) und entwickelte sich in zwei Richtungen. Die eine ist die Welt der Datenverarbeitung und des Internet mit ihren Personal Computern (PC) und die andere sind Mikrocontroller, die in technischen Anwendungen vielfältige Steuerungsaufgaben übernehmen. Sie finden sich vor allem in Geräten, deren Funktionen vom Benutzer programmierbar sind. Dazu gehören Fahrradtachometer, Digitalkameras, Mobilfunkgeräte, Drucker und weitere Geräte des täglichen Lebens, denen man es nicht ansieht, dass sie von einem Computer gesteuert werden. Es wird vorausgesetzt, dass dem Leser ein fertiges Entwicklungs- und Testsystem wie z.b. das AVR-Starter-Kit STK500 des Herstellers Atmel zur Verfügung steht. Die für den Betrieb auf einem PC erforderliche Software wird vom Hersteller mitgeliefert, ein brauchbares C- System kann aus dem Internet heruntergeladen werden. Abschnitt 6.1 beschreibt eine einfache Zusatzschaltung, mit der sich die Programmbeispiele nachvollziehen lassen. Sie sind fast alle sowohl in Assembler als auch in C geschrieben und erlauben daher interessante Vergleiche zum Thema Programmierung in Assembler oder in einer höheren Sprache?. Für die Programmierung in der Assemblersprache spricht ihre direkte Umsetzung in den Maschinencode; das Ergebnis sind kurze und schnelle Maschinenprogramme. Der Aufwand bei der Programmierung ist dagegen hoch; der Quellcode ist umfangreich und ohne Kommentare auch für den Programmierer nicht leicht nachzuvollziehen. Die Controllerbausteine der AVR-RISC-Familien haben einen gemeinsamen Befehls- und Registersatz, so dass die Beispielprogramme auch auf anderen Mitgliedern dieser Familie ablaufen können; jedoch nicht auf Controllern anderer Familien wie z.b. Atmel AT89 oder den PIC-Bausteinen des Herstellers Microchip. Der Assembler wird vom Hersteller Atmel zusammen mit den Entwicklungssystemen geliefert oder kann kostenlos von seiner Homepage heruntergeladen werden. Für die Programmierung in der höheren Sprache C spricht, dass sie weit verbreitet ist und in fast allen Ausbildungszweigen zwar gelehrt, aber nicht immer gelernt wird. Die C- Programmierung für Personal Computer unterscheidet sich jedoch wesentlich von der Programmierung für Controlleranwendungen. Der Quellcode der C-Programme ist gut struktu-

11 10 Vorwort riert, übersichtlich und kurz, der im Controller ablaufende Maschinencode hängt wesentlich von der Güte des Compilers ab, der die Übersetzung vornimmt. Die vorliegenden C- Programme für die Controller der AVR-RISC-Familie lassen sich nicht direkt auf die Bausteine anderer Atmel-Familien oder anderer Hersteller übertragen, da diese wesentlich andere Peripherieeinheiten wie z.b. Schnittstellen zur Eingabe und Ausgabe von Signalen enthalten. Der für die Programmbeispiele verwendete GNU-Compiler wurde kostenlos aus dem Internet heruntergeladen. In besonderen Fällen, auf die im Text hingewiesen wird, ergaben sich unerwartete Ergebnisse, die sich nur durch Untersuchung des erzeugten Maschinencodes umgehen ließen. Hier waren Assemblerkenntnisse angesagt! Die Anwendungsbeispiele des siebenten Kapitels behandeln Bausteine der AVR-RISC- Familien, die mit ihrer Anschlussbelegung und den Abweichungen gegenüber dem Beispielcontroller der ersten Kapitel vorgestellt werden. Die Aufgabenstellungen und Programme wurden so einfach und kurz wie möglich gehalten; es sollten nur die wichtigsten Verfahren zur Eingabe von Daten (z.b. Tastaturabfrage) und Ausgabe von Ergebnissen (z.b. LCD- Anzeige) gezeigt werden. Ich danke meiner Frau für die Hilfe bei der Korrektur und die moralische Unterstützung sowie Herrn Anton Schmid vom Oldenbourg Verlag für die gute Zusammenarbeit. Günter Schmitt

12 1 Einführung In der heutigen Welt der Computer finden sich hauptsächlich zwei Anwendungsbereiche, die Personalcomputer (PC) sowie die Mikrocontroller zur Steuerung von Geräten. Diese werden auch als Embedded Systems bezeichnet, die in die Anwendung eingebettet sind und als Bestandteil des zu steuernden Gerätes angesehen werden. Entsprechend dem hohen Marktanteil der Mikrocontroller gibt es viele Hersteller, die Familien entwickeln und vertreiben. Sie reichen von einfachen 4bit Controllern z.b. für Fahrradcomputer bis zu 32bit Bausteinen z.b. für moderne Mobilfunkgeräte. Eine Familie umfasst mehrere Bausteine mit gleichem Befehls- und Registersatz, die sich jedoch in der Ausführung der Peripherieeinheiten und in der Speichergröße voneinander unterscheiden. Aus der Vielzahl der Hersteller seien einige herausgegriffen, die Bausteine und Entwicklungssysteme auch für nichtprofessionelle Anwender zur Verfügung stellen. Firma Microchip: PIC-Familie (8 bit), Firma Texas Instruments: MSP-Familie (8/16 bit), Firma Philips: 80C51-Familie (8 bit), LPC-21xx/22xx-Familie (16/32 bit), Firma Motorola: 68HCxx-Familie (8/16 bit) sowie Renesas R8C-Controller und Firma Atmel: die Familien ATtiny, ATmega und AT89 (8 bit) sowie AT91 (16/32 bit). In diesem Buch werden schwerpunktmäßig die Familien AVR ATmega und AVR ATtiny des Herstellers Atmel beschrieben, welche die Classic-Familie abgelöst haben. Sie sind gekennzeichnet durch folgende Eigenschaften: Programmbereich in einem Flash-Festwertspeicher (über 1000 mal programmierbar), Datenbereich für flüchtige Daten (SRAM), Datenbereich für nichtflüchtige Daten (EEPROM) (über mal beschreibbar), 32 Arbeitsregister der Länge Byte (8 bit), Arithmetisch-Logische Einheit (ALU) für 8bit Daten z.t. auch 16bit Befehle, parallele Schnittstellen für die Eingabe und Ausgabe digitaler Signale, serielle Schnittstellen z.b. für eine Verbindung zum PC, Analog/Digitalwandler zur Eingabe analoger Daten, Timer zur Messung von Zeiten und Ausgabe von Signalen, durch RISC-Struktur Ausführung der meisten Befehle in einem Takt und Taktfrequenzen bis zu 20 MHz.

13 12 1 Einführung 1.1 Grundlagen Rechnerstrukturen Arbeitsspeicher Peripherie Programmspeicher Datenspeicher Peripherie Befehle Daten Schnittstellen Befehle Daten Schnittstellen Befehlsadressen Datenadressen Portadressen Befehle Daten Adressen Befehle Daten Steuerwerk Rechenwerk Steuerwerk Rechenwerk Mikroprozessor Von-Neumann-Struktur (PC) Harvard-Struktur (Controller) Bild 1-1: Rechnerstrukturen In der Von-Neumann-Struktur des PC liegen die Befehle und Daten in einem gemeinsamen Arbeitsspeicher. Die durch Befehlsadressen über den Adressbus ausgelesenen Befehle gelangen in das Steuerwerk und werden dort in Steuersignale umgesetzt. Die durch Datenadressen über den Adressbus adressierten Daten werden ebenfalls über den Datenbus zum und vom Rechenwerk übertragen. Die peripheren Schnittstellen sind eigene Bausteine, die z.b. die Disk- und CD-Laufwerke ansteuern sowie die externen Schnittstellen bedienen. In der bei Controllern meist verwendeten Harvard-Struktur liegen Befehle und Daten in getrennten Speicher- und Adressbereichen. Das Programm kann seinen eigenen Speicherbereich nur mit Sonderbefehlen lesen. Die peripheren Schnittstellen liegen im Adressbereich der Daten oder können über Portadressen angesprochen werden. Sie übertragen digitale und analoge Signale zum Anschluss von Tastaturen, Anzeigeeinheiten und Messwertaufnehmern. Externe Bausteine werden meist über serielle Bussysteme angeschlossen.

14 1.1 Grundlagen Rechenwerk und Registersatz Die grundlegende Rechenoperation ist die Addition im dualen Zahlensystem. Zwei einstellige Dualzahlen ergeben unter Berücksichtigung führender Nullen eine zweistellige Summe > > > > 1 0 Das Rechenwerk führt die Addition mit logischen Schaltungen durch. Die Grundfunktionen sind das logische UND, das logische ODER und das EODER. EODER (XOR) UND (AND) ODER (OR) X Y X Y X Y X Y Z X Y Z X Y Z =1 Z & Z Z Das logische EODER (XOR) liefert die wertniedere Stelle der zweistelligen Summe. Bei logischen Operationen ergibt das Exklusive ODER immer dann am Ausgang eine 1, wenn beide Eingänge ungleich sind. Das logische UND (AND) liefert die werthöhere Stelle der zweistelligen Summe. Bei mehrstelligen Additionen wird sie auch als Carry (Übertrag) bezeichnet. Bei logischen Operationen liefert das UND nur dann am Ausgang eine 1, wenn alle Eingänge 1 sind. Das logische ODER (OR) ist für eine Addition nur brauchbar, wenn der Fall => 1 0 ausgeschlossen wird. Bei logischen Operationen liefert das ODER immer dann am Ausgang eine 1, wenn mindestens ein Eingang 1 ist. Ein ODER mit mehreren Eingängen wird dazu verwendet, ein Ergebnis auf Null zu prüfen, da der Ausgang nur dann 0 ist, wenn alle Eingänge 0 sind. NICHT (NOT) NICHT-UND (NAND) NICHT-ODER (NOR) X X Y X Y X Z X Y Z X Y Z 1 Z & Z Z

15 14 1 Einführung Das logische NICHT (NOT) negiert alle Bitpositionen des Operanden nach der Regel aus 0 mach 1 und aus 1 mach 0 und wird dazu verwendet, die Subtraktion auf eine Addition des Komplements zurückzuführen. Schaltet man hinter ein UND bzw. ODER direkt ein NICHT (NOT) so entsteht ein NICHT-UND (NAND) bzw. ein NICHT-ODER (NOR). Der Halbaddierer verknüpft zwei Dualstellen a und b zu einer Summe S und einem Übertrag Cn. Dies ist eine Addition zweier einstelliger Dualzahlen zu einer zweistelligen Summe. Der Volladdierer verknüpft zwei Dualstellen und den Übertrag Cv der vorhergehenden Stelle zu einer Summe und einem Übertrag Cn auf die nächste Stelle. Dabei addiert das ODER die Teilüberträge der beiden Halbaddierer, die niemals beide 1 sein können. a b a b Cv Halbaddierer Volladdierer HA & =1 HA HA VA Cn S 1 Cn S S Paralleladdierer 1. Summand (Minuend) Ca 2. Summand (Subtrahend negiert) =1 VA VA VA VA VA VA VA VA =1 Cn Summe (Differenz)

16 1.1 Grundlagen 15 Der Paralleladdierer besteht aus mehreren Volladdierern, mit denen zwei mehrstellige Dualzahlen unter Berücksichtigung der Stellenüberträge addiert werden; dabei ist das Steuerbit S = 0. Die Subtraktion wird auf eine Addition des Zweierkomplements zurückgeführt. Ein Steuerbit S = 1 negiert den Eingang Ca des letzten Volladdierers, den gesamten Subtrahenden und das Carrybit Cn. Beispiel für 3 2 = 1: 3 = Minuend bleibt = Subtrahend negiert Eingang Ca = 0 negiert + 1 Carry Cn = Differenz Carry negiert Cn = 0 kein Unterlauf Mit Zusatzschaltungen lassen sich folgende arithmetische Operationen durchführen: add Addieren zweier Dualzahlen mit Ca = 0. adc Addieren zweier Dualzahlen und eines alten Übertrags am Eingang Ca. inc Inkrementieren des ersten Operanden (Ca = 1 und zweiter Operand Null gesetzt). sub Subtrahieren 1. Operand 2. Operand (Komplement) mit Ca = 0. sbc Subtrahieren 1. Operand 2. Operand (Komplement) alter Übertrag Ca. dec Dekrementieren des 1. Operanden durch Subtraktion einer 1. neg Negieren des 1. Operanden (Zweierkomplement). Der Ausgang Cn des werthöchsten Volladdierers wird im Carrybit gespeichert. Es kann sowohl als Zwischenübertrag als auch zur Fehlerkontrolle verwendet werden. Bei einer Addition ergibt sich für Cn = 1 ein Zahlenüberlauf; bei einer Subtraktion bedeutet Cn = 1 einen Zahlenunterlauf. Für Cn = 0 liegen die Ergebnisse im zulässigen Wertebereich. Mit Zusatzschaltungen lassen sich die logischen Schaltungen des Addierers auch für logische Operationen wie z.b. UND ohne Berücksichtigung benachbarter Bitpositionen verwenden. Logikfunktionen 1. Operand 2. Operand & & & & & & & & Logisches Ergebnis

17 16 1 Einführung Die Schaltungen führen die folgenden logischen Operationen aus: and Logisches UND zum Ausblenden (Löschen) von Bitpositionen. or Logisches ODER zum Einblenden (Setzen) von Bitpositionen. eor Logisches EODER zum Komplementieren einzelner Bitpositionen. com Logisches NICHT zum Komplementieren aller Bitpositionen. Das Rechenwerk führt neben den angegebenen arithmetischen und logischen Funktionen der Länge Byte (8 bit) weitere Operationen durch, die dem Funktionscode der Befehle entnommen werden. Bei einem 6bit Code sind insgesamt 2 6 = 64 Befehle vorhanden. Dazu gehören: Laden und Speichern von Daten, Verschiebungen und Vergleiche, Multiplikationen (nur Mega-Familie) sowie Bitoperationen und Wortoperationen. Multiplizierer (ATmega-Familie) 1. Operand 2. Operand Funktionscode des Befehls Arithmetisch-Logische Einheit (ALU) Bewertung 1 H S Z V N Z C Statusregister Ergebnis der Operation Das Rechenwerk enthält neben der Arithmetisch-Logischen Einheit (ALU) Bewertungsschaltungen, deren Ergebnisse im Statusregister gespeichert werden. Dazu gehören das Carrybit, das einen Überlauffehler anzeigt bzw. als Zwischenübertrag dient, und das Zerobit, das anzeigt, ob das Ergebnis Null ist. Das Steuerwerk wertet die Anzeigebits des Statusregisters für bedingte Sprungbefehle aus.

18 1.1 Grundlagen 17 Die Operanden werden aus Registern ausgelesen; Ergebnisse werden in Registern gespeichert. Byteregister bestehen aus acht Speicherstellen (Flipflops), die parallel gelesen und beschrieben werden. Ein Lesesignal kopiert den Inhalt des Speichers; der alte Inhalt der Quelle bleibt dabei erhalten. Ein Schreibsignal überschreibt den alten Speicherinhalt des Ziels mit einem neuen Wert, der solange erhalten bleibt, bis er mit dem nächsten Schreibsignal überschrieben wird. Nach dem Einschalten der Versorgungsspannung ist der Inhalt der Arbeitsregister undefiniert; bei einem Reset bleibt ihr Inhalt erhalten. R31 R Byte = 8 bit. R2 R1 Registerauswahl R0 Bei einem Registersatz von 32 Arbeitsregistern sind fünf bit für die Auswahl eines Registers erforderlich; 10 bit für Befehle mit zwei Registeroperanden. Dann bleiben bei einem 16bit Befehl noch sechs bit für die Codierung von 64 Befehlen übrig. Man unterscheidet: Befehle für Operationen in einem Register, Befehle für Operationen mit einem Register und einer im Befehl abgelegten Konstanten, Befehle für Operationen mit zwei Registern, Befehle mit einem Register und einer Speicherstelle im Datenspeicher benötigen zusätzlich ein weiteres Befehlswort für die Datenadresse, Befehle mit indirekter Adressierung legen die Datenadresse in einem Adressregister ab, Peripheriebefehle enthalten eine verkürzte Schnittstellenadresse und Befehle, die sich auf bestimmte Register oder Bitpositionen beziehen und keine Adressen enthalten. In der Assemblerprogrammierung wird man mit häufig benutzten Variablen wie z.b. Zählern in Registern und nicht im Datenspeicher arbeiten. C-Compiler versuchen auch ohne den Speicherklassenspezifizierer register Variablen möglichst in Registern anzulegen.

19 18 1 Einführung Zahlendarstellungen Vorzeichenlose (unsigned) Dualzahlen werden in allen Bitpositionen als Zahlenwert abgespeichert. Beispiele in der 8bit Darstellung = kleinste vorzeichenlose Zahl = = = größte vorzeichenlose Zahl In dem Modell des Rechenwerks für vorzeichenlose Zahlen wird der Überlauf des werthöchsten Volladdierers im Carrybit C gespeichert und dient sowohl zur Fehleranzeige als auch als Zwischenübertrag. Das Nullanzeigebit Z (Zero) ergibt sich aus einer NOR- Verknüpfung aller Bitpositionen des Resultats. Rd7 Operand Rd Rr7 Operand Rr Calt C ALU Z 1 R7 Resultat R Bei einer vorzeichenlosen Addition nimmt das Carrybit die nicht darstellbare neunte Stelle der dualen Summe auf und kann zur Überlaufkontrolle bzw. bei mehrstufigen Additionen als Zwischenübertrag verwendet werden. Beispiele: = = = = = = +3 C = = 255 C = = 0 C = = 1 Z = 0 Z = 1 Z = 0 Kein Überlauf Überlauf Überlauf Nicht Null Null Nicht Null

20 1.1 Grundlagen 19 Bei einer vorzeichenlosen Subtraktion bedeutet C = 1 einen Unterlauf bzw. ein Borgen bei mehrstelligen Subtraktionen, da beim Subtrahieren das Carrybit des letzten Volladdierers negiert im C-Bit des Statusregisters erscheint. Beispiele: = = = = = = -3 C = = 1 C = = 0 C = = 255 Z = 0 Z = 1 Z = 0 Kein Unterlauf Kein Unterlauf Unterlauf Nicht Null Null Nicht Null Die Darstellung im Zahlenkreis zeigt die recht überraschenden Ergebnisse, dass die Summe 1 und nicht 257 liefert und dass 2 3 die Differenz 255 und nicht -1 ergibt. Addition vorzeichenlos Subtraktion vorzeichenlos Zero = 1: Null 0 Carry = 1 Überlauf Carry = 1 Unterlauf Zero = 1: Null Bei positiven vorzeichenbehafteten (signed) Dualzahlen erscheint in der linkesten Bitposition, dem Vorzeichenbit, immer eine 0. Beispiele in der 8bit Darstellung: 0 10 = kleinste positive Zahl = größte positive Zahl Bei negativen vorzeichenbehafteten (signed) Dualzahlen erscheint in der linkesten Bitposition, dem Vorzeichenbit, immer eine 1. Beispiele in der 8bit Darstellung: = größte negative Zahl = kleinste negative Zahl

PIC-Microcontroller. Oldenbourg Verlag Munchen

PIC-Microcontroller. Oldenbourg Verlag Munchen PIC-Microcontroller Programmierung in Assembler und C - Schaltungen und Anwendungsbeispielefurdie Familien PIC18, PIC16, PIC12, PIC10 von Prof. Dipl.-lng. Gunter Schmitt Oldenbourg Verlag Munchen Inhalt

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

5 Verarbeitungsschaltungen

5 Verarbeitungsschaltungen 5 Verarbeitungsschaltungen Folie 1 5 Verarbeitungsschaltungen Häufig genutzte Funktionen gibt es als fertige Bausteine zu kaufen. 5.1 Addierer logische Schaltungen zur Addition zweier Dualzahlen Alle Grundrechenarten

Mehr

Mikrocontrollerprogrammierung in Assembler und C

Mikrocontrollerprogrammierung in Assembler und C mitp Professional Mikrocontrollerprogrammierung in Assembler und C für die Mikrocontroller der 8051-Familie - Simulation unter Multisim von Herbert Bernstein 1. Auflage Mikrocontrollerprogrammierung in

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

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

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

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

3 Arithmetische Schaltungen

3 Arithmetische Schaltungen . Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des

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

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

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

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Technische Informatik Versuch 2 Julian Bergmann, Dennis Getzkow 8. Juni 203 Versuch 2 Einführung Im Versuch 2 sollte sich mit

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

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

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

Praktikum Grundlagen der Elektronik

Praktikum Grundlagen der Elektronik Praktikum Grundlagen der Elektronik Versuch EP 7 Digitale Grundschaltungen Institut für Festkörperelektronik Kirchhoff - Bau K1084 Die Versuchsanleitung umfasst 7 Seiten Stand 2006 Versuchsziele: Festigung

Mehr

Mikroprozessortechnik

Mikroprozessortechnik Lehrplan Mikroprozessortechnik Höhere Berufsfachschule für Automatisierungstechnik Ministerium für Bildung Hohenzollernstraße 60, 66117 Saarbrücken Postfach 10 24 52, 66024 Saarbrücken Saarbrücken 2010

Mehr

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34 Mikrocontroller eine Einführung Florian Schmitt - 16.11.2010 1 / 34 Inhalt Was sind Mikrocontroller, wozu sind sie nützlich? Unterschiede und Gemeinsamkeiten mit dem PC Wie funktionieren Mikrocontroller

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur [CS3100.010] Wintersemester 2014/15 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 5 Rechnerarithmetik

Mehr

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur 0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf

Mehr

Lektion 3: Was ist und was kann ein Computer?

Lektion 3: Was ist und was kann ein Computer? Lektion 3: Was ist und was kann ein Computer? Helmar Burkhart Informatik burkhart@ifi.unibas.ch EINFÜHRUNG IN DIE INFORMATIK I 3-0 Übersicht Lektion 3 Hardware Software Aufbau eines Computers Rechnerkern

Mehr

Befehlssatz AVR RISC Controller

Befehlssatz AVR RISC Controller Befehlssatz AVR RISC Controller Design-Philosophie des AVR Befehlssatzes Assembler-Sprache AVR-Befehlssatz Philosophie RISC = Reduced Instruction Set Computing keine komplexen Befehle möglichst symmetrischer

Mehr

Wie arbeiten Computer?

Wie arbeiten Computer? Autor: Ortmann, Jürgen. Titel: Wie arbeiten Computer? Quelle: Einführung in die PC-Grundlagen. München, 8. Auflage, 2003. S. 29-41. Verlag: Addison-Wesley Verlag. Die Veröffentlichung erfolgt mit freunlicher

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil II: Wat iss ene Bit, Byte un Word?

Mehr

C und C++ für Embedded Systems

C und C++ für Embedded Systems C und C++ für Embedded Systems von Friedrich Bollow, Matthias Homann, Klaus-Peter Köhn Neuausgabe C und C++ für Embedded Systems Bollow / Homann / Köhn schnell und portofrei erhältlich bei beck-shop.de

Mehr

BLIT2008-Board. Uwe Berger

BLIT2008-Board. Uwe Berger 11/2008 (BLIT) 2 Inhalt Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten Prinzipielles zur Programmierung BLIT2008-Board 11/2008 (BLIT) 3 Was sind Mikrocontroller AVR-Mikrocontroller Werkzeugkasten

Mehr

L3. Datenmanipulation

L3. Datenmanipulation L Datenmanipulation Aufbau eines Computers Prozessor, Arbeitsspeicher und system Maschinensprachen und Maschinenbefehle Beispiel einer vereinfachten Maschinensprache Ausführung des Programms und Befehlszyklus

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Steuerwerk einer CPU Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck Übersicht Implementierung des Datenpfads Direkte Implementierung Mikroprogrammierung

Mehr

Inhaltsverzeichnis. Teil I Aufgaben 1

Inhaltsverzeichnis. Teil I Aufgaben 1 iii Teil I Aufgaben 1 1 Grundlagen der Elektrotechnik 3 Aufgabe 1: Punktladungen............................ 3 Aufgabe 2: Elektronenstrahlröhre........................ 3 Aufgabe 3: Kapazität eines Koaxialkabels...................

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Grundlagen der Digitaltechnik

Grundlagen der Digitaltechnik Grundlagen der Digitaltechnik Eine systematische Einführung von Prof. Dipl.-Ing. Erich Leonhardt 3., bearbeitete Auflage Mit 326 Bildern, 128 Tabellen, zahlreichen Beispielen und Übungsaufgaben mit Lösungen

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

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

Mehr

Ü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

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter ALU ALU-Aufbau Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus Addierer Logischer Einheit Shifter Eingänge in eine ALU: zwei Operanden, Instruktionscode OP1 OP0 Ausgänge einer ALU: Ergebnis,

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

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

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

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung Herbert A. Mitschke inklusive DVD-ROM Professionelle Webentwicklung mit Adobe Flash CS4 inkl. ActionScript 3, XML, PHP und MySQL Von den Programmier-Grundlagen zur professionellen Webentwicklung Datenmanagement

Mehr

Elementare logische Operationen

Elementare logische Operationen RECHNERARCHITEKTUR 2 - ELEMENTARE LOGISCHE OPERATIONEN 1 Elementare logische Operationen Modifizieren, Testen,Vergleichen In diesem Abschnitt wollen wir zeigen, wie man mit den elementaren logischen Verknüpfungen

Mehr

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1

Tutorial. Microcontroller. Grundlagen µc. Kapitel 1 Microcontroller Kapitel 1 Grundlagen µc µc Inhaltsverzeichnis 1 - Vorwort Seite 2 2 - Prinzipieller Programmablauf Seite 4 3 - ISR Interrupt Service Routine Seite 5 4 - Compiler Seite 7 5 - ATMega8 Seite

Mehr

Versuch P1-63 Schaltlogik Vorbereitung

Versuch P1-63 Schaltlogik Vorbereitung Versuch P1-63 Schaltlogik Vorbereitung Gruppe Mo-19 Yannick Augenstein Versuchsdurchführung: 16. Januar 2012 1 Inhaltsverzeichnis Einführung 3 1 Grundschaltungen 3 1.1 AND.......................................

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Technische Informatik

Technische Informatik Wolfram Schiffmann Robert Schmitz Jürgen Weiland 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Technische Informatik

Mehr

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner

C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Von-Neumann-Rechner (John von Neumann : 1903-1957) C. BABBAGE (1792 1871): Programmgesteuerter (mechanischer) Rechner Quelle: http://www.cs.uakron.edu/~margush/465/01_intro.html Analytical Engine - Calculate

Mehr

Programmieren der AVR RISC MikroController mit BASCOM-AVR

Programmieren der AVR RISC MikroController mit BASCOM-AVR Claus Kühnel Programmieren der AVR RISC MikroController mit BASCOM-AVR 3. bearbeitete und erweiterte Auflage Eine Einführung anhand von Programmbeispielen 5 Inhalt 1 Vorwort 9 2 Die AVR-Mikrocontroller

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

Von der Aussagenlogik zum Computer

Von der Aussagenlogik zum Computer Von der Aussagenlogik zum Computer Markus Koch Gymnasium in der Glemsaue Ditzingen Januar 2012 Inhaltsverzeichnis Einleitung...3 Der Computer...3 Grundlagen...4 Wahrheitstabellen...4 Aussagenlogik...4

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

Andreas Roth. Das Mikrocontroller- Applikations- Kochbuch

Andreas Roth. Das Mikrocontroller- Applikations- Kochbuch Andreas Roth Das Mikrocontroller- Applikations- Kochbuch Einleitung 11 1 Zahlen 13 1.1 Byte-Zahlen 15 1.1.1 Berechnung von Modulo- und Integer-Werten 15 1.1.2 Berechnung von Dezimalstellen 16 1.1.3 Größenvergleich

Mehr

Vorbereitung zum Versuch

Vorbereitung zum Versuch Vorbereitung zum Versuch Schaltlogik Armin Burgmeier (1347488) Gruppe 15 6. Januar 2008 1 Gatter aus diskreten Bauelementen Es sollen logische Bausteine (Gatter) aus bekannten, elektrischen Bauteilen aufgebaut

Mehr

Informatik für Ingenieure

Informatik für Ingenieure Informatik für Ingenieure Eine Einführung Von Prof. Dr. rer. nat. Wolfgang Merzenich Universität-Gesamthochschule Siegen und Prof. Dr.-Ing. Hans Christoph Zeidler Universität der Bundeswehr Hamburg B.

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

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

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

Mehr

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

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

1 Assembler. 2 LED-Steuerung

1 Assembler. 2 LED-Steuerung Inhaltsverzeichnis Inhaltsverzeichnis... 1 1 Assembler... 2 2 LED-Steuerung... 2 3 Taster Abfrage ( Port I/O)... 3 3.1 Zahlensysteme... 3 3.2 Ausgabe... 4 3.2.1 Assembler-Sourcecode... 4 3.2.2 Assemblieren...

Mehr

Inhaltsverzeichnis VII.

Inhaltsverzeichnis VII. \ 1 Grundlagen der Mikrocontrolier 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26und ATmega32 6 1.1.1 Merkmale des ATtiny2313, ATtiny26und ATmega32 8 1.1.2 Pinbelegung des ATtiny2313, ATtiny26 und

Mehr

Technische Informatik

Technische Informatik Technische Informatik Eine einführende Darstellung von Prof. Dr. Bernd Becker Prof. Dr. Paul Molitor Oldenbourg Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist überhaupt ein Rechner?

Mehr

Sucosoft S40 KOP/FBS KOP FBS

Sucosoft S40 KOP/FBS KOP FBS Sucosoft S40 KOP/FBS KOP FBS Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer

Mehr

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

A.3. A.3 Spezielle Schaltnetze. 2002 Prof. Dr. Rainer Manthey Informatik II 1

A.3. A.3 Spezielle Schaltnetze. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Spezielle Schaltnetze Spezielle Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Übersicht in diesem Abschnitt: : Vorstellung einiger wichtiger Bausteine vieler elektronischer Schaltungen, die sich

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

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

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

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

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

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

9.0 Komplexe Schaltwerke

9.0 Komplexe Schaltwerke 9.0 Komplexe Schaltwerke Die Ziele dieses Kapitels sind: Lernen komplexe Schaltwerke mittels kleinerer, kooperierender Schaltwerke zu realisieren Verstehen wie aufgabenspezifische Mikroprozessoren funktionieren

Mehr

2.Vorlesung Grundlagen der Informatik

2.Vorlesung Grundlagen der Informatik Christian Baun 2.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/16 2.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de

Mehr

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz

Rechnerarchitektur. M. Jakob. 1. Februar 2015. Gymnasium Pegnitz Rechnerarchitektur M. Jakob Gymnasium Pegnitz 1. Februar 2015 Inhaltsverzeichnis 1 Aufbau eines Computersystems Praktische Grundlagen Von-Neumann-Rechner 2 Darstellung und Speicherung von Zahlen 3 Registermaschinen

Mehr

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Großübung 1: Zahlensysteme Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Lehrender: Dr. Klaus Richter, Institut für Informatik; E-Mail: richter@informatik.tu-freiberg.de

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

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 2: Addressierung und Befehle

Technische Informatik 2: Addressierung und Befehle Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register

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

Algorithmen zur Integer-Multiplikation

Algorithmen zur Integer-Multiplikation Algorithmen zur Integer-Multiplikation Multiplikation zweier n-bit Zahlen ist zurückführbar auf wiederholte bedingte Additionen und Schiebeoperationen (in einfachen Prozessoren wird daher oft auf Multiplizierwerke

Mehr

COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M

COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M COMPUTERGESTÜTZTES EXPERIMENTIEREN I P R A K T I K U M 1 Übersicht Im Praktikum zur Vorlesung Computergestütztes Experimentieren I wird der Vorlesungsstoff geübt und vertieft. Ausserdem werden die speziellen

Mehr

Fachbereich Medienproduktion

Fachbereich Medienproduktion Fachbereich Medienproduktion Herzlich willkommen zur Vorlesung im Studienfach: Grundlagen der Informatik Themenübersicht Rechnertechnik und IT Sicherheit Grundlagen der Rechnertechnik Prozessorarchitekturen

Mehr

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen Winter 2015 4. WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1 4. WICHTIGE SCHALTNETZE (c) Peter Sturm, University of Trier 1 Wichtige Schaltnetze Häufig verwendete Grundfunktionen Umwandeln (Decoder) Verteilen (Multiplexer) und Zusammenfassen (Demultiplexer) Arithmetisch-

Mehr

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

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

Mehr

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....

Mehr

Johann Wolfgang Goethe-Universität

Johann Wolfgang Goethe-Universität Flynn sche Klassifikation SISD (single instruction, single data stream): IS IS CU PU DS MM Mono (Mikro-)prozessoren CU: Control Unit SM: Shared Memory PU: Processor Unit IS: Instruction Stream MM: Memory

Mehr

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

Mehr

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen

Vorlesungsziele. Mit gängigen Begriffen etwas anfangen können. In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Vorlesungsziele Mit gängigen Begriffen etwas anfangen können In der Lage sein, die Architektur von Mikroprozessoren zu verstehen Die Grundkomponenten eines Mikroprozessor - Systems und ihr Zusammenwirken

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Audiospektrum- Analyse mit Mikrocontrollern

Audiospektrum- Analyse mit Mikrocontrollern PC & ELEKTRONIK Felix Irmscher Entwicklung und Programmierung in Assembler und LabVIEW Audiospektrum- Analyse mit Mikrocontrollern Analyseschaltungen mit dem ATmega644 einfach selbst entwickeln Auf CD-ROM:

Mehr

Vom Schalter zum Computer

Vom Schalter zum Computer 1 Vom Schalter zum Computer 38 Woraus besteht eigentlich ein Computerchip? All computers are just carefully organized sand Abbildung: Siliziumquelle SiO 2 The Desert by John O'Nolan CC-BY-2.0, http://flic.kr/p/aej8rk

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

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