Der Intel 8048 ist das Grundmodell der von Intel 1977 vorgestellten MCS-48-Familie von Ein-Chip-Computersystemem (Mikrocontrollern). Bei einem Mikrocontroller sind im Optimalfall alle Teile eines Computersystems (Prozessor, Programmspeicher, Datenspeicher und Ein-/Ausgabeeinheiten) in einem einzigen Baustein zusammengefasst. Das MCS-48 zählt zu den ersten derartigen Systemen.
Der bekannteste Einsatz dürfte der eines 8042 als Tastaturcontroller im 1984 vorgestellten IBM PC AT sein. Aber auch in den in den 1980er Jahren verbreiteten Genius-Computer-Mäusen wurde ein 8048 verwendet, ebenso wie er auch im Sinclair QL als Co-Prozessor Verwendung fand. Unsichtbar sind MCS-48-Bausteine auch heute noch in einer Unzahl von Geräten von der Nachttischuhr, über den Videorekorder bis hin zur Waschmaschine zu finden.
Bereits 1980 wurde mit Einführung des Intel 8051 eine leistungsfähigere Nachfolgefamilie vorgestellt, die unter dem Namen MCS-51 bekannt wurde. Der Erfolg der 8048-Serie in vielen Anwendungsbereichen sorgte aber dafür, dass er auch später noch massiv verwendet wurde und sogar bis heute Verwendung findet.
Inhaltsverzeichnis |
Das MCS-48 ist grundsätzlich entsprechend der Harvard-Architektur aufgebaut, wobei zum Programm- und Datenadressraum noch ein eigener Ein-/Ausgabeadressraum hinzukommt. Die Programmadresse umfasst 12 Bit (4 KiByte), organisiert als zwei unabhängige 2-KiByte-Programmbänke. Da Bank 2 immer extern liegt (Ausnahme 8050) kann durch Benutzung von Ausgabeleitungen zusätzlicher Programmspeicher adressiert werden.
Der interne Datenspeicher (64-256 Bytes) kann extern durch weitere 256 Bytes erweitert werden. Die Speicherzellen sind statisch ausgeführt, und können über eine Standby-Versorgungsleitung auch im abgeschalteten Zustand mit Strom versorgt werden, und so die Daten erhalten.
Eine Erweiterung der Ein-/Ausgabeleitungen erfolgt im einfachsten Fall über den Portextender-Baustein 8243, welcher vier 4-Bit Ports zur Verfügung stellt. Dabei wird der 8243 mit speziell dafür vorgesehenen Befehlen transparent in das Gesamtsystem eingebunden. Außerdem können Standard MCS-80/85 I/O Bausteine im Datenadressraum betrieben werden.
Bei der Entwicklung wurde besonders auf einen Befehlssatz geachtet, der leistungsfähige Bitbefehle bietet, andererseits aber auch so kompakt wie möglich war. Die meisten Befehle sind nur 1 Byte lang mit implizitem Operanden, einige wenige haben einen Operanden in einem zweiten Byte codiert. Dadurch ergeben sich sehr kurze Programme, die auf die vorgegebene Speichergröße abgestimmt sind.
Typ | ROM intern | RAM intern | Bemerkung |
---|---|---|---|
8021 | 1024 | 64 | maskenprogrammierte Low-Cost-CPU: keine Interrupts, kein externer Programmspeicher, abgespeckter 8048-Befehlssatz, nur 28 Anschlüsse |
8022 | 2048 | 64 | maskenprogrammierte Low-Cost-CPU: A/D-Wandler, Spannungskomparator-Eingänge, kein externer Programmspeicher, abgespeckter 8048-Befehlssatz |
8035 | - | 64 | ROM-lose Version des 8048, Programm in externem Baustein |
8039 | - | 128 | ROM-lose Version des 8049, Programm in externem Baustein |
8040 | - | 256 | ROM-lose Version des 8050, Programm in externem Baustein |
8041 | 1024 | 64 | vom 8048 abgeleiteter Slave-Prozessor mit asynchronem Datenregister zur Kommunikation mit einem Master-Prozessor (bspw. 8048/49/50) |
8042 | 2048 | 128 | vom 8049 abgeleiteter Slave-Prozessor mit asynchronem Datenregister zur Kommunikation mit einem Master-Prozessor (bspw. 8048/49/50) |
8048 | 1024 | 64 | erster Microcontroller von Intel, begründete die MCS-48-Familie |
8049 | 2048 | 128 | Weiterentwicklung des 8048 mit größerem Daten- und Programmspeicher |
8050 | 4096 | 256 | Weiterentwicklung des 8049 mit größerem Daten- und Programmspeicher |
8648 | 1024 | 64 | einmalig programmierbarer 8048, Factory OTP |
8741 | 1024 | 64 | reprogrammierbarer 8041, EPROM statt ROM |
8742 | 2048 | 128 | reprogrammierbarer 8042, EPROM statt ROM |
8748 | 1024 | 64 | reprogrammierbarer 8048, EPROM statt ROM |
8749 | 2048 | 128 | reprogrammierbarer 8049, EPROM statt ROM |
87P50 | - | 256 | Piggyback(Huckepack)-Version, bei der im Chipgehäuse ein Sockel für ein 2716-EPROM (2 KiB) vorhanden war |