AVR RISC Mikrocontroller

Größe: px
Ab Seite anzeigen:

Download "AVR RISC Mikrocontroller"

Transkript

1 Fachoberschule am Beruflichen Schulzentrum e.o. plauen Facharbeit in der Fachrichtung Technik im Fach Informatik AVR RISC Mikrocontroller von Pierre Schmidt Klasse FOS TLA 2001 Betreuer: Herr Neidel Ort, Datum: Ullersreuth, 28. Februar 2002

2 2 Vorwort Der Mikrocontroller ist in der heutigen Zeit nicht mehr wegzudenken. Man verwendet sie unter anderem zur Steuerung von Geräten in der Unterhaltungselektronik bis hin zu allen möglichen Haushaltsgeräten sei es der Geschirrspüler oder die Waschmaschine. Betrachtet man dieses weite Spektrum und damit die verbundenen hohen Stückzahlen ist es nicht verwunderlich, dass jeder größere Halbleiterhersteller seinen eigenen Typ auf dem Markt anbietet. Jedoch hat sich in den achtziger Jahren ein 8 Bitprozessor auf dem Markt deutlich durchgesetzt. Es ist der 8051 der Firma Intel. Trotz hoher Konkurrenz hält er bislang den Spitzenplatz in der Rangliste. Jedoch wird dieser in letzter Zeit durch einen 8 Bit RISC-Controller ( RISC = Reduced- Instruction-Set-Computer, d.h. Computer mit reduzierten Befehlssatz) der Firma Atmel bedrängt, der auch in dieser Arbeit näher erläutert und erklärt wird. Er setzt neue Maßstäbe im leistungssparenden Herstellungsprozess und damit hat er ein günstiges Preis-/Leistungsverhältnis. Die Facharbeit wird nur ein Teil des Gebietes der AVR-RISC Mikrocontroller berücksichtigen. Nach dem Lesen dieser Facharbeit wird es möglich sein, kleine Steuerungen mit dem AVR-RISC Mikrocontroller zu erstellen. Vereinbarungen In dieser Facharbeit werden für Schreibweisen von Zahlen ff. Vereinbarungen getroffen. Es wird davon ausgegangen, dass die Binär- sowie die Hexdezimalschreibweise bekannt ist. Hexadezimalzahlen Schreibweise vorangestelltes $-Zeichen oder 0x + Hexzahl Beispiele $AF, $10, $EDEA 0x01, 0xCF, 0x1FED Binärzahlen 0b + Binärzahl 0b Dezimalzahlen Ohne Zusatz 15, 37, 128 Assembler-Befehle Courier New rjmp, clr, breq Ein Bit ist gesetzt, wenn es den Wert log. 1 bzw. High-Pegel, und es ist rückgesetzt, wenn es den Wert log. 0 bzw. Low-Pegel hat.

3 3 Inhaltsverzeichnis 1 Aufbau 1.1 Grundstruktur Blockschaltbild Die CPU Die Ablaufsteuerung Das Rechenwerk Speicherarchitektur Programmspeicher Flüchtiger Datenspeicher Nichtflüchtiger Datenspeicher Bus-System 1.2 Gehäuse und Anschlüsse Gehäusebauformen Pinanschluss bei Eingangskonfiguration Pinanschluss bei Ausgangskonfiguration 2 Die Arbeitsweise eines Controllers 2.1 Zugriff auf die Speicher Zugriff auf den internen SRAM Zugriff auf den nichtflüchtigen Speicher (EEPROM) Zugriff auf den Programmspeicher 2.2 Programmbearbeitung 2.3 Die Ein- / Ausgabeports Das Datenrichtungsregister Das Portregister Das Eingangs-Pin-Register 3 Programmerstellung 3.1 Einfache Assemblerbefehle 3.2 Pin als Ausgang 3.3 Pin als Eingang 3.4 Programmentwicklung 4 Quellenverzeichnis 5 Selbstständigkeitserklärung 6 Anlagenverzeichnis

4 4 1 Aufbau 1.1 Grundstruktur Blockschaltbild AVR-Mikrocontroller sind alle nach dem gleichem Schema aufgebaut. Der Aufbau wird in fünf Bereiche unterteilt, die CPU, der Datenspeicher, der Programmspeicher, der Ein- / Ausgabebereich und das Bus-System. Die in der CPU vorhandene Ablaufsteuerung, bestehend aus dem Programmzähler und der Dekodierlogik, liest und dekodiert Befehle. Diese Befehle befinden sich im Programmspeicher. Das Rechenwerk, das ebenfalls in der CPU untergebracht ist, führt arithmetische und logische Operationen aus. Der Ein- / Ausgabebereich (E-/A-Bereich) wird zur Ein- und Ausgabe von Daten von und zur Peripherie verwendet. In dem Datenspeicherbereich werden Daten und Variable gespeichert. Letztendlich verbindet das Bus- System die CPU, Programm- und Datenspeicher und den E-/A-Bereich. Ablaufsteuerung CPU Rechenwerk Programmspeicher Datenspeicher Ein-/ Ausgabe Adressbus Datenbus Steuerbus Peripherie Bild 1: Pinzipaufbau eines AVR-RISC-Mikrocontrollers

5 Die CPU Die Ablaufsteuerung Die Ablaufsteuerung, die vom Oszillator gesteuert wird, regelt den gesamten Betrieb eines Mikrocontrollers. Sie steuert den Programmablauf sowie die Zusammenarbeit der einzelnen Module, die abhängig vom Typ des Mikrocontrollers sind. Von der Ablaufsteuerung werden alle für eine Befehlsverarbeitung notwenigen Operationen, vom Holen des Befehls aus dem Programmspeicher, Lesen der für den Befehl erforderlichen Daten, Freigabe für das Rechenwerk und die Abspeicherung des Befehls in den entsprechenden Speicher, gesteuert Das Rechenwerk Das Rechenwerk untergliedert sich in die ALU (Arithmetic-Logic-Unit) und 32 Arbeitsregister. Diese Arbeitsregister und die ALU sind direkt miteinander verbunden. Die ALU führt die arithmetischen und logischen Operrationen aus und die Ergebnisse werden im Arbeitsregister gespeichert. Das Rechenwerk eines AVR-Mikrocontroller kann Additionen, Subtraktionen, Schieboperationen und auch logische Verknüpfungen wie AND, OR und XOR ausführen. In einem Systemtakt können zwei Befehl ausgeführt werden. Das bedeutet, die Befehle werden aus dem Registerbereich in die ALU geholt, die Operationen werden ausgeführt und die einzelnen Ergebnisse werden im Zielregister wieder gespeichert Die Speicherarchitektur Der Speicherbereich der AVR-Mikrocontroller wird in 2 Bereiche aufgeteilt. Einmal der Programmspeicher und zum Anderen der Datenspeicher. Sie unterscheiden sich auch im physikalischen Aufbau. Die Größe aller Speicher ist von dem einzelnen Typ des AVR- Mikrocontrollers abhängig Programmspeicher Im Programmspeicher (Befehlsspeicher) wird das eigentliche Programm gespeichert. Dies geschieht durch die elektrisch lösch- und programmierbare Flash-Technologie. Diese platzsparende Art der Speicherung des Programms ist direkt in dem Baustein eines AVR s mit untergebracht. Der Controller kann direkt in dem System programmiert werden, das heißt, dass

6 6 der Controller in seiner Schaltung bleibt und über den seriellen Programmiermodus programmiert werden kann. Der Controller kann auch im parallelen Modus programmiert werden, jedoch muss er dazu aus der Schaltung ausgebaut werden, und zusätzlich mit einer Spannung von +12V während des Programmiervorganges versorgt werden. Der Flash- Speicher ist bei den vier Grundtypen (AT90S1200, AT90S2313, AT90S4414, AT90S8515) der AVR-Serie immer zu n Worten organisiert. Die Anzahl der Worte ist abhängig von dem Typ der Controllers. Bei Flash-EPROM-Technologie kann der gesamte Chip oder einzelne Blöcke in wenigen Millisekunden blitzartig (FLASH) elektrisch gelöscht werden. Für das Löschen ist also kein UV- Licht wie bei der EPROM-Zelle notwendig Flüchtiger Datenspeicher (SRAM) Das Speichern von Variablen und Daten, die nach dem Ausschalten des Controllers nicht mehr vorhanden sein müssen, übernimmt das statische RAM (SRAM). Die Art der Speicherung der Daten erfolgt bitweise. Dieses Speichern wird durch eine Verschaltung mehrerer RS-Flip-Flops ermöglicht. Der SRAM kann bei den größeren AVR-Controllern durch externe Beschaltungen erweitert werden, jedoch gehen dabei wichtige E-/A-Pins verloren. Der SRAM wird in drei Teile unterteilt, den Arbeitsregisterbereich, den Ein- / Ausgabebereich und den eigentlichen SRAM. Der Arbeitsregisterbereich liegt im untersten Block des SRAMs und ist wie schon gesagt direkt mit der ALU verbunden. Ihm wurden die Adressen von $00 bis $1F zugewiesen. Der Ein- / Ausgabebereich (I/O-Bereich) eines AVR-Mikrocontrollers bildet den mittleren Block des SRAMs und dient zur Steuerung von Hardware- und Peripheriekomponenten des Mikrocontrollers (z. B. Ports, Timer, EEPROM-Programmierung). Weiterhin ermöglicht dieser Teil des SRAMs die Anzeige von Ergebnissen aus logischen und arithmetischen Funktionen. Bei den kleinern AVR-Mikrocontrollern sind nicht alle Funktionen des E-/A-Bereichs vorhanden. Für den Zugriff auf den I/O-Bereich gibt es, neben den normalen Befehlen, zusätzliche Befehle. Der Zugriff auf ein I/O-Register kann mit in und out erfolgen, wobei in ein Byte aus dem I/O- Bereich in ein Arbeitsregister liest und out ein Byte aus dem Arbeitsregister in den I/O-Bereich speichert. Der I/O-Bereich hat eigene Adressen (von $00 bis $3F), die man mit den zusätzlichen Befehlen in, out, sbi, cbi, sbis und sbic erreichen kann. Einige dieser I/O- Bereiche werden noch genauer beschrieben. Ein I/O-Register kann auch über seine SRAM- Adresse angesprochen werden, jedoch muss man dann $20 zu seiner I/O-Adresse addieren. Die SRAM-Adresse wird immer mit in Klammern angegeben. Der Zugriff über die SRAM- Adresse erfolgt mit den normalen Befehlen. In dem internen SRAM werden die Daten und

7 7 Variablen, die während des Programms genutzt werden, gespeichert. Die Größe des internen SRAMs ist wieder von dem jeweiligen Typ des AVR- Mikrocontrollers abhängig Der nichtflüchtige Speicher Wie schon der Name verrät, ist dieser Teil des Speicherbereichs für die Speicherung der Daten, die nach einem Ausfall der Spannung vorhanden bleiben sollen, zuständig. Dies könnten zum Beispiel die Kalibrierungsdaten eines Messgerätes sein. Die Größe des Speichers ist abhängig von dem jeweiligen Controller. Die Daten kann man aus den einzelnen Datenblättern entnehmen. Die Zeit zum Speichern/Löschen von Daten auf den EEPROM ist von der angelegten Spannung abhängig. Der Vorgang dauert zwischen 2,5 und 4 ms. Jedoch darf man trotz dieser geringen Zeit den EEPROM nicht als RAM verwenden, denn es können nur Schreibzyklen ausgeführt werden. Im Gegensatz zu dem Befehlsspeicher, bei dem man nur abschnittsweise den Flash-EPROM löschen kann, lässt sich bei dem EEPROM jedes einzelne Bit auf 0 und 1 setzten. Dies lässt sich nur durch das Anwenderprogramm selbst realisieren. Zum Speichern/Löschen von Daten im EEPROM ist immer ein sich wiederholender Vorgang nötig. Es werden die I/O-Register EEPROM-Adressregister (EEAR), das EEPROM-Data Register (EEDR) und das EEPROM-Control-Register (EECR) benötigt Bus-System Das Bus-System eines AVR-Controllers verbindet die CPU mit einzelnen Speicherbereichen. Die Ablaufsteuerung der CPU wird über die einzelnen Befehle im Programmspeicher gesteuert. Sie liest die Daten aus dem jeweiligen Speicherbereich. Der eigentliche Transport sämtlicher Daten eines Controllers erfolgt über acht parallele Leitungen. Diese Leitungen werden als Datenbus bezeichnet. Programm und Daten liegen im Speicher unter verschiedenen Adressen. Jedes Datenbyte hat eine Adresse. Die Adresse wird von der Ablaufsteuerung als Dualzahl auf den Adressbus ausgegeben. Somit erhält die CPU die erforderlichen Daten. Der Adressbus besteht auch aus mehreren parallelen Leitungen. Da in den Speicher Daten gelesen und geschrieben werden können, muss ihm noch mitgeteilt werden um welchen Vorgang es sich handelt. Dafür sind sogenannte Steuerleitungen verantwortlich. Die zwei wichtigsten Leitungen sind die für das Lesen und das Schreiben. Die

8 8 im Steuerbus befindlichen Leitungen geben also vor, zu welchem Zeitpunkt die Schaltvorgänge stattfinden. 1.2 Gehäuse und Anschlüsse Gehäusebauformen Die AVR-Mikrocontroller unterscheiden sich in ihrer Bauform (siehe Anlage). Die Funktionsweise der Mikrocontrollers ist jedoch vollkommen identisch. Für welchen man sich letztendlich entscheidet hängt von dem Platz ab, den man in seinem Schaltkasten oder auf der Platine zur Verfügung hat Pinanschluss bei Eingangskonfiguration Mit Hilfe des Portregisters, eines Eingangsports im I/O-Bereich, kann man bestimmen, ob der interne Pull-Up-Widerstand verwendet werden soll oder ein Externer geschalten wird. mit externem Pull-Up mit internen Pull-Up 5V R1/10k Pin Pin S1 GND Bild 2: Eingangspinanschluss bei externem Pull-Up-Widerstand S1 GND Bild 3: Eingangspinanschluss bei internem Pull-Up-Widerstand Pinanschluss bei Ausgangsbelegung R1/1k Pin GND V1 Bild 4: Ausgangspinanschluss GND

9 9 2 Die Arbeitsweise eines Controllers 2.1 Zugriff auf die Speicher Zugriff auf den internen SRAM Damit man Daten aus dem SRAM lesen kann, wird zunächst die Adresse des gewünschten Datenbereichs auf den Adressbus gelegt. Die Anzahl der Adressbits richtet sich nach dem Speicherausbau des jeweiligen Controllers. Danach wird die Read-Leitung des Steuerbusses aktiviert (log. 0), und auf dem internen Datenbus ist der Inhalt der adressierten SRAM-Zelle. Mit einer steigenden Flanke des Read-Signals ( /RD-Signal) werden die Daten in ein Arbeitsregister übernommen. Soll in einen SRAM Daten eines Arbeitsregisters geschrieben werden, so werden die Daten auf den Datenbus, und die gewünschte Adresse auf den Adressbus gelegt. Es wird die Write- Leitung des Steuerbusses auf log. 0 gesetzt und wieder auf log. 1. Mit der steigenden Flanke des Write-Signals wird der Inhalt des Arbeitsregisters in den SRAM eingeschrieben Zugriff auf den nichtflüchtigen Speicher (EEPROM) Für den Schreib-/Lesezugriff auf den nichtflüchtigen Speicher sind drei I/O-Register des SRAMs relevant. Diese sind: EEPROM Adress-Register EEPROM Daten-Register EEPROM Control-Register Bit7 Bit6 Bit5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Adresse $1C ($3C) EEMWE EEWE EERE Tab. 1: EEPROM-Control-Register Beim Lesen wird die zu lesende EEPROM-Adresse in das EEPROM-Adress-Register (EEAR), das sich auf dem I/O-Speicherplatz $1E (RAM: $3E) befindet, eingeschrieben. Dann wird in das EEPROM-Daten-Register (EEDR), auf dem I/O-Speicherplatz $1D (RAM: $3D), der zu speichernde Inhalt abgelegt. Erst durch das Setzten des Read-Enable-Control-Bits (EERE) im

10 10 EEPROM-Control-Register (EECR), das sich auf dem I/O-Speicherplatz $1C (RAM: $3C) befindet, können die Daten gelesen werden. Der Schreibzugriff auf das EEPROM erfolgt in ähnlicher Weise. Jedoch muss das EEWE-Bit (EEPROM-Write-Enable-Bit) gesetzt sein. In dem EEAR muss die Adresse, und im EEDR das zu speichernde Datenbyte vorhanden sein. Um ein unbeabsichtigtes Schreiben auf das EEPROM zu verhindern muss zusätzlich das EEMWE-Bit im Controll-Register gesetzt sein. Zum Programmieren sind folgenden Schritte notwendig. 1. Warten, falls ein Programmiervorgang läuft, bis dieser beendet ist. 2. Die EEPROM-Adresse in das EEAR einschreiben. 3. Das zu speichernde Datenbyte in das EEDR einschreiben. 4. Das EEMWEBit auf log. 1 setzten. 5. Das EEWE-Bit auf log. 1 setzten und ca. 2,5 4 ms ( 4 Perioden des Systemtaktes) warten. Das EEWE-Bit wird nach dem Programmiervorgang automatisch auf log. 0 zurückgesetzt. Bevor also das nächste Byte programmiert werden darf, ist es notwendig dieses Bit abzufragen und zu warten bis es den Wert log. O erreicht hat Zugriff auf den Programmspeicher Der Lesevorgang auf den Programmspeicher wird von der CPU gesteuert. Der Programmierer muss nicht extra ein Programm dafür schreiben. Der Ablauf des Lesevorganges der Gleiche, wie bei dem SRAM-Lesevorgang. Der Schreibvorgang auf den Programmspeicher wird nur einmal für eine Anwendungsaufgabe durchgeführt. Dies kann mit einem PC, mit entsprechender Software, erfolgen. Der Programmiervorgang des Flash-EPROMs kann eingeschränkt seriell (in der Schaltung), oder parallel erfolgen. Für den parallelen Programmiermodus muss der Mikrocontroller aus der Schaltung genommen werden. 2.2 Programmbearbeitung Die jeweiligen Arbeitsanweisungen für den Controller stehen im Programm, das sich im Programmspeicher befindet. Jeder Befehl hat eine bestimmte Adresse. Nach einem Neustart des Controllers ruft die CPU die erste Adresse ($0000) auf. Der Inhalt geht über den Datenbus

11 11 zu der CPU. Jeder Befehl besteht aus mehreren Bytes. Das erste Byte enthält immer den Operationscode, der dem Rechenwerk sagt, welche Operation auszuführen ist. Weiterhin gibt das erste Byte über die Länge des Befehls Auskunft. Erst wenn der gesamte Befehl gelesen ist, führt der Controller ihn aus. Dies kann unter anderem Lesen / Schreiben in Speicher oder Ausführen von Rechenoperationen sein. In den folgenden Byte/s stehen die Adressen oder die Register, die angesprochen werden sollen. Nach der Ausführung des Befehls holt die Ablaufsteuerung den nächsten Befehl aus dem Programmspeicher. Ist der letzte Befehl im Programmspeicher bearbeitet beginnt die CPU wieder bei der ersten Adresse ($0000), soweit keine anderen Sprünge oder Schleifen programmiert sind. 2.3 Die Ein- / Ausgabeports (I/O-Ports) Alle Ports der AVR-RISC Controller verfügen über 8 Bit breite, bi-direktionale I/O-Ports. Bei dem AT90S1200 sowie dem AT90S2313 ist der Port D jedoch nur mit 7 Bit breit, da das Gehäuse nur 20 Anschlüsse hat. Bidirektional bedeutet, dass jeder Pin eines Ports als Ein- sowohl auch als Ausgang verwendet werden kann. In der Funktion als Eingang kann ihm nach Bedarf auch ein Pull-Up-Widerstand zugeschaltet werden kann. Jeder einzelne Port des Controllers wird über drei I/O-Bereiche des SRAMs angesprochen. Die Tabelle (siehe Anlage) zeigt welche Register erforderlich sind, sowie deren Adresse. Initial zeigt den Wert des Registers nach einem Reset an. Jeder I/O-Pin ist nach dem gleichen Prinzip aufgebaut Pull-Up- Widerstand RD TD interner Datenbus S1 DDXn S2 PortXn S3 TL PinX TP RL RP Bild 5: Prinzipschaltung eines I/O-Pins

12 Das Datenrichtungsregister Im Datenrichtungsregister (DDX) wird festgelegt, ob die einzelnen Pins eines Ports als Ein- oder Ausgang arbeiten sollen. Steht in einem Bit (n) im Datenrichtungsregister eine 0 so ist der Pin als Eingang konfiguriert. Bei einem Eingang ist der Schalter S3 geöffnet und trennt den Pin von seinem dazugehörigem Port. Der Schalter S1 (Öffner) ist geschlossen, dadurch wird der Pull- Up-Widerstand an den Pin geschalten, falls der Schalter S2 durch ein High am Ausgang von seinem Port geschlossen ist. Wird in ein Datenrichtungsregister-Bit eine 1 eingeschrieben, so wird der entsprechende Pin als Ausgang festgelegt. S3 ist dann geschlossen und verbindet den jeweiligen Port mit seinem dazugehörigen Pin. Der Öffner S1 ist offen und trennt den Pull-Up-Widerstand vom Pin, unabhängig vom Schalter S Das Portregister In das eigentliche Port-Register (PortX) wird bei einer Ausgangskonfiguration der auszugebende Wert eingeschrieben. Ist der Pin als Eingang konfiguriert, besteht die Möglichkeit den internen Pull-Up-Widerstand einzuschalten. Der Schalter S2 ist dann geschlossen Das Eingangs-Pin-Register Mit Hilfe dieses Registers kann man die logischen Pegel eines Pins (PinX) einlesen. Um die Inhalte auszulesen, aktiviert die Steuerlogik die Signale RD (Read Direction), RL (Read Latch) bzw. RP (Read Pin), die den jeweiligen Wert über den entsprechenden Treiber TD, TL bzw. TP auf den internen Datenbus schalten.

13 13 3 Programmerstellung Programme für Mikrocontroller können in mehreren Programmiersprachen erstellt werden. Es steht unter anderem C, Basic oder Assembler zur Verfügung. Es soll die Assemblersprache näher erläutert werden. 3.1 Einfache Assemblerbefehle Einige Assemblerbefehle, mit denen man schon viele Anwendungsaufgaben lösen kann. Befehl Funktion and Rd, Rr Der Inhalt des Registers Rr wird mit dem Inhalt des Registers Rd UND-verknüpft. Das Ergebnis wird in Rd gespeichert. Andi Rd, K8 Der Inhalt des Registers Rd wird mit der 8 Bit - Konstanten K8 UNDverknüpft. Das Ergebnis wird in Rd gespeichert. in Rd, P Der Inhalt des I/O-Ports P wird in das Register Rd geladen. ldi Rd, K8 Der Inhalt von einer 8 Bit - Konstanten K8 wird in das Register Rd geladen. Nop Einen Systemtakt warten. or Rd, Rr Rr wird mit Rd Oder verknüpft. Das Ergebnis wird in Rd gespeichert. ori Rd, K8 Der Inhalt des Registers Rd wird mit der 8 Bit - Konstanten K8 ODERverknüpft. Das Ergebnis wird in Rd gespeichert. out P, Rr Der Inhalt von dem Register Rr wird in den I/O-Port P geladen. rjmp Label Relativer Sprung auf Label Tab. 2: Einfache Assemblerbefehle 3.2 Port als Ausgang Befehl.include "2313def.inc Erklärung ;Diese Datei wird an jedem Prgrammanfang ;eingebunden, damit wird dem Makro-Assembler ;(Übersetzungsprogramm, der den Code in ;Maschinencode übersetzt) mitgeteilt um welchen ;Controller es sich handelt.

14 14 ldi r16, 0xFF ;0xFF in das Arbeitsregister 16 laden out DDRB, r16 ;Der Inhalt des Arbeitsregisters 16 wird nun in das ;Datenrichtungsregister von Port B ausgegeben. Alle ;Pins an Port sind nun als Ausgang konfiguriert. ldi r16, 0b ;0b wird in das Arbeitsregister r16 geladen out PORTB, r16 ;Der Inhalt des Arbeitsregisters r16 wird an das ;Portregister von Port B übergeben. ende: rjmp ende ; Es wird ein Sprung zur Marke Ende gemacht, da ;sonst der Controller immer wieder von vorn beginnen ;würde. 3.3 Port als Eingang Befehl.include "2313def.inc ldi r16, 0x00 out DDRD, r16 ldi r16, 0xFF out DDRB, r16 Erklärung ;Diese Datei wird an jedem Prgrammanfang ;eingebunden, damit wird dem AVR-Assembler ;(Übersetzungsprogramm in Maschinencode) ;mitgeteilt um welchen Controller es sich handelt. ;In das Arbeitsregister 16 wird 0x00 geladen. ;In das Portregister von Port D wird r16 gegeben. ;Damit ist Port D als Eingang konfiguriert. ;In das Arbeitsregister 16 wird 0xFF geladen ;In das Portregister von Port B wird r16 gegeben. ;Damit ist Port B als Ausgang konfiguriert. marke1 : in r16, PIND ; Die Zustände an den Pins von Port D ;(Signalgeber) werden in das Arbeitsregister 16 ;geladen. out PORTB, r16 ; Das Arbeitsregister 16 wird an den Port B ;gegeben, damit liegt an den Ausgangspins ;Spannung an, wenn am jeweiligen Eingangspin ;Spannung anliegt.

15 15 rjmp marke1 ; Es wird wieder zur Marke 1 gesprungen, denn die ;Zustände an den Datenrichtungsregistern bleibt ;erhalten und muss nicht neu eingeschrieben ;werden. 3.4 Programmentwicklung Zum Abschluss soll der Weg vom Assemblerprogramm bis hin zum endgültigen Betrieb des Mikrocontrollers beschrieben werden. Zunächst wird das Programm in einem Editor per Tastatur eingegeben. Ein Editor der das geschriebene Assemblerprogramm als reine *.txt Datei speichert ist vollkommen ausreichend. Nach dem Speichern des Assemblerprogramms wird dieses Programm mit Hilfe eines Makroassemblers in die Maschinensprache übersetzt. Es ist darauf zu achten das in der gespeicherten *.txt Datei der reine ASCII Code steht, also ohne Textformatierungen, denn die Textformatierungen würden von dem Makroassembler mit übersetzt werden. Dies hat eine Fehlfunktion des Programms zur Folge. Der Makroassembler wird nach dem Übersetzten Dateien erstellen, die *.lst-datei ( Programmlisting ), die *.obj-datei und die *.hex Datei, das eigentliche Maschinenprogramm in unterschiedlichen Formaten, das später in den Flash-ROM gespeichert wird. Mit Hilfe *.obj-datei kann man jetzt im Simulator das komplette Programm testen. Zur Auffindung von Fehlern im Programm enthält der Simulator einen Debugger, dieser ermöglicht eine Fehlererkennung des Programms, bevor in es den Mikrocontroller gespeichert wird. Nach der dieser Programmierung und Überprüfung des Programms muss die *.hex-datei in den Controller übertragen werden. Die parallele oder serielle Schnittstelle des Computers und der entsprechende Programmieradapter wird zur Übertragung der Daten verwendet. Das Programm befindet sich nun im Flash-Speicher des AVR-Mikrocontroller. Letztendlich wird nun eine Inbetriebnahme des Systems durchgeführt und das System ist betriebsbereit.

16 16 4 Quellenverzeichnis Bücher: Autor, Titel, Ort, Verlag, Jahr [1] Wolfgang Trampert, AVR-RISC Mikrocontroller, Poing, Franzis Verlag, 2000 [2] Bernd-Dieter Schaaf Mikrocomputertechnik, München, Hanser Verkag, 1999 Software: Name, Version, Typ, Hersteller [3] wavrasm, Vers. 1.3, Assembler, Atmel [4] AVR-Studio, Vers.2.0, Simulator, Atmel Internetquellen: Autor, Adresse [5] ATMEL Cooperation, [6] Andreas Schwarz, Bilder: Nummer, Bezeichnung, Quelle, Seite Bild 1: Prinzipaufbau eines AVR-RISC-Mikrocontroller, Buch: AVR-RISC Mikrocontroller, 5 Bild 2: Eingangspinanschluss bei externem Pull-Up-Widerstand, 9 Bild 3: Eingangspinanschluss bei internem Pull-Up-Widerstand, 9 Bild 4: Ausgangspinanschluss, 9 Bild 5: Prinzipschaltung eines I/O-Pins, Buch: AVR-RISC Mikrocontroller, 12 Bild 6: PDIP-Gehäuse, 21 Bild 7: PLCC-Gehäuse, 21

17 17 Tabellen: Nummer, Bezeichnung, Quelle, Seite Tab. 1: EEPROM-Control-Register, 10 Tab. 2: Einfache Assemblerbefehle, Buch: AVR-RISC Mikrocontroller, 14 Tab. 3: Funktion des einzelnen Anschlusspins, Buch: AVR-RISC Mikrocontroller, 20/21 Tab. 4: relevanten I/O-Register für die I/O-Ports, 22

18 18 5 Selbständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst und keine anderen Hilfsmittel als angegeben verwendet habe. Insbesondere versichere ich, dass ich alle wörtlichen und sinngemäßen Übernahmen aus anderen Werken als solche kenntlich gemacht habe. Ort, Datum: Ullersreuth, 28. Februar 2002 Unterschrift:

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

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

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

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie Programmierung in Assembler und C - Schaltungen und Anwendungen von Prof. Dipl.-Ing. Günter Schmitt 4., korrigierte Auflage Oldenbourg Verlag

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Mit Mikrocontrollern der Familie 8051 von Bernd-Dieter Schaaf 5., aktualisierte Auflage Hanser München 2010 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 41761 8 Zu Leseprobe

Mehr

Mikrocomputertechnik

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

Mehr

Mikrocomputertechnik

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

Mehr

Das Attiny-Projekt Assemblieren 1

Das Attiny-Projekt Assemblieren 1 Das Attiny-Projekt Assemblieren 1 Assemblieren Um die Funktionsweise eines Assemblers besser verstehen zu können, wollen wir ein kleines Assemblerprogramm einmal von Hand assemblieren. Als Beispiel wählen

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

Wolfgang Trampert AVR-RISC. MikroController. Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen

Wolfgang Trampert AVR-RISC. MikroController. Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen Wolfgang Trampert AVR-RISC MikroController Architektur, Hardware-Ressourcen, Befehlsvorrat, Programmierung, Applikationen Mit 200 Abbildungen und 47 Tabellen 2. Auflage Franzis 9 Inhalt Einführung 13 1.1

Mehr

Core und Speicher des ATmega16

Core und Speicher des ATmega16 Ausarbeitung Core und Speicher des ATmega16 Verfasst von: Daniel Dünker Quellen: http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf Inhaltsverzeichnis 1.Allgemeines (S. 3) 2.Die Alu (S. 4) 3.Das

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

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

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

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Aktuelle Controller 8051: Funktionsweise, äußere Beschaltung und Programmierung von Bernd-Dieter Schaaf, Stephan Böcker 6., aktualisierte und erweiterte Auflage Hanser München 2012

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

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

AVR-Mikrocontrollertechnik

AVR-Mikrocontrollertechnik 1/31 Ziele der Weiterbildung Vermitteln von Grundlagen zu den AVR Controllern Vermitteln von Assembler Grundlagen Vorstellen der benötigten Hard und Software Eigenständiges Programmieren der Controller

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

Handbuch Digi-Prog. Revision 1.0. Copyright c Welzel GbR Steinstrasse Giessen

Handbuch Digi-Prog. Revision 1.0. Copyright c Welzel GbR Steinstrasse Giessen Copyright c Welzel GbR Steinstrasse 56 35390 Giessen 16. August 2003 Inhaltsverzeichnis 1 Einleitung 1 2 Hardware-Beschreibung 1 2.1 Programmierstecker.......................... 2 2.2 SUB-D Buchse............................

Mehr

Ansteuerung eines LCD-Screens

Ansteuerung eines LCD-Screens Ansteuerung eines LCD-Screens Marcel Meinersen 4. Mai 2013 Marcel Meinersen Ansteuerung eines LCD-Screens 4. Mai 2013 1 / 27 Inhaltsverzeichnis 1 Allgemeines Was ist ein LCD-Screen? LCD 162C LED Marcel

Mehr

Mikrocontroller. Vortrag von Louis Liedtke. 8. Dezember Fakultät Elektrotechnik und Informatik. Bild 1: Atmel ATmega8

Mikrocontroller. Vortrag von Louis Liedtke. 8. Dezember Fakultät Elektrotechnik und Informatik. Bild 1: Atmel ATmega8 Mikrocontroller Bild 1: Atmel ATmega8 Vortrag von 8. Dezember 2015 Gliederung 1. Begriffserklärung 2. Besondere Merkmale 3. Aufbau und Arbeitsweise 4. Programmierung 5. Nutzen 6. Fazit 2 1. Begriffserklärung

Mehr

Parallel-IO. Ports am ATmega128

Parallel-IO. Ports am ATmega128 Parallel-IO Ansteuerung Miniprojekt Lauflicht Ports am ATmega128 PortE (PE7...PE0) alternativ, z.b. USART0 (RS232) 1 Pin von PortC Port C (PC7...PC0) 1 Parallel-IO-Port "Sammelsurium" verschiedener Speicher

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

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller Mini- Mikroprozessor-Experimentier-System mit einem 8051-Mikrocontroller Version 1.0b vom 04.10.2004 14:21 Inhalt 1 Einleitung...3 2 Hardware...4 2.1 Übersicht...4 2.2 Mikrocontroller AT89C51RB2...5 2.3

Mehr

Das Attiny-Projekt Der Bootloader 1

Das Attiny-Projekt Der Bootloader 1 Das Attiny-Projekt Der Bootloader 1 Der Bootloader Bei unserer Attiny-Platine werden die Programme über die serielle Schnittstelle übertragen. Grundsätzlich wäre es möglich, hierzu auf die im Attiny-Mikrocontroller

Mehr

8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften

8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften 8. SPS Komponenten: Beschreibung der Hardware-Komponenten einer SPS samt deren Eigenschaften Automatisierungsgerät: Zentralbaugruppe mit Prozessor Kommunikationsbaugruppe (Feldbusanschaltung) Bussysteme

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

Mikroprozessor (CPU)

Mikroprozessor (CPU) Mikroprozessor (CPU) Der Mikroprozessor (µp) ist heutzutage das Herzstück eines jeden modernen Gerätes. Er wird in Handys, Taschenrechnern, HiFi-Geräten und in Computern, für die er eigentlich erfunden

Mehr

4.0 Der Atmel AT89LPx052 Mikrocontroller

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

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

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

Aufbau eines Taschenrechners

Aufbau eines Taschenrechners siehe Skizze Aufbau einer Waage siehe Skizze Speichermöglichkeit Aufbau eines Taschenrechners Speichermöglichkeit Adressbus 65536 (2 16 ) (2 wegen der Zustände =aus und 1=an) => 65536 Möglichkeiten =>

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

Abschlussklausur Informatik, SS 2012

Abschlussklausur Informatik, SS 2012 Abschlussklausur Informatik, SS 202 09.07.202 Name, Vorname: Matr.-Nr.: Unterschrift: Zugelassene Hilfsmittel: außer Stift und Papier keine Hinweis: Geben Sie bei allen Berechnungen den vollständigen Rechenweg

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

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

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden USB > I2C- Bus Modul Info Das USB > I2C-Bus Modul stellt eine Verbindung zwischen einen PC und dem I2C-Bus her. Über ein Terminal Programm können nun Daten zum I2C-Bus gesendet und vom I2C-Bus empfangen

Mehr

Wer möchte, kann sein Programm auch auf echter Hardware testen

Wer möchte, kann sein Programm auch auf echter Hardware testen U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

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

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

Vorwort 8. Kap. 1: Grundlagen 10

Vorwort 8. Kap. 1: Grundlagen 10 Inhaltsverzeichnis Vorwort 8 Kap. 1: Grundlagen 10 1.1 Analogie zwischen der Spieluhr und einem Prozessor 10 1.2 Unterschiede zwischen Mikroprozessor und Spieluhr 11 1.3 Die Programmierung eines Mikroprozessors

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

Mikrocomputertechnik

Mikrocomputertechnik J. Walter Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Mit 146 Abbildungen und 50 Tabellen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

Mehr

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel Prozessorarchitektur Kapitel - Wiederholung M. Schölzel Wiederholung Kombinatorische Logik: Ausgaben hängen funktional von den Eingaben ab. x x 2 x 3 z z = f (x,,x n ) z 2 z m = f m (x,,x n ) Sequentielle

Mehr

Mikrocomputertechnik mit der 8051-Controller-Familie

Mikrocomputertechnik mit der 8051-Controller-Familie Mikrocomputertechnik mit der 8051-Controller-Familie Hardware, Assembler, C Bearbeitet von Jürgen Walter Neuausgabe 2008. Buch. xiii, 311 S. ISBN 978 3 540 66758 2 Format (B x L): 15,5 x 23,5 cm Weitere

Mehr

WS 2016/17 Viel Erfolg!!

WS 2016/17 Viel Erfolg!! Hochschule München FK03 Zugelassene Hilfsmittel: alle eigenen, Taschenrechner Komponenten & Programmierung von Automatisierungssystemen Matr.-Nr.: Name, Vorname: Hörsaal: Unterschrift: Seite 1 von 11 Prof.

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

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

Grundlegendes zum PC

Grundlegendes zum PC Grundlegendes zum PC Grundsätzlicher Aufbau eines PC Bild eines PC Beschreibung Eingabegeräte Ausgabegeräte Speicher Sonstige Bild eines PC Beschreibung Sind alle gleich die PC Sind in 3 bereiche eingeteilt:

Mehr

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet

I2C-006 DATASHEET I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE. Dokument NR.: I2C-006_Datasheet I2C-006 DATASHEET Dokument NR.: I2C-006_Datasheet I2C-006 V1.00: 1K EEPROM MODUL MIT TWI (I 2 C) SCHNITTSTELLE P Bitte denken Sie an die Umwelt, bevor Sie diese Datei ausdrucken Modification History: Version

Mehr

Mikrocontroller - Schnelleinstieg

Mikrocontroller - Schnelleinstieg Mikrocontroller - Schnelleinstieg Am Beispiel des Atmel Mega8 Philipp Fabian Benedikt Maier Mikrocontroller Schnelleinstieg Seite 1 Mikrocontroller - Schnelleinstieg: - Was ist ein Mikrokontroller? - Welche

Mehr

Der von Neumann Computer

Der von Neumann Computer Der von Neumann Computer Grundlagen moderner Computer Technologie 1 Der moderne Computer ein weites Spektrum Typ Preis Anwendungsbeispiel embeded Computer 10-20 $ in Autos, Uhren,... Spielcomputer 100-200$

Mehr

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen 4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen Ein Rechner besteht aus den folgenden Bestandteilen: Rechenwerk Rechenoperationen wie z.b. Addition, Multiplikation logische Verknüpfungen

Mehr

HD44780-LC-Display am Atmel-AVR Mikrocontroller

HD44780-LC-Display am Atmel-AVR Mikrocontroller Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung / Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier HD44780-LC-Display am Atmel-AVR

Mehr

Die HAM. Die Hypothetische Akku-Maschine

Die HAM. Die Hypothetische Akku-Maschine Die HAM Die Hypothetische Akku-Maschine Inhaltsverzeichnis 1 Die Ham 1.1 Überblick 1.2 Hardware Funktion der HAM 1.3 Der Assembler-Befehlssatz Addition zweier Zahlen 1.4 Der HAM-Editor Addition zweier

Mehr

Mikrocomputertechnik

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

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

FPGA vs. Mikrocontroller. Agenda

FPGA vs. Mikrocontroller. Agenda FPGA vs. Mikrocontroller Name: Jan Becker Matrikelnummer: 546508 Agenda - Kurzvorstellung eines FPGAs - Komponenten eines FPGAs - Programmierung eines FPGAs - Kurzvorstellung eines Mikrocontrollers - Komponenten

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

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

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

Mehr

Einführung Microcontroller

Einführung Microcontroller 18. Januar 2011 Inhaltsverzeichnis 1 Einleitung 2 3 4 5 Was ist eigentlich ein Microcontroller? Microcontroller - Was ist das? Microcontroller enthalten: integrierte und gleichzeitig programmierbare Schaltungen,

Mehr

Technische Dokumentation

Technische Dokumentation Mit dem Erweiterungsmodul wird ein System mit einem Multitaskingcomputer der BASIC- Tiger TM Familie um 64 Ein- und Ausgänge erweitert. Das Modul bietet sechs 8-Bit I/O Ports, dessen Bits einzeln als Eingang

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

Aufgaben zur Attiny-Platine

Aufgaben zur Attiny-Platine Das Attiny-Projekt Aufgaben 1 Aufgaben zur Attiny-Platine 1. LEDs blinken 1.1 Schließen Sie eine rote LED an PortB.0 und eine grüne LED an PortB.1 an (vgl. Abb. 1). Achten Sie dabei darauf, dass die langen

Mehr

F4 Fuse- und Lock-Bits

F4 Fuse- und Lock-Bits Im AVR gibt es eine Reihe von programmierbaren Schaltern, die wichtige Eigenschaften des Controller festlegen. Diese Schalter können nur mit dem Programmiergerät verändert werden (Ausnahme: Bootloader

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

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Fachschaft Informatik Informatik 12 Kapitel 3 - Funktionsweise eines Rechners Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/36 Inhaltsverzeichnis I 1 Komponenten eines PCs

Mehr

1. Allgemein Befehle... 3

1. Allgemein Befehle... 3 Inhalt 1. Allgemein... 2 2. Befehle... 3 2.1. GET... 3 2.1.1. SPEED... 3 2.1.2. SDA, SCL, INT... 3 2.1.3. VERSION... 3 2.1.4. PULLUP... 3 2.2. SET... 4 2.2.1. SPEED... 4 2.2.2. SDA, SCL, INT... 4 2.2.3.

Mehr

Schritt Aktion Erläuterung 1 UBRR auf 25 setzen Baudrate auf 9600 TXEN-Bit von UCSRB auf 1 setzen

Schritt Aktion Erläuterung 1 UBRR auf 25 setzen Baudrate auf 9600 TXEN-Bit von UCSRB auf 1 setzen Das Attiny-Projekt Unterprogramme in Assembler 1 Unterprogramme Unterprogramme haben wir schon im Zusammenhang mit BASCOM kennen gelernt. Auch Assemblerprogramme können durch Unterprogramme strukturiert

Mehr

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128

Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega128 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Inhaltsverzeichnis VII

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

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

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

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

Ein- / Ausgabe- Ports

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

Mehr

EEPROM Lesen/Schreiben über SPI-Bus

EEPROM Lesen/Schreiben über SPI-Bus EEPROM Lesen/Schreiben über SPI-Bus Experiment EEPROMtest 6 A.Schultze / DK4AQ 15.06.2013 Was ist ein EEPROM? EEPROM = Electrical Erasable Programmable Read Only Memory Ein EEPROM kann elektrisch geschrieben

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

myavr Programmierung in C

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

Mehr

Elektronischer Speicher

Elektronischer Speicher Halbleiterspeicher Halbleiterspeicher dient der zeitlich begrenzten oder unbegrenzten Aufbewahrung von Daten, Zuständen und Programmen in Form von digitalen Signalen. Der Begriff resultiert aus dem Grundwerkstoff

Mehr

C++ mit dem Arduino (Uno und Mega2560)

C++ mit dem Arduino (Uno und Mega2560) C++ mit dem Arduino (Uno und Mega2560) 1. Toolchain Als toolchain bezeichnet man die Reihe von Software, die nötig ist um den Prozessor zu programmieren, das Ergebnis draufzuladen und dann zu testen. Hier

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

Praktikum Mikrocomputertechnik. Anleitung

Praktikum Mikrocomputertechnik. Anleitung Praktikum Mikrocomputertechnik Anleitung Im Praktikum wird der Mikrocontroller 68332 von Motorola verwendet. Dieser Mikrocontroller besteht aus einer 32-Bit CPU und integrierten Peripheriebausteinen (ser.

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 III: Wat macht ene Mikrokontroller?

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

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

BOOTLOADER für AVR-Entwicklungsmodule

BOOTLOADER für AVR-Entwicklungsmodule BOOTLOADER für AVR-Entwicklungsmodule mit ATxmega128A1 mit ATxmega256A3 Verzeichnis 1. Einleitung 3 2. Einstellungen 4 2.1. Fuse Bits 4 2.2. AVROSP Programm 5 2.2.1. Erläuterung der BAT-Dateien 5 2.2.2.

Mehr

Inhalt. Aufgabe 4: LED-Modul Hinweise Testen des Moduls Sommersemester 2015

Inhalt. Aufgabe 4: LED-Modul Hinweise Testen des Moduls Sommersemester 2015 Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker () Übung 4 Ablauf vom Quellcode zum laufenden Programm Active-high & Active-low Hinweise Sommersemester 2015

Mehr

C++ mit dem Arduino (Uno und Mega2560)

C++ mit dem Arduino (Uno und Mega2560) C++ mit dem Arduino (Uno und Mega2560) 1. Toolchain Als toolchain bezeichnet man die Reihe von Software, die nötig ist um den Prozessor zu programmieren, das Ergebnis draufzuladen und dann zu testen. Hier

Mehr

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung

Mehr

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Prinzipieller Aufbau und Funktionsweise eines Prozessors Prinzipieller Aufbau und Funktionsweise eines Prozessors [Technische Informatik Eine Einführung] Univ.- Lehrstuhl für Technische Informatik Institut für Informatik Martin-Luther-Universität Halle-Wittenberg

Mehr

Digitaltechnik II SS 2007

Digitaltechnik II SS 2007 Digitaltechnik II SS 27 7. Vorlesung Klaus Kasper Inhalt Register Halbleiterspeicher Random Access Memory (RAM) SRAM DRAM ROM Programmierbare ROM Realisierung digitaler Systeme Digitaltechnik 2 2 Digitaltechnik

Mehr

PicAxe M2 - Das Speicherkompendium. Ausgabe Matthias Heuschele / SSE

PicAxe M2 - Das Speicherkompendium. Ausgabe Matthias Heuschele / SSE PicAxe M2 - Das Speicherkompendium Alles über RAM, Eeprom & Lookup-Table der PicAxe M2 Typen Ausgabe 03-2017 Matthias Heuschele / SSE Das Speicherkompendium zur PicAxe M2 Inhaltsverzeichnis Der PicAxe

Mehr

Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing.

Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing. Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing. Harald Swoboda 1 Einleitung...2 2. Installation und Programmstart...3 3. WinMaster

Mehr