BUCHDETAILS
BASCOM-AVR.de 

ATMEL-AVR
AVR-RISC-Mikrocontroller

Wolfgang Trampert

Preis: 65,45 € zzgl. Verpackung und Versand

 

Dieses AVR Buch beschreibt in sehr anschaulicher und ausführlicher Form die Architektur, den inneren Aufbau, die Hardware-Ressourcen und den Befehlsvorrat der Atmel AVR Controller. Der Leser wird durch dieses Buch in die Lage versetzt, eigene Schaltungen mit diesen in fortschrittlichster RISC- Architektur entwickelten Controllern zu realisieren und eigene Programme dafür zu entwerfen und auszutesten. Vorkenntnisse sind hier von Vorteil.

Wolfgang Trampert


1. Auflage , 1999
Deutsch , 462 Seiten
broschiert , inkl. 1 CD
ISBN: 3-7723-5475-0
Bestellung: Regulär

 


Beschreibung

Vorwort

Seit der Markteinführung des ersten industriell auf breiter Front eingesetzten Mikroprozessors des 8080 der Firma Intel hat sich die Entwicklung der zukünftigen Generationen in zwei Hauptrichtungen gegabelt. Auf der einen Seite finden wir die Hochleistungsprozessoren, wie den Pentium der Firma Intel oder die 680x0 Familie von Motorola, die ihren Einsatz in Personalcomputern, Workstations und wissenschaftlichen Rechenanlagen finden und in der CISC Architektur (CISC = Complex Instruction Set Computer, d.h. Computer mit komplexem Befehlssatz) realisiert sind. Auf der anderen Seite zeichnete sich schnell ein großer Bedarf an einfacheren Controllern ab, bei denen es mehr auf kompakten Aufbau als auf enormen Befehlsdurchsatz ankommt.

So brachte die Firma Intel bereits 1976 den 8048 auf den Markt, einen Single Chip Mikrocontroller, bei dem IK Byte Befehlsspeicher (ROM), 64 Byte Schreib /Lesespeicher (RAM), 27 In /Out Ports, ein 8 Bit Timer, die Interrupt und Resetlogik und der Quarzoszillator auf einem einzigen Chip integriert sind.

Während also bei Hochleistungsprozessoren wie dem Pentium die allerdings auch auf ein ganz anderes Marktsegment zielen eine große Anzahl externer Komponenten wie Bootstrap ROM, RAM als Arbeitsspeicher, Festplatte als Programmspeicher, Timer, Interruptlogik etc. benötigt werden, die allesamt im jeweiligen Gerät untergebracht sein müssen, sind bei den Single Chip Controllern keine weiteren Elemente für deren Betrieb nötig.

Auch im Preis zeichnet sich ein deutlicher Unterschied ab. Während Prozessoren wie der Pentium bedingt durch den komplexen Aufbau und den aufwendigen Herstellungsprozeß zu einem Stückpreis von mehreren hundert Dollar gehandelt werden, bewegen sich Single Chip Controller in einer Preisspanne zwischen einem und 25 Dollar.

Eingesetzt werden Single Chip Controller in einem breiten Spektrum, das von »intelligenten« Meßgeräten, Fotoapparaten und Videokameras, Druckern, Scannern und Kopierern über die Erzeugnisse der Unterhaltungselektronik bis zu allen möglichen Haushaltsgeräten wie dem bereits sprichwörtlichen »Waschmaschinenprozessor« reicht.

Betrachtet man die breit gestreuten Einsatzgebiete und die damit verbundenen hohen Stückzahlen verkaufter Single Chip Controller, so ist es nicht verwunderlich, daß praktisch jeder größere Halbleiterhersteller seine eigenen »Typen« auf dem Markt anbietet. Trotzdem hat sich in den achtziger Jahren ein 8 Bit Prozessor auf dem Markt deutlich durchzusetzen verstanden der 8051 der Firma Intel mit allen seinen Derivaten. Und trotz der Konkurrenz durch die inzwischen auf dem Markt eingeführten 16 Bit Controller hält er vorerst auch weiterhin diesen Spitzenplatz, allerdings in letzter Zeit deutlich bedrängt von der neuen Generation der 8 Bit RISC Controller (RISC = Reduced Instruction Set Computer, d.h Computer mit reduziertem Befehlssatz), wie der PIC Familie des Herstellers MICROCHIP und eben der AVR Familie der Firma ATMEL, die in diesem Buch ausführlich behandelt wird.

Bereits im voraus läßt sich sagen, daß ATMEL durch die Kombination eines leistungssparenden CMOS Herstellungsprozesses mit einer fortschrittlichen RISC Architektur und im System programmierbaren Flash EPROM eine sehr effiziente Lösung für alle denkbaren On Board Controlling Aufgaben entwickelt hat und neue Maßstäbe im Preis / Leistungsverhältnis setzt.

Dieses Buch wendet sich an Entwickler, Studenten, Ingenieure und Dozenten, Schüler und Auszubildende der elektrotechnischen Berufe und an engagierte Hobbyelektroniker kurz gesagt an alle, die bereits ein gewisses Grundwissen über Aufbau und Funktion von Mikrocomputern mitbringen und die neue Generation von AVR Single Chip Controllern kennen und verstehen lernen, eigene Ideen erfolgreich umsetzen und den Zug in die technologische Zukunft nicht verpassen wollen.

Für die freundliche Unterstützung bedanken möchte ich mich bei Herrn Bob Henderson und Herrn Gunter Kießig von Atmel und vor allen Dingen bei Herrn Ingo Schwined vom deutschen Atmel Distributor Venterc der mich beim Schreiben dieses Buches mit viel Engagement nach besten Kräften unterstützt hat, sowie bei all den Leuten, die zum Erscheinen dieses Buches beigetragen haben und die ich hier nicht alle namentlich erwähnen kann.

Besonders danke ich auch Herrn Günther Wahl vom Franzis' Verlag für das mir entgegengebrachte Vertrauen und die gute Zusammenarbeit.

Für Anregungen und Verbesserungsvorschläge aus dem Leserkreis zu meinem Buch werde ich Ihnen stets dankbar sein. Sollte der eine oder andere Leser einmal vor einem Problem stehen, für dessen Lösung sich der Einsatz eines AVR Controllers anbieten würde, lassen Sie es mich wissen. Falls Ihr Problem auch für andere Leser von Interesse sein könnte, finden Sie vielleicht in meinem nächsten AVR Buch einen Lösungsvorschlag nur haben Sie bitte Verständnis dafür, daß ich Ihre Anfragen nicht einzeln beantworten kann ich bräuchte dann wahrscheinlich nichts anderes mehr zu tun!

Und nun wünsche ich meinen Lesern viele Erfolgserlebnisse bei der Arbeit mit diesem Buch und der anschließenden Umsetzung der eigenen Ideen.

Wolfgang Trampe


Inhaltsverzeichnis

Inhalt

1 Einführung 13
1.1 Die RISC Architektur 13
1.2 Die Mitglieder der AVR Basic Line 16

2 Überblick 17
2.1 Grundlegende Leistungsmerkmale der AVR Familie 17
2.2 Blockschaltbilder des AT90S1 200 und des AT90S8515 21
2.3 Gehäusebauformen und Anschlußbelegung 23
2.4 Die Erzeugung des Systemtaktes (D der AVR Basic Line 25
2.4.1 Der integrierte Quarzoszillator der AVR Basic Line 26
2.4.2 Generierung des Systemtaktes durch den integrierten RC Oszillatorschaltkreis 26
2.5 Programmerstellung für AVR Controller in der Hochsprache C 27

3 CPU (Central Processing Unit) und Interne Speicher (On Chip Memory) 33

3.1 Systemsteuerung und ALU (Arithmetic Logic Unit) 33
3.2 Das statische RAM (SRAM) 33
3.2.1 Der Registerbereich 36
3.2.2 Der Ein /Ausgabe (l/0 ) Bereich 37
3.2.3 Das interne SRAM 42
3.2.4 Das externe SRAM 43
3.2.5 Der Stack der AVR Basic Line 46
3.3 Der Befehlsspeicher (Flash EPROM Technologie) 50
3.4 Der Speicher für nichtflüchtige Daten (EEPROM Technologie) 55
3.5 Die verschiedenen Adressierungsmöglichkeiten von Programm und Datenbereichen 63
3.5.1 Direkte Adressierung eines einzelnen Registers 63
3.5.2 Direkte Adressierung zweier Register Rd und Rr 64
3.5.3 Direkte Adressierung des 1/0 Bereichs 64
3.5.4 Direkte Adressierung des Datenspeichers (SRAM) 65
3.5.5 Indirekte Adressierung des Datenspeichers (SRAM) 66
3.5.6 Indirekte Adressierung eines Registers beim AT90S1200 67
3.5.7 Indirekte Adressierung des Datenspeichers mit Post Increment 68
3.5.8 Indirekte Adressierung des Datenspeichers mit Pre Decrement 69
3.5.9 Indirekte Adressierung des Datenspeichers mit Displacement 70
3.5.10 Adressierung von Konstanten im Programmspeicher 71
3.5.11 Direkte Adressierung des Programmspeichers (j mp und ca 11 Befehle) 72
3.5.12 Indirekte Adressierung des Programmspeichers (i imp und i ca 11 Befehle) 73
3.5.13 Relative Adressierung des Programmspeichers (rimp und rcal 1 Befehle) 74
3.6 RESET und Interrupt Verarbeitung 75
3.7 Die Ruhezustände (Sleep Modes) der CPU 88

4 Die Zeitgeber/Zähler (Timer/ Counter) der AVR Basic Line 91

4.1 Der Vorteiler (Prescafer) und die Timer Steuerlogik 91
4.2 Der 8 Bit Zeittigerer / Zähler T/CO 93
4.3 Der 16 Bit Zeitgeber / Zähler T/C1 95

5 Der Watchdog Timer 111
6 Asynchrone Datenübertragung über den UART
(Universal Asynchronous Receiver/Transmitter) 115
7 Synchrone Datenübertragung über das serielle periphere Interface (SPI) 129
8 Serielle Datenübertragung über den 12C _ BUS 141
9 Der Integrierte Analog Komparator 155
10 Die Ein /Ausgabeports (l/O Ports) 159
11 Die Programmlerung der Speicher 169

11.1 Der parallele Programmiermodus 171
11.2 Der serielle Programmiermodus 181

12 Der Befehlsvorrat 187

12.1 Übersicht der AVR Befehle 195
12.2 Beschreibung der AVR Befehle 207

13 Der Assembler 265
13.1 Installation des AVR Assernblers 269
13.2 Assernbler Syntax . 270
13.3 Die Bedienung des AVR Assernblers 271
13.4 Fehlersuche 273
13.5 Assernbler Direktiven 274
13.6 Ausdrücke (Expressions) 284
13.6.1 Operanden 285
13.6.2 Funktionen 285
13.6.3 Operatoren 286

14 Das AVR Studio ein Simulator zum Debugging eigener Programme 291

14.1 Installation des AVR Studios 291
14.2 Überblick 292
14.3 Die Fenster des AVR Studios 294
14.3.1 Das Source Window 294
14.3.2 Das Register Window 295
14.3.3 Das Processor Window 295
14.3.4 Die Mernory Windows 296
14.3.5 Das 1/0 Window 298
14.3.6 Das Watch Window 301
14.3.7 Das Trace Window 302
14.3.8 Das Message Window 302
14.4 Die Menüs des AVR Studios 302
14.4.1 Das Datei Menü 302
14.4.2 Das »Bearbeiten« Menü 303
14.4.3 Das Menü zur Steuerung des Programmablaufs 303
14.4.4 Das »Breakpoint« Menü 304
14.4.5 Das »Trace & Triggers« Menü 305
14.4.6 Das »Watch« Menü 305
14.4.7 Das »Options« Menü 306
14.4.8 Das »Views« Menü 306
14.5 Die 1/0 Module des Simulators 307

15 Das AVR Starter Kit STK200 zum Austesten und zur Programmierung selbsterstellter Software in den Speicher 309

15.1 Beschreibung der STK200 Hardware 310
15.1.1 Die Spannungsversorgung des STK200 311
15.1.2 Die Brown Out Erkennung des STK200 312
15.1.3 Die Funktion der Jumper des STK200 313
15.1.4 Die Port Anschlüsse des STK200 313
15.1.5 Die ISP Schnittstelle des STK200 315
15.1.6 Die RS232 Schnittstelle des STK200 315
15.1.7 Das LCD Interface des STK200 316
15.1.8 Der On Board Quarzoszillator des STK200 318
15.1.9 Die acht Anzeige LEDs auf dem STK200 318
15.1.10 Die acht Tastenschalter auf dem STK200 319
15.1.11 Die Erweiterung des RAM Speichers auf dem STK200 319
15.2 Die Software des STK200 319
15.2.1 Die Menüs der ISP Software 320
15.2.2 Die Symbolleiste der ISP Software 322

16 Applikationen der AVR Familie 323

16.1 Tools zur BCD Arithmetik 323
16.2 Grundlegende Ein /Ausgabe Operationen 331
16.3 Anschluß eines LCD Moduls 338
16.4 Ausgabe eines Impulses definierter Länge mittels T/CO 356
16.5 Software Autoreload für T/CO 359
16.6 Erzeugung einer quarzgenauen Frequenz von 50 Hz mit einem Tastgrad von 0,025 mittels T/C1 363
16.7 Ein 3 kanaiger D/A Wandler mit einer Auflösung von 10 Bit 367
16.8 Ein 4 kanaliger Dual Slope A/D Wandler mit einer Auflösung von 11 Bit mittels T/CI 380
16.9 Software Realisierung eines UARTs für den AT90S1 200 390
16.10 Anschluß des DAC Bausteins MAX5154 an einen AT90S8515 via SPI 399
16.11 Erweiterung der 1/0 Ports des AT90S4414 über die SPI Schnittstelle 407
16.12 Software Realisierung der SPI Schnittstelle für den AT90S1 200 zum Anschluß des A/D Wandlers TLVI 572 414
16.13 Betrieb des Temperatursensors LM75 über den 12C BUS 419
16.14 Betrieb des 4 Digit LED Treibers SAA1 064 über den 12C BUS 425
16.15 Ein AVR als 12C Master zur Ansteuerung der Slaves aus 16.13 und 16.14 429

17 Anhang 445
17.1 Charakteristische Daten und Grenzwerte der AVR Familie 445
17.2 Errata (von ATMEL dokumentierte Fehlfunktionen und Abhilfen) 445

Inhalt der mitgelieferten CD ROM 447

Adressen 451

Literaturverzeichnis 452

Stichwortverzeichnis 455

 


5047

AGB| Impressum | Home

Copyright (c) 2004 Marius Arnold Meissner