Mikrocontroller
Microcontroller (auch µController) sind Ein-Chip-Computersysteme, bei welchen (nahezu) sämtliche Komponenten (wie z.B.: CPU, Programmspeicher (ROM), Arbeitsspeicher (RAM), Ein-/Ausgabe-Schnittstellen) auf einem einzigen Chip (Integrierter Schaltkreis) untergebracht sind.
Diese Form eines Computers begegnet uns im Alltag ständig unbemerkt in technischen Gebrauchsartikeln:
Zum Beispiel in Waschmaschinen, Chipkarten (Geld-, Telefonkarten), Unterhaltungselektronik (Videorekordern, CD/DVD-Playern, Radios, Fernsehgeräten, Fernbedienungen), Büroelektronik, Kraftfahrzeugen (ABS, Airbag, Motorsteuerung, ESP usw.), Mobiltelefonen und sogar in Uhren und Armbanduhren. Darüber hinaus sind sie in vielen Computer-Peripheriegeräten enthalten (Tastatur, Maus, Drucker, Monitore, Scanner uvm.).
In ihrer gesamten Masse überschreiten sie an Anzahl das, was man sich unter einem 'Computer' eigentlich vorstellt, weit. Die weit überwiegende Mehrzahl der verwendeten Microcontroller basiert auf 8-Bit-Prozessoren, deren grundlegende Architektur teilweise noch aus der ersten Hälfte der 1970er Jahre stammt.
Die Anwendungszwecke sind nahezu grenzenlos. Microcontroller sind meist anspruchslos im Energiebedarf und in der Serienfertigung äußerst preiswert herzustellen. Das ist auf die meist geringen Taktraten von nur einigen Megahertz und auf die relativ geringe Komplexität zurückzuführen.
Es gibt diese µController nicht nur "von der Stange" (mit fest eingebauter Software), sondern auch frei programmierbar für Prototypen oder Kleinserienfertigung. Auch bei Elektronik-Hobbyisten erfreuen sich diese Bausteine deshalb zunehmender Beliebtheit.
µController werden oftmals rein in Maschinensprache, Assemblersprache oder auch in C programmiert, weitere Programmiersprachen wie BASIC und FORTH oder Pascal sind ebenfalls verfügbar. Assembler bietet hierbei den Vorzug, dass die Programme sowohl sehr schnell sind als auch sehr wenig Programmspeicher benötigen. Dies ist deshalb von so großer Bedeutung, da einerseits der Speicherplatz auf einem µController meist sehr eingeschränkt ist und andererseits die CPU natürlich nicht so schnell ist wie beispielsweise in einem PC. (Siehe auch Programmiersprachen)