Intel 8255 Programmable Peripheral Interface (PPI) Pinbelegung, Modi und Anwendungen

Okt. 24 2025
Quelle: DiGi-Electronics
Durchsuchen: 1818

Das Intel 8255 Programmable Peripheral Interface (PPI) war in den Anfängen digitaler Systeme eine Schlüsselkomponente bei der Überbrückung von Mikroprozessoren mit externen Geräten. Mit vielseitigen I/O-Ports, mehreren Betriebsmodi und einfacher Programmierung ermöglichte der 8255 eine zuverlässige Kommunikation mit Displays, Sensoren und Controllern, was ihn sowohl im Bildungswesen als auch in der Industrie nützlich macht.

Figure 1. 8255 Microprocessor

Übersicht über die programmierbare Peripherieschnittstelle (PPI) 8255

Der Intel 8255 PPI-Chip ist ein weit verbreiteter I/O-Chip, der für die Verbindung von Mikroprozessoren mit externen Geräten entwickelt wurde. Es fungiert als Kommunikationsbrücke für Peripheriegeräte wie ADCs, DACs, Tastaturen und Displays. Es unterstützt sowohl direkte als auch interruptgesteuerte I/O und bietet Flexibilität beim Systemdesign. Mit drei bidirektionalen 8-Bit-Ports (A, B, C) bietet er 24 konfigurierbare I/O-Leitungen. Seine Kosteneffizienz und Kompatibilität mit Prozessoren wie dem Intel 8085/8086 machten es zu einem Grundnahrungsmittel in frühen Computersystemen, Schulungskits und industriellen Controllern.

Merkmale des 8255 PPI-Chips

• Programmierbare Schnittstelle – Konfigurierbar über Softwareanweisungen zur Anpassung an Geräte wie Displays, Sensoren und Eingabemodule.

• Drei 8-Bit-Ports – Die Ports A, B und C bieten 24 Leitungen, die als Ein- oder Ausgang fungieren können.

• Mehrere Betriebsarten –

Modus 0: Einfache Ein-/Ausgabe ohne Handshake.

Modus 1: Strobed I/O mit Handshake-Signalen für synchronisierte Kommunikation.

Modus 2: Bidirektionale Datenübertragung mit Handshake (nur an Port A).

• Bit Set/Reset (BSR) – Port-C-Bits können für Steuerungs-/Statusanwendungen einzeln gesetzt oder gelöscht werden.

• Flexible Gruppierung – Ports können in 8-Bit- oder 4-Bit-Gruppen aufgeteilt werden.

• TTL-Kompatibilität – Einfache Integration mit digitalen Standard-ICs.

• Unabhängige Steuerregister – Jeder Port kann separat in verschiedenen Modi oder Richtungen betrieben werden.

Pinbelegung des 8255 PPI-Chips

Figure 2. Pinout of 8255 Microprocessor

Pin-Nr.GruppeSignalBeschreibung
1–8Anschluss APA0–PA78-Bit-Allzweck-I/O-Anschluss
9–16 UhrAnschluss CPC0–PC7Aufgeteilt in PC0–PC3 (unten) und PC4–PC7 (oben); Verwendung als I/O- oder Handshake-Leitungen
17–24 JahreAnschluss BPB0–PB78-Bit-Allzweck-I/O-Anschluss
Nr. 25SteuerungCS'Chip-Auswahl (aktiv niedrig)
Nr. 26LeistungVcc+5 V Versorgung
27SteuerungRD'Lesen aktivieren
28SteuerungWR"Schreiben aktivieren
Nr. 29SteuerungZURÜCKSETZENSetzt alle Ports auf den Eingangszustand zurück
30–37 JahreDatenbusD0–D7Überträgt Daten/Befehle zwischen CPU und 8255
38–39Adress-PinsA0, A1Interne Register/Ports auswählen: 00=Port A, 01=Port B, 10=Port C, 11=Steuerung
Nr. 40BodenGNDBoden-Referenz

Architektur des 8255 PPI-Chips

Figure 3. Architecture of 8255 Microprocessor

FunktionsblockBeschreibung
Datenbus-PufferFungiert als Schnittstelle zwischen dem bidirektionalen Datenbus der CPU (D7–D0) und dem internen 8-Bit-Datenbus des 8255. Es speichert und überträgt Daten zwischenzwischen der CPU und internen Registern oder Ports.
Steuerlogik mit Lese-/SchreibzugriffVerwaltet die gesamte Kommunikation zwischen der CPU und dem 8255. Er interpretiert Steuersignale wie RD, WR, A0, A1, CS und RESET, um den Betriebstyp (Lesen, Schreiben oder Steuern) zu bestimmen, und wählt den richtigen Port oder das richtige Steuerregister aus.
Steuerungslogik (Decoder)Dekodiert das von der CPU gesendete Steuerwort, um die Ports in verschiedenen Modi (Modus 0, 1 oder 2) oder im BSR-Modus (Bit Set/Reset) zu konfigurieren. Er bestimmt, wie jeder Port funktioniert - als Eingang, Ausgang oder Handshake.
Steuerelement der Gruppe ASteuert Port A (8 Bit: PA7–PA0) und oberen Port C (4 Bit: PC7–PC4). Er unterstützt die Modi 0, 1 und 2 und ermöglicht so einfache I/O, Handshake-I/O und bidirektionale Datenübertragung
Steuerung der Gruppe BSteuert Port B (8 Bit: PB7–PB0) und unteren Port C (4 Bit: PC3–PC0). Er unterstützt die Modi 0 und 1 und ermöglicht so grundlegende Ein-/Ausgabe- oder Handshake-gesteuerte Operationen.
Anschluss AEin 8-Bit-I/O-Port, der je nach Moduskonfiguration als Ein- oder Ausgang fungieren kann. Unterstützt die Modi 0–2 unter Steuerung der Gruppe A.
Anschluss BEin weiterer**8-Bit-I/O-Port** für die Datenübertragung. Arbeitet unter Gruppe B-Steuerung und unterstützt die Modi 0 und 1.
Anschluss CEin geteilter 8-Bit-Port, der in zwei 4-Bit-Gruppen unterteilt ist: Upper (PC7–PC4) und Lower (PC3–PC0). Diese können als unabhängige E/A-Ports, Steuerleitungen oder Handshake-Signale fungieren. Einzelne Bits können auch über den Bit Set/Reset (BSR)-Modus gesteuert werden.
Interner Datenbus (8 Bit)Verbindet alle internen Blöcke des 8255 und überträgt Daten und Steuerinformationen zwischen CPU, Steuerlogik und Ports.
StromversorgungDer Chip arbeitet mit einer +5V DC-Versorgung und einem GND-Anschluss, um die gesamte Schaltung mit Strom zu versorgen.

Betriebsmodi und Funktionsprinzip des 8255 PPI-Chips

Der Intel 8255 dient als programmierbare Schnittstelle zwischen CPU und Peripherie und übersetzt Busoperationen in parallele Datenübertragungen. Sein Betrieb wird durch Initialisierungsschritte und wählbare Modi gesteuert:

Zustand zurücksetzen

Beim Einschalten oder Zurücksetzen werden alle Ports (A, B und C) standardmäßig in den Eingangsmodus versetzt, um Peripheriegeräte mit unbeabsichtigten Ausgängen nicht zu beschädigen.

Initialisierung

Die CPU muss ein Steuerwort senden, das jeden Port als Ein-/Ausgang konfiguriert und einen der vier Betriebsmodi auswählt. Bis dies geschehen ist, bleiben die Ports inaktiv.

Betriebsarten

Bit Set/Reset (BSR) Modus

• Gilt nur für Port C.

• Ermöglicht das Festlegen oder Löschen einzelner Bits für Steuerungs-/Statusaufgaben.

Modus 0 – Einfache I/O

• Grundlegende Ein-/Ausgabe ohne Handshake.

• Wird für einfache Übertragungen wie LEDs, Schalter und Displays verwendet.

Modus 1 – Stroboskop-I/O

• Fügt Handshake-Signale (STB, ACK, IBF, OBF) über Port C hinzu.

• Gewährleistet eine synchronisierte Datenübertragung von CPU-Peripheriegeräten ↔.

Modus 2 – Bidirektionale I/O

• Nur an Anschluss A verfügbar.

• Unterstützt bidirektionale Übertragung mit Handshake-Steuerung, nützlich für Hochgeschwindigkeits- oder asynchrone Geräte.

Lese-/Schreibvorgänge

• Write: Die CPU legt Daten auf dem Systembus ab, und der 8255 dekodiert die Adressleitungen (A0, A1), um sie an den Ausgang des richtigen Ports weiterzuleiten.

• Lesen: Externe Geräte legen Daten auf Portleitungen, die der 8255 einrastet und der CPU während eines Lesebefehls zur Verfügung stellt.

Synchronisation

• Im Modus 0 erfolgt die Datenübertragung direkt ohne Handshake.

• In den Modi 1 und 2 koordinieren Handshake-Signale von Port C die Bereitschaft und Akzeptanz und verhindern so Datenverluste bei Hochgeschwindigkeits- oder asynchronen Übertragungen.

Überlegungen zur Schnittstelle des 8255 PPI-Chips

Bei der Entwicklung von Systemen mit dem 8255 sorgt eine sorgfältige Schnittstelle für Zuverlässigkeit und verhindert Schäden sowohl am Chip als auch an externen Geräten:

• Standard-Eingangszustand – Beim Zurücksetzen werden alle Ports standardmäßig auf Eingänge gesetzt. Dies vermeidet Konflikte, bedeutet aber auch, dass Ausgaben inaktiv sind, bis sie konfiguriert sind. Die CPU muss immer ein Steuerwort senden, um Richtung und Modus richtig zu definieren, bevor sie versucht, eine Kommunikation durchzuführen.

• Grenzwerte für Ausgangslaufwerke – Die Anschlüsse des 8255 können nur begrenzten Strom (einige Milliampere) erzeugen oder senken. Der direkte Antrieb schwerer Lasten wie Lampen, Magnetspulen oder Relais ist unsicher. Stattdessen werden häufig Puffer- oder Treiber-ICs wie das ULN2803 (Darlington-Array) oder Open-Collector-Gatter wie 7406 verwendet. Diese bieten eine höhere Strombelastbarkeit und schützen den PPI.

• Motorsteuerung – Bei Gleichstrommotoren oder Schrittmotoren sollten die 8255-Ports nicht direkt angeschlossen werden. Stattdessen müssen die Ausgänge durch Transistorstufen oder H-Brücken-Treiberschaltungen geführt werden. Diese Anordnung ermöglicht einen bidirektionalen Stromfluss und isoliert den PPI von induktiven Spannungsspitzen.

• AC-Lastschaltung – Die Verbindung mit AC-Geräten erfordert aus Sicherheitsgründen eine Isolierung. Mechanische Relais oder Halbleiterrelais (Halbleiterrelais, SSRs), die durch Pufferstufen gesteuert werden, sorgen dafür, dass das 8255 nur Steuersignale verarbeitet, während die eigentliche Hochspannungslast sicher extern geschaltet wird.

• Einschränkungen für Port C – Die Bits von Port C sind nicht immer als allgemeine I/O frei verwendbar. In den Modi 1 und 2 werden automatisch mehrere Pins (z. B. STB, ACK, IBF, OBF) für die Handshake-Steuerung reserviert. Sie müssen diese reservierten Leitungen berücksichtigen, um Konflikte zu vermeiden, wenn allgemeine E/A-Vorgänge mit Handshake kombiniert werden.

Vorteile des 8255 PPI-Chips

• CPU-Kompatibilität – Der 8255 arbeitet nahtlos mit Prozessoren wie Intel 8085, 8086 und deren kompatiblen Prozessoren zusammen. Sein Design entspricht Standard-Busprotokollen, was die Integration ohne zusätzliche Klebelogik einfach macht.

• Flexible Port-Konfiguration – Mit drei 8-Bit-Ports (A, B, C) können Benutzer sie je nach Anwendung als Eingang, Ausgang oder Mix konfigurieren. Die Möglichkeit, zwischen einfacher I/O- (Mode 0) und Handshake-gesteuerter Kommunikation (Mode 1 und 2) umzuschalten, ermöglicht es, dass derselbe Chip eine Vielzahl von Aufgaben bewältigen kann.

• Betrieb mit einer Stromversorgung – Der 8255 wird mit einer Standard-+5-V-Versorgung betrieben und kann problemlos in TTL-basierten Systemen mit Strom versorgt werden. Es sind keine speziellen Regler oder mehrere Spannungsebenen erforderlich, was das Leiterplattendesign vereinfacht.

• Zuverlässige parallele Datenübertragung – Der Chip bietet eine stabile und vorhersehbare parallele 8-Bit-Kommunikation und reduziert so Timing-Unsicherheiten. Diese Zuverlässigkeit macht es geeignet für die Ansteuerung von Anzeigen, das Lesen von Sensoren und das Verwalten von Steuersignalen in realen Systemen.

• Pädagogischer Wert – Da es gut dokumentiert und weit verbreitet ist, ist das 8255 ein wichtiges Lehrmittel in Mikroprozessorlaboren und Schulungskits. Mit diesem Gerät können Sie E/A-Schnittstellenkonzepte durch praktische Experimente schnell verstehen.

Anwendungen des 8255 PPI-Chips

• Bildungssysteme – Schulungskits und Laborboards enthalten häufig den 8255, um periphere Schnittstellenkonzepte zu demonstrieren. Sie können das Programmieren verschiedener Modi üben und die tatsächliche Interaktion mit externen Geräten beobachten.

• Display-Steuerung – Der Chip steuert visuelle Ausgabegeräte wie Sieben-Segment-LEDs, LCD-Module und alphanumerische Panels. Mit seinen mehreren I/O-Leitungen kann er Displays auffrischen oder Steuerbefehle an Treiber-ICs senden.

• Tastaturschnittstelle – Matrix-Tastaturen in frühen Terminals und PCs wurden häufig mit dem 8255 gescannt. Durch die Konfiguration einiger Zeilen als Zeilentreiber und anderer als Spaltensensoren wurden Tastendrücke effizient erkannt.

• Motorsteuerung – Schrittmotoren und Gleichstrommotoren können gesteuert werden, wenn der 8255 mit Transistortischen, Darlington-Arrays oder H-Brücken gekoppelt ist. Dies machte es nützlich in Robotik-, Positioniersystem- und Automatisierungsprojekten.

• Datenerfassung – Beim Anschluss an ADCs (Analog-Digital-Wandler) und DACs (Digital-Analog-Wandler) bietet der 8255 eine vollständige Schnittstelle für Mess- und Regelaufgaben. Dies ermöglichte es Mikroprozessoren, Signale in wissenschaftlichen und industriellen Geräten zu verarbeiten.

• Industrielle Automatisierung – Der 8255 wird zur Steuerung von Ampeln, Aufzugslogik und Prozessüberwachungstafeln eingesetzt. Seine Fähigkeit, mehrere Ein- und Ausgänge zuverlässig zu verwalten, machte ihn zu einer kostengünstigen Lösung für Embedded-Steuerungssysteme.

• Retro-Computing – Klassische Maschinen wie die IBM PC/XT und MSX Computer verwendeten den 8255 für die Anbindung von Peripheriegeräten. Es wurde auch in Druckern und Erweiterungskarten verwendet und festigte seinen Platz in der frühen PC-Geschichte.

8255 PPI Chip Vergleich mit anderen PPIs

9,1 8255 vs. 8155

Figure 4. 8255 vs. 8155

Der Intel 8155 vereint mehrere Funktionen in einem Paket: Er bietet einen kleinen Block statischen RAM, einen programmierbaren Timer und universelle I/O-Ports. Damit eignet er sich für kompakte Systeme, bei denen Speicher und Timing-Steuerung benötigt werden. Im Gegensatz dazu konzentriert sich der 8255 ausschließlich auf programmierbare I/O, ohne integrierten Speicher oder Timing. Sein einfacheres Design machte es billiger und einfacher zu programmieren, wenn die Anwendung keinen integrierten RAM oder Timer benötigte.

9,2 8255 vs. 8259

Figure 5. 8255 vs. 8259

Der programmierbare Interrupt-Controller 8259 dient einem ganz anderen Zweck: Er verwaltet Hardware-Interrupts, damit die CPU schnell auf externe Ereignisse reagieren kann. Während der 8255 die parallele I/O-Datenübertragung übernimmt, koordiniert der 8259 Interrupt-Signale. In vielen mikroprozessorbasierten Systemen wurden die beiden Chips zusammen verwendet, 8255 für die Schnittstelle zu Geräten wie Tastaturen und Displays und 8259 für die Verwaltung der von diesen Geräten erzeugten Interrupt-Anforderungen.

8255 im Vergleich zu modernen GPIO-Expandern

Figure 6. 8255 vs. Modern GPIO Expanders

Heutige Systeme verwenden häufig I²C- oder SPI-basierte GPIO-Expander (z. B. MCP23017 oder PCF8574). Diese Bausteine bieten zusätzliche E/A-Pins mit weniger Anschlüssen, wodurch Platz auf der Platine gespart und die Anzahl der Pins auf der CPU reduziert wird. Sie arbeiten jedoch seriell, was im Vergleich zum direkten Parallelzugriff des 8255 langsamer sein kann. Während der 8255 mehr Busleitungen benötigt, ermöglicht seine parallele Struktur schnellere Übertragungen und macht ihn sehr wertvoll in Bildungsumgebungen, in denen die direkte Steuerung einzelner Pins und das Verständnis des Bus-Timings für das Lernen wichtig sind.

Fehlerbehebung und häufige Probleme

Die Arbeit mit dem 8255 kann manchmal zu Systemfehlern führen, wenn die Konstruktionsregeln nicht sorgfältig befolgt werden. Häufige Probleme und Abhilfemaßnahmen sind:

• Nicht initialisierte Ports – Nach dem Zurücksetzen werden alle Ports standardmäßig in den Eingabemodus versetzt. Wenn die CPU kein richtiges Steuerwort sendet, bleiben die Ausgänge inaktiv oder verhalten sich unvorhersehbar. Programmieren Sie das Steuerregister immer, bevor Sie versuchen, Daten zu lesen oder zu schreiben.

• Falsche Steuerwörter – Falsch konfigurierte Steuerwörter können den Ports die falschen Richtungen oder Modi zuweisen und erwartete Signale sperren. Vergleichen Sie die Werte von Steuerwörtern mit Datenblatttabellen, um die korrekten Biteinstellungen sicherzustellen.

• Handshake-Fehler – In den Modi 1 und 2 stellt Port C die erforderlichen Handshake-Signale (STB, ACK, IBF, OBF) bereit. Fehlende, falsch verdrahtete oder falsch interpretierte Verbindungen führen zu blockierten oder verlorenen Übertragungen. Überprüfen Sie sowohl die Verkabelung als auch die Erwartungen an den Logikpegel der angeschlossenen Geräte sorgfältig.

• Überlastung der Ausgänge – Jeder Port-Pin kann nur kleine Ströme verarbeiten. Die direkte Ansteuerung von LEDs ist mit Widerständen möglich, aber Motoren, Relais und Lampen benötigen externe Pufferstufen wie Transistorarrays oder Treiber-ICs. Die Nichtbeachtung dieser Grenze riskiert eine dauerhafte Beschädigung des Chips.

• Buskonflikte – Wenn mehrere Geräte gleichzeitig versuchen, den Systembus zu steuern, kann es zu Datenbeschädigungen oder Hardwareschäden kommen. Eine korrekte Bus-Arbitrierung und die Verwendung von Freigabesignalen (RD', WR', CS') verhindern dieses Problem.

• Debugging-Tools – Wenn Probleme weiterhin bestehen, helfen Testgeräte, Fehler zu isolieren. Logikanalysatoren können Timing- und Steuersignale bestätigen, während Oszilloskope überprüfen können, ob das Problem auf eine laute Hardwareverkabelung oder eine falsche Softwareinitialisierung zurückzuführen ist.

Fazit

Der Intel 8255 PPI ist nach wie vor ein Eckpfeiler der Mikroprozessor-Schnittstelle. Obwohl es weitgehend durch moderne GPIO-Expander und eingebaute Mikrocontroller-I/O ersetzt wurde, dient es weiterhin als aktives Lehrwerkzeug. Seine Klarheit bei der Demonstration der parallelen Datenübertragung, der Portkonfiguration und des Handshakes macht es für jeden von unschätzbarem Wert.

Häufig gestellte Fragen [FAQ]

Was ist das Steuerwort in 8255 und warum ist es wichtig?

Das Steuerwort ist eine 8-Bit-Anweisung, die von der CPU gesendet wird, um die Ports und Modi des 8255 zu konfigurieren. Ohne sie bleiben alle Ports in ihrem Standardeingangszustand. Es definiert, ob jeder Port als Ein- oder Ausgang fungiert und wählt zwischen den Modi 0, 1, 2 oder Bit Set/Reset.

Kann der 8255 Motoren oder Relais direkt antreiben?

Nein. Die Ausgänge des 8255 können nur wenige Milliampere liefern oder senken, was für Motoren oder Relais nicht ausreicht. Externe Treiberschaltungen, wie z. B. Transistor-Arrays oder H-Brücken, müssen verwendet werden, um höhere Ströme sicher zu verarbeiten.

Warum wird der 8255 auch heute noch im Bildungsbereich eingesetzt?

Der 8255 bietet eine übersichtliche, praktische Möglichkeit, mehr über Mikroprozessor-I/O, Steuerwörter und parallele Datenübertragung zu erfahren. Die einfache Architektur hilft den Schülern, die Kernkonzepte zu verstehen, bevor sie zu modernen Mikrocontrollern übergehen.

Was passiert, wenn Sie Port C im Handshake-Modus verwenden?

In den Modi 1 und 2 sind einige Port-C-Leitungen für Handshake-Signale reserviert (z. B. STB, ACK, IBF, OBF). Diese Pins können in diesen Modi nicht als allgemeine E/A-Vorgänge verwendet werden, was Sie berücksichtigen müssen, um Konflikte zu vermeiden.

Wie unterscheidet sich der 8255 von modernen GPIO-Expandern?

Im Gegensatz zu I²C/SPI-Expandern, die serielle Kommunikation verwenden, arbeitet der 8255 mit einem parallelen Bus, der schnellere Übertragungen ermöglicht, aber mehr Pins benötigt. Dies macht den 8255 weniger platzsparend, aber wertvoll für die eigentliche Steuerung und das Erlernen des Bus-Timings.