- Sie befinden sich:
- Specials
- »
- Bachelor + Master Publishing
- »
- Technische Wissenschaften
- »
- Programmierung eines Mikrocontrollers
Technische Wissenschaften
» weitere Bücher zum Thema
» Buch empfehlen
» Buch bewerten Produktart: Buch
Verlag:
Bachelor + Master Publishing
Imprint der Bedey & Thoms Media GmbH
Hermannstal 119 k, D-22119 Hamburg
E-Mail: info@diplomica.de
Erscheinungsdatum: 01.2015
AuflagenNr.: 1
Seiten: 52
Sprache: Deutsch
Einband: Paperback
Die Zielsetzung des Projektes ist es, einen Mikrocontroller C8051 F0200 von Silicon Laboratoratories zu programmieren und dabei das Hochzählen im Sekundentakt zu realisieren. Die Programmierung des Mikrocontrollers kann sowohl mit Visual C++ 2010 Express als auch mit der beigelegten Development Software IDE auf C-Basis durchgeführt werden. Der dabei entstehende Programmcode soll charakterisiert und anschließend auf einer 7-Segmentanzeige ausgegeben werden. Diese Arbeit stellt im weiteren Sinne eine Dokumentation der einzelnen Entwurfsschritte da und möge die Funktionalität der dabei entstehenden Digitaluhr beweisen. Dabei ist vorrangig auf die Möglichkeit der Umsetzung im Labormaßstab bei minimalen Kosten zu achten.
Textprobe: Kapitel 2.1.3, Der Programmspeicher: Zu Beginn muss der Mikrocontroller mit Daten versorgt werden. Der µC versteht keine Programmiersprache wie Basic, C oder Assembler und muss daher mit rein binären Werten (also Nullen und Einsen) beschrieben werden. Diese werden dann im Programmspeicher beginnend bei der Adresse 0x0000 abgelegt. Da der Speicher ein nicht flüchtiger Speicher ist, der die Daten auch nach dem Ausschalten behält, wird hier der Programmcode gespeichert. Läge man die Daten in den RAM-Speicher, würde das Gerät nach dem Ausschalten nicht mehr funktionieren. Um nun Daten zu generieren, die der PIC versteht, sind einige Schritte nötig. Theoretisch könnte man direkt den Programmcode in Form von binären Werten schreiben und mit einem Programmiergerät in den Mikrocontroller laden. Dieses Vorgehen wäre jedoch impraktikabel und viel zu aufwändig. Daher werden verschiedene Programmiersprachen zur Mikrocontroller Programmierung eingesetzt. Gängige sind C oder Assembler. Beide Sprachen sind hardwarenah und können daher direkt mit den physikalisch vorhandenen Registern kommunizieren. Für größere Mikrocontroller wird fast ausschließlich C verwendet bei kleineren häufig Assembler, um die Hardware optimal auszunutzen. Für unser Projekt werden wir die C-Programmierung einsetzen. [MFE, 2009] [ITG1, 2010] [MT, 2009]. 2.1.4, Der Compiler und der Linker: Wie bereits erwähnt, wäre es viel zu umständlich, in Maschinensprache zu programmieren. Daher wird ein Programm, welches den C-Code oder den Assembler-Code enthält, in Maschinensprache übersetzt. Man nennt dieses Tool Compiler. Er geht Schritt für Schritt durch den Code und interpretiert die vom Entwickler programmierten Befehle. Dies geschieht häufig in mehreren Durchgängen. Nach dem Kompilieren müssen die einzelnen Module mit einem weiteren Tool, dem Linker, verbunden werden. Dieser liefert den Maschinencode, welcher auf dem vorgesehenen Controller funktionsfähig ist. Während des Übersetzungsvorgangs wird eine Datei mit der Endung ‘.hex’ generiert, die beschreibt, an welcher Stelle im Speicher die einzelnen Befehle stehen sollen. Dieses File kann anschließend mit einem Programmiergerät in den Mikrocontroller geladen werden. Dadurch gelangt das Programm in den Programmspeicher. Durch einen internen oder externen Takt wird der Programmzähler schrittweise hochgezählt und führt so einen Befehl nach dem anderem aus. Die Befehle werden dann im Befehlsregister verarbeitet und die Daten und RAM-Adressen werden über die internen Leitungen an das Rechenwerk (ALU) oder den RAM-Speicher weitergegeben. [MFE, 2009] [ITG1, 2010] [MT, 2009] [ITH, 2005]. 2.1.5, Die Datenverarbeitung in der ALU: Nachdem die Daten in der ALU (dem Rechenwerk) angekommen sind, können sie nun verarbeitet werden. Dabei werden die Daten zunächst in das W-Register geladen und anschließend in das RAM- File Register weitergeleitet. Die ALU kann nur einfache logische Operationen ausführen, daher sind alle Befehle logisch verknüpft. Es ist möglich die Register durch UND(AND), ODER (OR) und XODER (XOR) zu verknüpfen. Die Daten können also nur addiert und subtrahiert werden, eine Multiplikation oder Division ist nicht möglich und muss durch die Kombination der Grundbefehle aufgebaut werden. [MFE, 2009] [ITH, 2005].
Axel Jörn, B. Eng., wurde 1982 in Güstrow geboren. Nach seiner Berufsausbildung als Anlagenmechaniker in einem kleinen Unternehmen der Handwerksbranche, entschied sich der Autor, seine fachlichen Qualifikationen im Bereich der Technik durch einen staatlich geprüften Techniker für Maschinenbau -Konstruktion- und ein Studium weiter auszubauen. Das nebenberufliche Studium zum Bachelor of Engineering - Mechatronik- an der Berlin-, brandenburgischen- Wirtschaftshochschule schloss er im Jahre 2013 erfolgreich ab. Bei seiner Tätigkeit in der Entwicklung und im Projektmanagement bei Airbus sammelte der Autor umfassende praktische Erfahrungen in der Luftfahrtbranche. Hierbei entwickelte der Autor ein besonderes Interesse an der Flugzeugentwicklung.