Az Intel 8255 programozható perifériás interfész (PPI) kulcsfontosságú összetevő volt a mikroprocesszorok és a külső eszközök összekapcsolásában a digitális rendszerek korai napjaiban. A sokoldalú I/O portokkal, a többféle üzemmóddal és az egyszerű programozással a 8255 megbízható kommunikációt tett lehetővé a kijelzőkkel, érzékelőkkel és vezérlőkkel, így mind az oktatásban, mind az iparban hasznos.

8255 programozható perifériás interfész (PPI) áttekintése
Az Intel 8255 PPI chip egy széles körben használt I/O chip, amelyet mikroprocesszorok külső eszközökkel való összekapcsolására terveztek. Kommunikációs hídként működik az olyan perifériák számára, mint az ADC-k, DAC-k, billentyűzetek és kijelzők. Támogatja mind a közvetlen, mind a megszakításvezérelt I/O-t, így rugalmasságot biztosít a rendszertervezésben. Három 8 bites kétirányú porttal (A, B, C) 24 konfigurálható I/O vonalat biztosít. Költséghatékonysága és kompatibilitása az olyan processzorokkal, mint az Intel 8085/8086, a korai számítógépes rendszerek, oktatókészletek és ipari vezérlők alapjává tette.
A 8255 PPI chip jellemzői
• Programozható interfész – Szoftverutasításokkal konfigurálható, hogy alkalmazkodjon az olyan eszközökhöz, mint a kijelzők, érzékelők és bemeneti modulok.
• Három 8 bites port – Az A, B és C portok 24 vonalat biztosítanak, amelyek bemenetként vagy kimenetként működhetnek.
• Több üzemmód –
mód: Egyszerű bemenet/kimenet kézfogás nélkül.
mód: Strobed I/O kézfogási jelekkel a szinkronizált kommunikációhoz.
mód: Kétirányú adatátvitel kézfogással (csak az A porton).
• Bitbeállítás/visszaállítás (BSR) – A C port bitjei egyedileg beállíthatók vagy törölhetők a vezérlési/állapot alkalmazásokhoz.
• Rugalmas csoportosítás – A portok 8 bites vagy 4 bites csoportokra oszthatók.
• TTL kompatibilitás – Egyszerű integráció a szabványos digitális IC-kkel.
• Független vezérlőregiszterek – Minden port külön-külön, különböző üzemmódokban vagy irányokban működhet.
8255 PPI chip kivezetése

| Tű száma. | Csoport | Jel | Leírás |
|---|---|---|---|
| 1–8 | A port | PA0–PA7 | 8 bites általános célú I/O port |
| 9–16 | C port | PC0–PC7 | Ossza fel PC0–PC3 (alsó) és PC4–PC7 (felső); I/O- vagy kézfogási vonalként használják |
| 17–24 | B port | PB0–PB7 | 8 bites általános célú I/O port |
| 25 | Vezérlés | CS' | Chip kiválasztás (aktív alacsony) |
| 26 | Teljesítmény | Vcc | +5 V tápellátás |
| 27 | Vezérlés | RD" | Olvasás engedélyezése |
| 28 | Vezérlés | WR' | Írás engedélyezése |
| 29 | Vezérlés | VISSZAÁLLÍTÁS | Visszaállítja az összes portot bemeneti állapotba |
| 30–37 | Adatbusz | D0–D7 | Adatátvitel/parancsok átvitele a CPU és a 8255 között |
| 38–39 | Cím gombostűk | A0, A1 | Válassza ki a belső regisztereket/portokat: 00=A port, 01=B port, 10=C port, 11=Vezérlés |
| 40 | Föld | GND | Földi referencia |
A 8255 PPI chip architektúrája

| Funkcionális blokk | Leírás |
|---|---|
| Adatbusz puffer | Interfészként működik a CPU kétirányú adatbusza (D7–D0) és a 8255 belső 8 bites adatbusza között. Ideiglenesen tárolja és továbbítja az adatokat a CPU és a belső regiszterek vagy portok között. |
| Olvasási/írási vezérlési logika | Kezeli a CPU és a 8255 közötti összes kommunikációt. Értelmezi az olyan vezérlőjeleket, mint az RD, WR, A0, A1, CS és RESET a művelet típusának meghatározásához (olvasás, írás vagy vezérlés), és kiválasztja a megfelelő portot vagy vezérlőregisztert. |
| Vezérlési logika (dekóder) | Dekódolja a CPU által küldött vezérlőszót a portok különböző módokban (0., 1. vagy 2. mód) vagy bitbeállítás/visszaállítás (BSR) módban történő konfigurálásához. Meghatározza, hogy az egyes portok hogyan fognak működni – bemenetként, kimenetként vagy kézfogásként. |
| A csoport ellenőrzése | Az A portot (8 bit: PA7–PA0) és a felső C portot (4 bit: PC7–PC4) vezérli. Támogatja a 0., 1. és 2. módot, lehetővé téve az egyszerű I/O-t, a kézfogásos I/O-t és a kétirányú adatátvitelt |
| B csoport ellenőrzése | A B portot (8 bit: PB7–PB0) és az alsó C portot (4 bit: PC3–PC0) vezérli. Támogatja a 0. és 1. módot, lehetővé téve az alapvető bemeneti/kimeneti vagy kézfogásos műveleteket. |
| A port | Egy 8 bites I/O port, amely bemenetként vagy kimenetként működhet az üzemmód konfigurációjától függően. Támogatja a 0–2 módokat az A csoport vezérlése alatt. |
| B port | Egy másik**8 bites I/O port** az adatátvitelhez. B csoport vezérlése alatt működik, és támogatja a 0. és 1. módot. |
| C port | Osztott 8 bites port, amely két 4 bites csoportra oszlik: felső (PC7–PC4) és alsó (PC3–PC0). Ezek független I/O portokként, vezérlővonalakként vagy kézfogási jelekként működhetnek. Az egyes bitek a bitbeállítás/visszaállítás (BSR) módban is vezérelhetők. |
| Belső adatbusz (8 bites) | Csatlakoztatja a 8255 összes belső blokkját, adat- és vezérlési információkat továbbít a CPU, a vezérlési logika és a portok között. |
| Tápegység | A chip +5V DC tápegységgel és GND csatlakozással működik a teljes áramkör táplálására. |
A 8255 PPI chip üzemmódjai és működési elve
Az Intel 8255 programozható interfészként szolgál a CPU és a perifériák között, és a buszműveleteket párhuzamos adatátvitelre fordítja. Működését az inicializálási lépések és a választható módok szabályozzák:
Állapot visszaállítása
Bekapcsoláskor vagy alaphelyzetbe állításkor az összes port (A, B és C) alapértelmezés szerint bemeneti módba kapcsol, hogy elkerülje a perifériák nem kívánt kimenettel történő károsodását.
Inicializálás
A CPU-nak el kell küldenie egy vezérlőszót, amely minden portot bemenetként/kimenetként konfigurál, és kiválasztja a négy üzemmód egyikét. Amíg ez nem történik meg, a portok inaktívak maradnak.
Üzemmódok
bites beállítás/visszaállítás (BSR) mód
• Csak a C portra vonatkozik.
• Lehetővé teszi az egyes bitek beállítását vagy törlését a vezérlési/állapot feladatokhoz.
0. mód – Egyszerű I/O
• Alap bemenet/kimenet kézfogás nélkül.
• Egyszerű átvitelhez használható, például LED-ekhez, kapcsolókhoz és kijelzőkhöz.
1. mód – Strobed I/O
• Kézfogási jeleket (STB, ACK, IBF, OBF) ad hozzá a C porton keresztül.
• Biztosítja a szinkronizált CPU ↔ perifériás adatátvitelt.
2. mód – Kétirányú I/O
• Csak az A porton érhető el.
• Támogatja a kétirányú átvitelt kézfogásvezérléssel, hasznos nagy sebességű vagy aszinkron eszközökhöz.
Olvasási/írási műveletek
• Írás: A CPU adatokat helyez el a rendszerbuszon, és a 8255 dekódolja a címsorokat (A0, A1), hogy a megfelelő port kimeneti reteszére irányítsa.
• Olvasás: A külső eszközök adatokat helyeznek el a portvonalakon, amelyeket a 8255 rögzít és elérhetővé tesz a CPU számára egy olvasási parancs során.
Szinkronizálás
• 0 módban az adatátvitel közvetlenül, kézfogás nélkül történik.
• Az 1. és 2. módban a C portról érkező kézfogási jelek koordinálják a készenlétet és az elfogadást, megakadályozva az adatvesztést nagy sebességű vagy aszinkron átvitel során.
A 8255 PPI chip interfész szempontjai
A 8255-ös rendszerek tervezésénél a gondos interfész biztosítja a megbízhatóságot, és megakadályozza a chip és a külső eszközök károsodását:
• Alapértelmezett bemeneti állapot – Visszaállításkor minden port alapértelmezés szerint bemenetre kerül. Ez elkerüli az ütközéseket, de azt is jelenti, hogy a kimenetek inaktívak lesznek a konfigurálásig. A CPU-nak mindig el kell küldenie egy vezérlőszót az irány és a mód megfelelő meghatározásához, mielőtt megkísérelné a kommunikációt.
• Kimeneti meghajtó korlátai – A 8255 portjai csak korlátozott áramot (néhány milliamper) képesek betáplálni vagy elnyelni. A nehéz terhek, például lámpák, mágnesszelepek vagy relék közvetlen meghajtása nem biztonságos. Ehelyett általában puffer- vagy illesztőprogram-IC-ket, például a ULN2803-t (Darlington-tömb) vagy a 7406-os nyitott kollektoros kapukat használják. Ezek nagyobb áramerősséget biztosítanak és védik a PPI-t.
• Motorvezérlés – Egyenáramú motorok vagy léptetőmotorok esetén a 8255-ös portok nem csatlakozhatnak közvetlenül. Ehelyett a kimeneteket tranzisztoros fokozatokon vagy H-híd meghajtó áramkörökön keresztül kell irányítani. Ez az elrendezés lehetővé teszi a kétirányú áramáramlást, miközben elszigeteli a PPI-t az induktív feszültségcsúcsoktól.
• AC terhelés kapcsolás – A váltakozó áramú készülékekkel való interfész a biztonság érdekében szigetelést igényel. A pufferfokozatokon keresztül hajtott mechanikus relék vagy szilárdtest relék (SSR) biztosítják, hogy a 8255 csak a vezérlőjeleket kezelje, miközben a tényleges nagyfeszültségű terhelés biztonságosan átkapcsolható kívülről.
• C port korlátozások – A C port bitjei nem mindig használhatók szabadon általános I/O-ként. Az 1. és 2. módban több érintkező (pl. STB, ACK, IBF, OBF) automatikusan le van tartva a kézfogás vezérlésére. Ezeket a fenntartott vonalakat figyelembe kell vennie, hogy elkerülje az ütközéseket, amikor az általános I/O-t kézfogással keveri.
A 8255 PPI chip előnyei
• CPU kompatibilitás – A 8255 zökkenőmentesen működik olyan processzorokkal, mint az Intel 8085, 8086 és kompatibilisek. Kialakítása megfelel a szabványos buszprotokolloknak, így az integráció egyszerű extra ragasztólogika nélkül.
• Rugalmas portkonfiguráció – Három 8 bites porttal (A, B, C) a felhasználók az alkalmazástól függően bemenetként, kimenetként vagy keverékként konfigurálhatják őket. Az egyszerű I/O (0. mód) és a kézfogásos kommunikáció (1. és 2. mód) közötti váltás képessége lehetővé teszi, hogy ugyanaz a chip sokféle feladatot kezeljen.
• Egytápellátású működés – A szabványos +5 V-os tápegységről működő 8255 könnyen táplálható TTL-alapú rendszerekben. Nincs szükség speciális szabályozókra vagy több feszültségszintre, ami leegyszerűsíti a kártya kialakítását.
• Megbízható párhuzamos adatátvitel – A chip stabil és kiszámítható 8 bites párhuzamos kommunikációt biztosít, csökkentve az időzítési bizonytalanságokat. Ez a megbízhatóság alkalmassá teszi a kijelzők vezetésére, az érzékelők olvasására és a vezérlőjelek kezelésére a tényleges rendszerekben.
• Oktatási érték – Mivel jól dokumentált és széles körben elérhető, a 8255 kulcsfontosságú oktatási eszköz volt a mikroprocesszoros laboratóriumokban és a képzési készletekben. Az I/O interfész fogalmait gyorsan megértheti az eszközzel végzett gyakorlati kísérletek révén.
A 8255 PPI chip alkalmazása
• Oktatási rendszerek – A képzési készletek és a laboratóriumi táblák gyakran tartalmazzák a 8255-öt a perifériás interfészek bemutatására. Gyakorolhatja a különböző módok programozását, és megfigyelheti a külső eszközökkel való tényleges interakciót.
• Kijelzővezérlés – A chip vizuális kimeneti eszközöket, például hét szegmenses LED-eket, LCD-modulokat és alfanumerikus paneleket hajt meg. Több I/O vonalával frissítheti a kijelzőket, vagy vezérlőparancsokat küldhet a meghajtó IC-knek.
• Billentyűzet interfész – A korai terminálok és személyi számítógépek mátrixbillentyűzeteit gyakran a 8255-ös készülékkel vizsgálták. Egyes sorok sormeghajtóként, mások oszlopérzékelőként való konfigurálásával hatékonyan észlelte a billentyűleütéseket.
• Motorvezérlés – A léptetőmotorok és az egyenáramú motorok akkor vezérelhetők, ha a 8255 tranzisztoros fokozatokkal, Darlington-tömbökkel vagy H-hidakkal van párosítva. Ez hasznossá tette a robotikában, a pozicionáló rendszerekben és az automatizálási projektekben.
• Adatgyűjtés – ADC-khez (analóg-digitális átalakítókhoz) és DAC-okhoz (digitális-analóg átalakítókhoz) csatlakoztatva a 8255 teljes interfészt biztosított a mérési és vezérlési feladatokhoz. Ez lehetővé tette a mikroprocesszorok számára, hogy kezeljék a jeleket a tudományos és ipari berendezésekben.
• Ipari automatizálás – A 8255-ös a közlekedési lámpák, a liftlogika és a folyamatfigyelő panelek vezérlésére szolgált. A több bemenet és kimenet megbízható kezelésének képessége alacsony költségű megoldássá tette a beágyazott vezérlőrendszerek számára.
• Retro-Computing – A klasszikus gépek, mint például az IBM PC/XT és az MSX számítógépek a 8255-öt használták perifériás interfészekhez. Nyomtatókban és bővítőkártyákban is használták, megerősítve helyét a korai személyi számítógépek történetében.
8255 PPI chip összehasonlítása más PPI-kkel
8255 vs. 8155

Az Intel 8155 több funkciót egyesít egy csomagban: egy kis statikus RAM-blokkot, programozható időzítőt és általános célú I/O portokat kínál. Ez alkalmassá tette kompakt rendszerekhez, ahol memória- és időzítésvezérlésre volt szükség. Ezzel szemben a 8255 teljes mértékben a programozható I/O-ra összpontosít, beépített memória vagy időzítés nélkül. Egyszerűbb kialakítása olcsóbbá és könnyebbé tette a programozást, ha az alkalmazás nem igényelt integrált RAM-ot vagy időzítőket.
8255 vs. 8259

A 8259 programozható megszakításvezérlő egészen más célt szolgál: a hardveres megszakítások kezelését, hogy a CPU gyorsan reagálhasson a külső eseményekre. Míg a 8255 kezeli a párhuzamos I/O adatátvitelt, a 8259 koordinátái megszakítják a jeleket. Számos mikroprocesszor-alapú rendszerben a két chipet együtt használták, a 8255-öt olyan eszközökkel való interfészhez, mint a billentyűzetek és a kijelzők, a 8259-et pedig az eszközök által generált megszakítási kérelmek kezelésére.
8255 a modern GPIO bővítőkhöz képest

A mai rendszerek gyakran használnak I²C vagy SPI-alapú GPIO bővítőket (például MCP23017 vagy PCF8574). Ezek az eszközök további I/O érintkezőket biztosítanak kevesebb csatlakozással, így helyet takarítanak meg a kártyán, és csökkentik a CPU tűinek számát. Azonban sorosan működnek, ami lassabb lehet a 8255-ös közvetlen párhuzamos hozzáféréséhez képest. Bár a 8255 több buszvonalat igényel, párhuzamos szerkezete gyorsabb átvitelt tesz lehetővé, és rendkívül értékessé teszi oktatási környezetben, ahol az egyes érintkezők közvetlen vezérlése és a buszok időzítésének megértése fontos a tanuláshoz.
Hibaelhárítás és gyakori problémák
A 8255-tel való munkavégzés néha rendszerhibákhoz vezethet, ha nem tartják be gondosan a tervezési szabályokat. A gyakori problémák és jogorvoslatok a következők:
• Inicializálatlan portok – A visszaállítás után minden port alapértelmezés szerint bemeneti módba kerül. Ha a CPU nem küld megfelelő vezérlőszót, a kimenetek inaktívak maradnak, vagy kiszámíthatatlanul viselkednek. Mindig programozza be a vezérlőregisztert, mielőtt megpróbálná olvasni vagy írni az adatokat.
• Helytelen vezérlőszavak – A rosszul konfigurált vezérlőszavak rossz irányokat vagy módokat rendelhetnek a portokhoz, kizárva a várt jeleket. Ellenőrizze a vezérlőszavak értékeit az adatlaptáblázatokkal a megfelelő bitbeállítások biztosítása érdekében.
• Kézfogási hibák – Az 1. és 2. módban a C port biztosítja a szükséges kézfogási jeleket (STB, ACK, IBF, OBF). A hiányzó, rosszul bekötött vagy félreértelmezett kapcsolatok elakadt vagy elveszett átvitelekhez vezetnek. Gondosan ellenőrizze mind a vezetékeket, mind a csatlakoztatott eszközök logikai szintjét.
• Túlterhelő kimenetek – Minden port érintkező csak kis áramokat képes kezelni. A LED-ek közvetlen meghajtása ellenállásokkal lehetséges, de a motorok, relék és lámpák külső pufferfokozatokat, például tranzisztoros tömböket vagy meghajtó IC-ket igényelnek. Ennek a határértéknek a figyelmen kívül hagyása a chip maradandó károsodását kockáztatja.
• Buszütközések – Ha egyszerre több eszköz próbálja meghajtani a rendszerbuszt, adatsérülés vagy hardverkárosodás léphet fel. A megfelelő busz-egyeztetés és az engedélyezési jelek (RD', WR', CS') használata megakadályozza ezt a problémát.
• Hibakereső eszközök – Ha a problémák továbbra is fennállnak, a tesztberendezések segítenek elkülöníteni a hibákat. A logikai analizátorok megerősíthetik az időzítést és a vezérlőjeleket, míg az oszcilloszkópok ellenőrizhetik, hogy a probléma zajos hardvervezetékezésből vagy helytelen szoftverinicializálásból ered-e.
Következtetés
Az Intel 8255 PPI továbbra is a mikroprocesszoros interfészek sarokköve. Bár nagyrészt a modern GPIO bővítők és a beépített mikrokontroller I/O váltották fel, továbbra is aktív oktatási eszközként szolgál. A párhuzamos adatátvitel, a portkonfiguráció és a kézfogás egyértelműsége felbecsülhetetlen értékű bárki számára.
Gyakran ismételt kérdések [GYIK]
Mi a vezérlőszó a 8255-ben, és miért fontos?
A vezérlőszó egy 8 bites utasítás, amelyet a CPU küld a 8255 portjainak és módjainak konfigurálásához. Enélkül minden port az alapértelmezett bemeneti állapotban marad. Meghatározza, hogy az egyes portok bemenetként vagy kimenetként működnek-e, és a 0, 1, 2 vagy a Bit Set/Reset módok közül választanak.
A 8255 közvetlenül meghajthatja a motorokat vagy reléket?
Nem. A 8255-ös kimenetek csak néhány milliampert tudnak beszerezni vagy elsüllyeszteni, ami nem elegendő a motorokhoz vagy relékhez. Külső meghajtó áramköröket, például tranzisztoros tömböket vagy H-hidakat kell használni a nagyobb áram biztonságos kezeléséhez.
Miért használják ma is a 8255-öt az oktatásban?
A 8255 egyértelmű, gyakorlati módot kínál a mikroprocesszor I/O-jának, a vezérlőszavaknak és a párhuzamos adatátvitelnek a megismerésére. Egyszerű architektúrája segít a tanulóknak megérteni az alapvető fogalmakat, mielőtt a modern mikrovezérlőkre térnének át.
Mi történik, ha a C portot kézfogás módban használja?
Az 1. és 2. módban egyes C port vonalak a kézfogási jelek számára vannak fenntartva (például STB, ACK, IBF, OBF). Ezek a tűk nem használhatók általános célú I/O-ként ezekben az üzemmódokban, amelyekkel az ütközések elkerülése érdekében számolnia kell.
Miben különbözik a 8255 a modern GPIO bővítőktől?
A soros kommunikációt használó I²C/SPI bővítőkkel ellentétben a 8255 párhuzamos sínnel működik, ami gyorsabb átvitelt tesz lehetővé, de több érintkezőt igényel. Ez a 8255-öt kevésbé helytakarékos, de értékes a tényleges vezérléshez és a busz időzítésének megtanulásához.