PIC-Microcontroller. Oldenbourg Verlag Munchen



Ähnliche Dokumente
PIC-Microcontroller. Oldenbourg Verlag München

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie

Mikrocomputertechnik mit dem Controller C167

Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie

Motivation und Überblick

Mikrocontrollerprogrammierung in Assembler und C

Datentypen: integer, char, string, boolean

Inhalt. Einführung in die Strukturierte Programmierung 15

Rechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden

Inhaltsverzeichnis VII

Inhaltsverzeichnis.

Informatik für Ingenieure

Inhaltsverzeichnis. Vorwort.11

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Dietrich Krekel Wolfgang Trier. Die Programmiersprache PASCAL

Grundkurs Software- Entwicklung mit C++

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

SPS S90U. 1. Grundlagen SPS Funktion

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

TURBO PASCAL VERSION 5.5

Handbuch für die Programmierung mit LabVIEW

Inhaltsverzeichnis VII.

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Andreas M. Böhm Bettina Jungkunz. Grundkurs IT-Berufe. Die technischen Grundlagen verstehen und anwenden können. Mit 302 Abbildungen.

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

MikroController der 8051-Familie

Mikrocomputertechnik

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Grundlagen der Informatik (I+II)

Michael Van Canneyt Florian Klämpfl. Free Pascal

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

2. Programmierung in C

Einführung in die Programmierung

Von-Neumann-Architektur

FRANZIS PC & ELEKTRONIK. Anne & Manfred König. Das große. 2. überarbeitete Auflage. PIC-Micro. Handbuch. Mit 103 Abbildungen

Mikrocomputertechnik mit der 8051-Controller-Familie

Mikrocomputertechnik

Programmieren in. Brian W. Kernighan Dennis M. Ritchie ANSIC. Mit dem C-Reference Manual in deutscher Sprache. Zweite Ausgabe

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

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Ein-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29

Einführung in die Microchip PIC-Controller vergleichende Betrachtung zu anderen Microcontrollern CLUG Matthias Kupfer

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

C programmieren. Jürgen Wolf

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

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

0. Einführung Hardware-Daten des Systems Software-Daten des Systems Aufbau eines Objektprogramms 0-13

Mikrocontrollertechnik

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Mikrocomputertechnik

G. Oetzmann. Commodore-Volkscomputer

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Inhaltsverzeichnis VII. Teil I: PC- und Mikrocomputer-Technik

Effektiv Programmieren in С und C++

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Programmentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]

Control Beispiel. Control wird als kombinatorische Schaltung realisiert. Hierzu die Wahrheitstabelle: Control

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Abschlussklausur Informatik, SS 2012

С als erste Programmiersprache

myavr Programmierung in C

Inhalt. Vorwort 13. Einleitung JavaScript-Grundlagen 17

Mikroprozessortechnik

Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe

Vorkurs Informatik WiSe 16/17

Hello World! Eine Einführung in das Programmieren Variablen

Vorwort 8. Kap. 1: Grundlagen 10

Grundlagen der Rechnerarchitektur. Einführung

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer

Helmut Bähring. Mikrorechner Technik. Übungen und Lösungen. Mit 78 Abbildungen und CD-ROM. Springer

Ulrich Kaiser C/C++ Von den Grundlagen zur professionellen Programmierung. Galileo Press

PIC16 Programmierung in HITECH-C

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien

Anwendungsentwicklung 2. Teil

Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Mikrorechentechnik 1. Organisation. Professur für Prozessleittechnik Wintersemester 2010/2011

Bert van Dam. PIC MikroController. 50 Projekte für Anfänger und Fortgeschrittene. Elektor-Verlag, Aachen

5. Übung - Kanalkodierung/Programmierung

Programmieren in C+ Einführung in den Sprachstandard C++ Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Programmieren lernen mit Perl

6. Grundlagen der Programmierung

ISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage

Transkript:

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 Vorwort 9 1 Einfuhrung 11 1.1 Grundlagen 12 1.1.1 Rechnerstrukturen 12 1.1.2 Rechenwerk und Registersatz 13 1.1.3 Zahlendarstellungen 18 1.1.4 Steuerwerk und Programmstrukturen 26 2 Die PlC-Controller 31 2.1 Die Struktur der PIC-Controller 32 2.1.1 Der RAM-Datenspeicher 33 2.1.2 Der Flash-Programmspeicher 35 2.1.3 Die Peripherie 37 2.2 Die Entwicklung von Software 38 2.3 Entwicklungssysteme 40 2.4 Einfiihrendes Assemblerbeispiel 42 3 Assembler fur PIC 10/12/16 47 3.1 Assembleranweisungen 51 3.2 Operationen 54 3.2.1 Byteoperationen 56 3.2.2 Bitoperationen 63 3.2.3 16bit Wortoperationen 65 3.3 Verzweigungen und Schleifen 67 3.4 Makroanweisungen und Pseudobefehle 73 3.5 Unterprogramme 76 3.6 Interrupt 80 3.7 Der Datenzugriffauf die Speicherbereiche 86 3.7.1 Der Flash-Programmspeicher 87 3.7.2 Die indirekte RAM-Adressierung 90

6 Inhalt 3.7.3 Die EEPROM-Adressierung 93 3.7.4 Die Flash-Adressierung (PIC 16F87x) 99 3.8 Die Systemsteuerung 103 3.9 Die Peripherieprogrammierung 105 3.9.1 Die Parallelschnittstellen 106 3.9.2 Der TimerO und der Watchdog Timer 108 3.9.3 Die serielle USART-Schnittstelle 113 3.9.4 Der Analog/Digitalwandler 118 3.10 Anwendungsbeispiele 122 3.10.1 Die ASCII-Zeichencodierung 122 3.10.2 Die dezimale Zahlenumwandlung 125 3.10.3 Taktunabhangige Warteschleifen 129 3.10.4 Die Multiplikation und Division 131 3.10.5 16bit Arithmetik 134 3.10.6 Die dezimale Ein/Ausgabe 138 3.11 DiePlC12-Familie 143 3.11.1 Die SFR-Steuerregister 145 3.11.2 Die Interruptsteuerung 146 3.11.3 Die Peripherieprogrammierung 147 4 Assembler der PIC 18-Familie 157 4.1 Operationen 159 4.1.1 Byteoperationen 160 4.1.2 Bitoperationen 169 4.1.3 Wortoperationen 170 4.2 Verzweigungen und Schleifen 172 4.2.1 Programmspeicher und unbedingter Sprung 173 4.2.2 Verzweigungsbefehle 175 4.2.3 Bedingte Vergleichsbefehle 177 4.2.4 Bedingte Bit-Testbefehle 179 4.2.5 Bedingte Schleifenbefehle 180 4.3 Makroanweisungen 183 4.4 Unterprogramme 185 4.5 Interrupt 190 4.5.1 Die nichtpriorisierte Interruptsteuerung 192 4.5.2 Die priorisierte Interruptsteuerung 193 4.5.3 Die externen Interrupts 195 4.6 Der Datenzugriff auf die Speicherbereiehe 203 4.6.1 Die indirekte RAM-Adressierung 204 4.6.2 Der Flash-LesezugrifT 209 4.6.3 Die EEPROM-Adressierung 213 4.6.4 Der Flash-Schreibzugriff 218

Inhalt 7 4.7 Die Systemsteuerung 223 4.8 Anwendungsbeispiele 227 4.8.1 Siebensegmentausgabe einer Digitaluhr 227 4.8.2 USART-Zeichenfunktionen 230 4.8.3 USART-Stringfunktionen 232 4.8.4 USART-Ausgabefunktionen fur Zahlen 234 4.8.5 USART-Eingabefunktionen fur Zahlen 238 4.8.6 Ausgabe auf einer LCD-Anzeige 244 5 Der Linker (Binder) 245 5.1 Assemblerdirektiven fur verschieblichen Code 247 5.2 Die Linkerskriptdatei 252 5.3 Das Binden von Objektdateien 253 6 C-Programmierung (PIC18) 257 6.1 Allgemeiner Aufbau eines C-Programms 264 6.1.1 Zeichensatz und Bezeichner 264 6.1.2 Datentypen, Konstanten und Variablen 265 6.1.3 Gultigkeitsbereich, Lebensdauer und Speicherzugriff. 268 6.1.4 Praprozessoranweisungen 270 6.1.5 Makro-Anweisungen und Funktionen 272 6.2 Operationen 275 6.2.1 Gemischte Ausdriicke 275 6.2.2 Arithmetische und logische Operationen 276 6.2.3 SFR-Register und Bitoperationen 279 6.2.4 Vergleichsoperationen, Bitbedingungen und Schalter 281 6.2.5 Zeiger und Operationen mit Zeigern 283 6.3 Programmstrukturen 285 6.3.1 Schleifenanweisungen 285 6.3.2 Verzweigungen mit bedingten Anweisungen 289 6.3.3 Anwendungsbeispiele 291 6.4 Zusammengesetzte Datentypen 297 6.4.1 Felder und Zeichenketten (Strings) 297 6.4.2 Strukturen und Bitfelder 303 6.4.3 Die Adressierung des EEPROM-Speichers 305 6.5 Funktionen 307 6.6 Die Eingabe und Ausgabe von Zahlen 311 6.6.1 Funktionen fur Zeichen und Texte 312 6.6.2 Funktionen fur die Ein/Ausgabe von Zahlen 316 6.6.3 Systemfunktion fur die Ein/Ausgabe 321 6.7 Die Interruptsteuerung 323

g Inhalt 7 Die PIC18-Peripherie 327 7.1 Die Parallelschnittstellen 330 7.2 Die Timereinheiten 334 7.2.1 Die Interruptsteuerung der Timer 335 7.2.2 DerTimerO 338 7.2.3 DerTimerl 341 7.2.4 DerTimer2 344 7.2.5 DerTimer3 347 7.2.6 Der Capture/Compare/PWM-Betrieb (CCP) 350 7.2.7 Der Watchdog Timer 361 7.3 Die serielle USART-Schnittstelle 362 7.4 Der Analog/Digitalwandler 372 7.5 Die Analogkomparatoren 377 7.6 Die serielle MSSP-Schnittstelle 382 7.6.1 Der SSP-Betrieb 383 7.6.2 Der I 2 C-Betrieb 388 8 Die PIClO-Familie 397 8.1 Die SFR-Register 398 8.2 Die Assemblerprogrammierung 401 8.3 Die Peripherie-Einheiten 404 9 Anhang 411 9.1 Literatur und Bezugsquellen 411 9.2 Abkiirzungen in den Registertabellen 412 9.3 Beiehlsliste der PIC16- und PlC12-Familie 413 9.4 BefehlslistederPIClS-Familie 414 9.5 Rangfolge der C-Operatoren (Auswahl) 416 9.6 C-Schlusselworter und -Anweisungen (Auswahl) 417 9.7 ASCII-Codetabellen (Schrift Courier New) 418 9.8 Sinnbilder fur Ablaufplane und Struktogramme 420 9.9 Liste der Assemblerbeispiele 421 9.10 Liste derc-programmbeispiele (PIC 18F2220) 422 10 Register 423