Ich teile sie in mehrere Tutorials bzw. in mehreren Themen auf, um
1. eine Übersicht zu haben
2. damit nicht zu viele verschiedene Fragen/Antworten in einem Thema entstehen (bessere Übersicht)...
Ich schreibe dieses Tutorial um euch einen Einblick in die Welt der Microcontroller zu ermöglichen.
Hier habe ich alles kurz und knapp (zum Teil auch oberflächlich erklärt) zusammengefasst:
Was sind Microcontroller?
Kurz: Ein Microcontroller ist quasi ein „Mini-PC“, ein Prozessor mit integriertem Flash/EEPROM-Speicher, Arbeitsspeicher und I/O (Eingänge sowie Ausgänge) alles in einem Chip untergebracht.
Auf dem Bild ein AVR-Atmega8-Microcontroller der Firma Atmel
Welche Microcontroller-Typen/Hersteller gibt es?
AVR (von der Firma Atmel), C-Control (von der Firma Conrad) und PIC (von der Firma Microchip Technology Inc.) diese drei sind die bekanntesten.
Laut meiner damaligen Recherche schneidet die AVR-Microcontroller-Familie von Atmel am Besten ab.
Der auffälligste Punkt: Die Rechenleistung von AVR ist am effektivsten. Heißt bei gleicher Taktzahl ist die Befehlsrate der AVR-Familie höher als bei PIC oder C-Control.
Was kann man mit einem Microcontroller machen?
Alles mögliche.
Im Led-Bereich z.B.: als Dimmer (PWM)(dessen Geschwindigkeit z.B.: über Taster erhöht bzw. verringert werden kann), Lauflicht, Einschaltverzögerung, Blink-Funktion,…
Wie funktioniert ein Microcontroller (oberflächlich)?
Ein Microcontroller arbeitet dein geschriebenes Programm ab und führt diese dementsprechend aus.
Ein sehr einfaches Programm kann z.B. so aussehen:
-Wenn am Eingang1 ein High-Pegel anliegt (sprich Taster1 gedrückt): dann Ausgang1 auf High-setzen
-Wenn am Eingang2 ein High-Pegel anliegt (sprich Taster2 gedrückt): dann Ausgang1 auf Low-setzen
-Wenn am Eingang3 ein High-Pegel anliegt (sprich Taster3 gedrückt): dann Ausgang2-5 auf High-setzen und 1 Sekunde warten, auf Low-setzen, 1 Sekunde warten, wieder High-setzen, 1 Sekunde warten, auf Low-setzen
Die I/Os (Ein-/Ausgänge) des Microcontrollers ist für das oberige Beispiel folgender Maßen bestückt:
Am Eingang1, Eingang2 sowie Eingang3 hängt jeweils ein Taster und an Ausgang1-5 jeweils eine Led (natürlich mit passendem Vorwiderstand).
Wird der Microcontroller in Betrieb genommen, passiert erstmal nichts.
Da das Programm prüft ob am Eingang 1, Eingang 2 oder Eingang 3 ein High anliegt (das ganze endlos).
Erst wenn man irgendein Taster drückt passiert was:
Bei Taster1: Ausgang1 bzw. Led1 wird mit Strom versorgt (leuchtet)
Bei Taster2: Ausgang 1 bzw. Led1 wird ausgeschaltet
Bei Taster3: Ausgang2-5 bzw. Led 2-5 werden kurz Blinken (für 1 Sekunde leuchten, 1 Sekunden dunkel, 1 Sekunde leuchten)
Natürlich kann man die Werte des oberigen Beispiel-Programm abändern und z.B.
-schneller blinken lassen indem man das Warten auf 0,5 sek verkürzt
-länger Blinken lassen indem man die Befehle für ein-/ausschalten mit Pause verlängert
-Eingänge bzw. Ausgänge erweitert/reduziert (sprich mehr Leds/Taster)
Usw…
Also wirklich fast keine Grenzen gesetzt, jede Kleinigkeit kann abgeändert werden.
Was braucht man um einen Microntroller programmieren zu können?
-Einen Microcontroller (ist ja klar
-Einen PC, über die Serielle Schnittstelle wird das eigene erstellte Programm/Code in den Microcontroller bespielt
-Atmel Board (ich verwende das "ATMEL Evaluations-Board Version 2.0" von Pollin: http://www.pollin.de/shop/shop.php?cf=d ... Y5OTgxOTk= ) mit Netzteil und serielles Kabel
(Ein Board ist nicht zwingend erforderlich, es geht auch über eine Schaltung, ein Board ist aber viel komfortabler und insbesondere für den Anfang sehr empfehlenswert)
-Compilersoftware (Programm das unser „menschlich lesbare Programm/Code“ in Machinenssprache bzw. Maschinencode umwandelt. Also die „Microcontrollersprache“.
-Ponyprog2000 (um den Microcontroller über serielle Schnittstelle zubespielen/programmieren)
Compilersoftware und die Programmiersprachen
Es gibt verschiedene Compilersoftware mit unterschiedlicher Programmiersprache. Z.B.:
-Assembler-Sprache sehr Hardware nah, dadurch ist die Sprache nicht sehr einfach.
-C-Sprache typische Computerprogrammiersprache
-Basic-Sprache auch eine typische Computerprogrammiersprache
In all meinen Tutorials verwende ich die Basic-Sprache bzw. das Programm „Bascom“, weil diese Sprache sehr einfach und verständlich aufgebaut ist. Somit sehr gut für Anfänger.
Die Demoversion des Programms „Bascom“ ist beschränkt auf max. 4 KB Code, jedoch reicht das für den Anfang völlig aus.
Download unter: http://www.mcselec.com/index.php?option ... &Itemid=54




