Sprachwahl
- Welche technische Probleme heutzutage auf der Ebene der Maschinenprogrammierung gelöst werden.
Bild 0-1: 64 an Port C schicken in C
- Obiges Programm macht das gleiche, wie das zuvor behandelte Assembler-Programm.
- Auch hier ist es in der Programm-Entwicklungsumgebung AVR-Studio dargestellt.
- Die Include-Datei sorgt für eine Vordefinition der Mikrocontroller-Register. hierdurch werden u.a. die Register PORTC und DDRC verfügbar gemacht.
- Durch Zuweisung eines Wertes von 255 (alle 8 Bit gesetzt) an das Register DDRC wird dafür gesorgt, dass alle Pins des Digitalen Ein- und Ausgangs Port C auf Ausgang geschaltet werden.
- Erst hiernach ist es möglich durch Zuweisung der 64 an das Register PORTC den Digitalen Ausgang PC6 bei Pin 28 auf 5V zu setzen.
- Hinweis: Intern werden Zahlen immer binär gespeichert. Zu welcher Zahlenbasis man im Programmcode die Zahlen hinschreibt, ist dabei völlig irrelevant und hängt nur von dem jeweiligen Erfordernis an die Lesbarkeit ab.
- In diesem Fall korrespondieren die Bits der 8-Bit-Zahlen der unsigned char-Variablen (Register) mit Pins (Beinchen) des AT,ega32.
- Somit liegt es nahe, die Binärdarstellung im Programm zu verwenden.
- Es gilt also im Programm: 13 ist das gleiche wie 0x0d, ist das gleiche wie 0b00001101
|
C oder Assembler ?
- In jedem Fall ist das C-Programm kompakter und übersichtlicher, bietet also Forteile in Bezug auf Wartbarkeit und Handhabbarkeit.
- Jedoch kann nicht vorausgesehen werden, was der C-Compiler aus dem Quellcode macht, während man ja beim Assemblerprogramm die Taktzyklen jedes Befehls direkt angeben kann.
- Ein Programm, bei dem es auf ganz genaues Timing ankommt, kann daher besser mit Assembler geschrieben werden.
- Das gleiche gilt für Fälle, bei denen der Programmspeicher sehr knapp ist und voll ausgenutzt werden soll.
|
Entwicklungstrend
- Mit steigender Leistungsfähigkeit der Mikrocontroller, wird es immer besser möglich, höhere Programmiersprachen einzusetzen.
- Je höher die Programmiersprache, desto weiter wird von der Rechnerarchitektur abstrahiert und desto näher kommt man dem Ideal der Plattform-unabhängigen Programmierung (z.B. Java).
- Damit verliert die Kenntnis der Rechnerarchitektur an Bedeutung.
- Die Erfordernis, die im Mikrocontroller integrierte Peripherie zu kennen und deren Ansteuerung zu beherrschen, bleibt aber bestehen.
- Darum eben liegt der Fokus dieser Veranstaltung darauf, diese Peripherie kennen- und programmieren zu lernen.
- Und damit schließt sich der Bogen dieser ersten Einführung für diese Lehrveranstaltung, deren genauerer Titel lautet:
|
Konfiguration und Programmierung der in einem Mikrocontroller integrierten Peripherie
- Das nun folgende Kapitel vermittelt die ersten Schritte bei der Mikrocontroller-Programmierung
|