Ang Intel 8255 Programmable Peripheral Interface (PPI) ay isang pangunahing sangkap sa bridging microprocessors sa mga panlabas na aparato sa mga unang araw ng mga digital system. Sa pamamagitan ng maraming nalalaman I / O port, maramihang mga mode ng pagpapatakbo, at kadalian ng programming, pinagana ng 8255 ang maaasahang komunikasyon sa mga display, sensor, at controller, na ginagawang kapaki-pakinabang sa parehong edukasyon at industriya.

8255 Programmable Peripheral Interface (PPI) Pangkalahatang-ideya
Ang Intel 8255 PPI chip ay isang malawakang ginagamit na I / O chip na idinisenyo upang ikonekta ang mga microprocessor sa mga panlabas na aparato. Ito ay gumaganap bilang isang tulay ng komunikasyon para sa mga peripheral tulad ng ADC, DAC, keyboard, at display. Sinusuportahan ang parehong direkta at interrupt-driven I / O, nagbibigay ito ng kakayahang umangkop sa disenyo ng system. Sa pamamagitan ng tatlong 8-bit bidirectional port (A, B, C), naghahatid ito ng 24 na mai-configure na mga linya ng I / O. Ang pagiging epektibo ng gastos at pagiging tugma nito sa mga processor tulad ng Intel 8085/8086 ay ginawa itong isang sangkap na hilaw sa maagang mga sistema ng computer, mga kit ng pagsasanay, at mga pang-industriya na controller.
Mga Tampok ng 8255 PPI Chip
• Programmable interface - Maaaring i-configure sa pamamagitan ng mga tagubilin sa software upang umangkop sa mga aparato tulad ng mga display, sensor, at input module.
• Tatlong 8-bit port - Ang mga port A, B, at C ay nagbibigay ng 24 na linya na maaaring gumana bilang input o output.
• Maramihang mga mode ng pagpapatakbo -
Mode 0: Simpleng input / output nang walang handshaking.
Mode 1: Strobed I / O na may mga signal ng handshake para sa naka-synchronize na komunikasyon.
Mode 2: Bidirectional data transfer na may handshaking (lamang sa Port A).
• Bit Set / Reset (BSR) - Ang mga bit ng Port C ay maaaring isa-isa na itakda o i-clear para sa mga application ng kontrol / katayuan.
• Kakayahang umangkop na pagpapangkat - Ang mga port ay maaaring nahahati sa 8-bit o 4-bit na mga grupo.
• Pagiging tugma ng TTL - Madaling pagsasama sa mga karaniwang digital IC.
• Independiyenteng mga rehistro ng kontrol - Ang bawat port ay maaaring gumana nang hiwalay, sa iba't ibang mga mode o direksyon.
Pinout ng 8255 PPI Chip

| Pin No. | Pangkat | Senyas | Paglalarawan |
|---|---|---|---|
| 1–8 | Port A | PA0–PA7 | 8-bit pangkalahatang layunin I / O port |
| 9–16 | Port C | PC0–PC7 | Hatiin sa PC0-PC3 (mas mababa) at PC4-PC7 (itaas); ginamit bilang I / O o mga linya ng pakikipagkamay |
| 17–24 | Port B | PB0–PB7 | 8-bit pangkalahatang layunin I / O port |
| 25 | Kontrol | CS ' | Pumili ng chip (aktibong mababa) |
| 26 | Kapangyarihan | Vcc | +5 V supply |
| 27 | Kontrol | RD ' | Basahin paganahin |
| 28 | Kontrol | WR' | Isulat paganahin |
| 29 | Kontrol | RESET | Itina-reset ang lahat ng mga port sa estado ng input |
| 30–37 | Data Bus | D0–D7 | Paglilipat ng data / utos sa pagitan ng CPU at 8255 |
| 38–39 | Address Mga Pin | A0, A1 | Pumili ng mga panloob na rehistro / port: 00=Port A, 01=Port B, 10=Port C, 11=Control |
| 40 | Lupa | GND | Sanggunian sa lupa |
Arkitektura ng 8255 PPI Chip

| Functional Block | Paglalarawan |
|---|---|
| Data Bus Buffer | Kumikilos bilang isang interface sa pagitan ng bidirectional data bus ng CPU (D7-D0) at ang panloob na 8-bit data bus ng 8255. Pansamantalang nag-iimbak at naglilipat ng data sa pagitan ng CPU at mga panloob na rehistro o port. |
| Basahin/Isulat ang Lohika ng Kontrol | Pinamamahalaan ang lahat ng komunikasyon sa pagitan ng CPU at 8255. Binibigyang-kahulugan nito ang mga signal ng kontrol tulad ng RD, WR, A0, A1, CS, at RESET upang matukoy ang uri ng operasyon (basahin, isulat, o kontrolin) at pinipili ang tamang port o control register. |
| Control Logic (Decoder) | I-decode ang control word na ipinadala ng CPU upang i-configure ang mga port sa iba't ibang mga mode (Mode 0, 1, o 2) o sa Bit Set / Reset (BSR) mode. Tinutukoy nito kung paano gagana ang bawat port - bilang input, output, o handshake. |
| Group A Control | Kinokontrol ang Port A (8 bits: PA7-PA0) at Upper Port C (4 bits: PC7-PC4). Sinusuportahan nito ang Mga Mode 0, 1, at 2, na nagpapahintulot sa simpleng I / O, handshake I / O, at bidirectional data transfer |
| Kontrol ng Grupo B | Kinokontrol ang Port B (8 bits: PB7-PB0) at Lower Port C (4 bits: PC3-PC0). Sinusuportahan nito ang Mga Mode 0 at 1, na nagpapahintulot sa mga pangunahing input / output o mga operasyon na kinokontrol ng handshake. |
| Port A | Isang 8-bit I / O port na maaaring gumana bilang input o output depende sa pagsasaayos ng mode. Sinusuportahan ang Mga Mode 0-2 sa ilalim ng kontrol ng Group A. |
| Port B | Isa pang ** 8-bit I / O port ** para sa paglilipat ng data. Nagpapatakbo sa ilalim ng kontrol ng Group B at sumusuporta sa Mga Mode 0 at 1. |
| Port C | Isang split 8-bit port na nahahati sa dalawang 4-bit na grupo: Itaas (PC7-PC4) at Mas mababa (PC3-PC0). Ang mga ito ay maaaring kumilos bilang mga independiyenteng I / O port, mga linya ng kontrol, o mga signal ng handsshake. Ang mga indibidwal na bit ay maaari ring kontrolin gamit ang Bit Set / Reset (BSR) mode. |
| Panloob na Data Bus (8-bit) | Kinokonekta ang lahat ng mga panloob na bloke ng 8255, paglilipat ng data at impormasyon ng kontrol sa pagitan ng CPU, control logic, at port. |
| Supply ng kuryente | Ang chip ay gumagana sa isang + 5V DC supply at koneksyon GND upang mapalakas ang buong circuitry. |
Mga Mode ng Pagpapatakbo at Prinsipyo ng Pagtatrabaho ng 8255 PPI Chip
Ang Intel 8255 ay nagsisilbing isang programmable interface sa pagitan ng CPU at mga peripheral, na isinasalin ang mga operasyon ng bus sa parallel na paglilipat ng data. Ang operasyon nito ay pinamamahalaan ng mga hakbang sa initialization at mapipili na mga mode:
I-reset ang Estado
Sa power-up o pag-reset, ang lahat ng mga port (A, B, at C) ay default sa input mode upang maiwasan ang pagpinsala sa mga peripheral na may hindi sinasadyang mga output.
Inisyal
Ang CPU ay dapat magpadala ng isang control word na nag-configure ng bawat port bilang input / output at pumipili ng isa sa apat na operating mode. Hangga't hindi ito nagawa, ang mga port ay nananatiling hindi aktibo.
Mga Mode ng Pagpapatakbo
Bit Set / Reset (BSR) Mode
· Nalalapat lamang sa Port C.
• Pinapayagan ang mga indibidwal na bit na itakda o i-clear para sa mga gawain sa kontrol / katayuan.
Mode 0 - Simpleng I / O
● Pangunahing input / output nang walang handshaking.
• Ginagamit para sa mga tuwid na paglilipat tulad ng mga LED, switch, at display.
Mode 1 - Strobed I / O
• Nagdaragdag ng mga signal ng handshake (STB, ACK, IBF, OBF) sa pamamagitan ng Port C.
• Tinitiyak ang naka-synchronize na paglipat ng data ng peripheral ng CPU ↔.
Mode 2 - Bidirectional I / O
· Magagamit lamang sa Port A.
• Sinusuportahan ang dalawang-way na paglipat na may kontrol sa handsshake, kapaki-pakinabang para sa mga high-speed o asynchronous na aparato.
Basahin / Isulat ang Mga Operasyon
• Isulat: Ang CPU ay naglalagay ng data sa system bus, at ang 8255 ay nagdecode ng mga linya ng address (A0, A1) upang idirekta ito sa output latch ng tamang port.
• Basahin: Ang mga panlabas na aparato ay naglalagay ng data sa mga linya ng port, na kung saan ang 8255 latches at ginagawang magagamit sa CPU sa panahon ng isang basahin na utos.
Pag-synchronize
• Sa Mode 0, ang mga paglilipat ng data ay nangyayari nang direkta nang walang handshakes.
• Sa Mga Mode 1 at 2, ang mga signal ng handshake mula sa Port C ay nag-uugnay ng kahandaan at pagtanggap, na pumipigil sa pagkawala ng data sa panahon ng mataas na bilis o asynchronous na paglilipat.
Mga Pagsasaalang-alang sa Interfacing ng 8255 PPI Chip
Kapag nagdidisenyo ng mga system gamit ang 8255, ang maingat na interfacing ay nagsisiguro ng pagiging maaasahan at pinipigilan ang pinsala sa parehong chip at mga panlabas na aparato:
• Default na Estado ng Input - Sa pag-reset, ang lahat ng mga port default sa mga input. Iniiwasan nito ang mga salungatan ngunit nangangahulugan din ito na ang mga output ay hindi aktibo hanggang sa mai-configure. Ang CPU ay dapat palaging magpadala ng isang control word upang maayos na tukuyin ang direksyon at mode bago subukang makipag-ugnayan.
• Mga Limitasyon ng Output Drive - Ang mga port ng 8255 ay maaaring mapagkukunan o lumubog lamang ng limitadong kasalukuyang (ilang milliamps). Ang direktang pagmamaneho ng mabibigat na karga tulad ng mga lampara, solenoid, o relay ay hindi ligtas. Sa halip, ang buffer o driver IC tulad ng ULN2803 (Darlington array) o open-collector gate tulad ng 7406 ay karaniwang ginagamit. Nagbibigay ito ng mas mataas na kasalukuyang kakayahan at pinoprotektahan ang PPI.
• Kontrol ng Motor - Para sa mga DC motor o stepper motor, ang 8255 port ay hindi dapat kumonekta nang direkta. Sa halip, ang mga output ay dapat na naka-ruta sa pamamagitan ng mga yugto ng transistor o mga circuit ng driver ng H-bridge. Ang pag-aayos na ito ay nagbibigay-daan sa bidirectional kasalukuyang daloy habang ihiwalay ang PPI mula sa inductive boltahe spikes.
• AC Load Switching - Ang interfacing sa mga kagamitan sa AC ay nangangailangan ng paghihiwalay para sa kaligtasan. Ang mga mekanikal na relay o solid-state relay (SSR) na hinihimok sa pamamagitan ng mga yugto ng buffer ay nagsisiguro na ang 8255 ay humahawak lamang ng mga signal ng kontrol, habang ang aktwal na mataas na boltahe na nag-load ay ligtas na lumipat sa labas.
• Mga Paghihigpit sa Port C - Ang mga bit ng Port C ay hindi palaging malayang magagamit bilang pangkalahatang I / O. Sa Mga Mode 1 at 2, ang ilang mga pin (hal., STB, ACK, IBF, OBF) ay awtomatikong nakalaan para sa kontrol ng pakikipagkamay. Dapat mong isaalang-alang ang mga nakareserbang linya na ito upang maiwasan ang mga salungatan kapag hinahalo ang pangkalahatang I/O sa pakikipagkamay.
Mga Pakinabang ng 8255 PPI Chip
• Pagiging tugma ng CPU - Ang 8255 ay gumagana nang walang putol sa mga processor tulad ng Intel 8085, 8086, at ang kanilang mga katugmang . Ang disenyo nito ay tumutugma sa mga karaniwang protocol ng bus, na ginagawang madali ang pagsasama nang walang dagdag na lohika ng pandikit.
• Kakayahang umangkop na Pagsasaayos ng Port - Sa tatlong 8-bit port (A, B, C), maaaring i-configure ng mga gumagamit ang mga ito bilang input, output, o isang halo depende sa application. Ang kakayahang lumipat sa pagitan ng simpleng I / O (Mode 0) at komunikasyon na hinihimok ng handshake (Mga Mode 1 at 2) ay nagbibigay-daan sa parehong chip upang mahawakan ang isang malawak na iba't ibang mga gawain.
• Single-Supply Operation - Operating mula sa isang standard na +5 V supply, ang 8255 ay madaling kapangyarihan sa mga sistema na nakabatay sa TTL. Walang mga espesyal na regulator o maramihang mga antas ng boltahe ang kinakailangan, na nagpapasimple sa disenyo ng board.
• Maaasahang Parallel Data Transfer - Ang chip ay nagbibigay ng matatag at mahuhulaan na 8-bit parallel na komunikasyon, na binabawasan ang mga kawalang-katiyakan sa tiyempo. Ang pagiging maaasahan na ito ay ginagawang angkop para sa pagmamaneho ng mga display, pagbabasa ng mga sensor, at pamamahala ng mga signal ng kontrol sa mga aktwal na system.
• Halaga ng Pang-edukasyon - Dahil ito ay mahusay na dokumentado at malawak na magagamit, ang 8255 ay naging isang pangunahing tool sa pagtuturo sa mga microprocessor lab at mga kit ng pagsasanay. Maaari mong mabilis na maunawaan ang mga konsepto ng I / O interfacing sa pamamagitan ng mga praktikal na eksperimento sa aparatong ito.
Mga aplikasyon ng 8255 PPI Chip
• Mga Sistema ng Pang-edukasyon - Ang mga training kit at lab board ay madalas na kasama ang 8255 upang ipakita ang mga konsepto ng peripheral interfaming. Maaari kang magsanay sa programming ng iba't ibang mga mode at obserbahan ang aktwal na pakikipag-ugnayan sa mga panlabas na aparato.
• Display Control - Ang chip ay nagtutulak ng mga visual na aparato ng output tulad ng pitong-segment LED, LCD module, at alphanumeric panel. Gamit ang maramihang mga linya ng I / O, maaari itong i-refresh ang mga display o magpadala ng mga command ng kontrol sa mga IC ng driver.
• Keyboard Interfacing - Ang mga keyboard ng matrix sa mga unang terminal at personal na computer ay madalas na na-scan gamit ang 8255. Sa pamamagitan ng pag-configure ng ilang mga linya bilang mga driver ng hilera at iba pa bilang mga sensor ng haligi, mahusay nitong natukoy ang mga pagpindot sa key.
• Kontrol ng Motor - Ang mga stepper motor at DC motor ay maaaring makontrol kapag ang 8255 ay ipinares sa mga yugto ng transistor, Darlington arrays, o H-bridge. Ginawa nitong kapaki-pakinabang sa robotics, mga sistema ng pagpoposisyon, at mga proyekto sa automation.
• Pagkuha ng Data - Kapag konektado sa ADCs (Analog-to-Digital Converters) at DACs (Digital-to-Analog Converters), ang 8255 ay nagbigay ng isang kumpletong interface para sa pagsukat at mga gawain sa kontrol. Pinapayagan nito ang mga microprocessor na hawakan ang mga signal sa mga kagamitang pang-agham at pang-industriya.
• Industrial Automation - Ang 8255 ay natagpuan na ginagamit sa pagkontrol ng mga signal ng trapiko, lohika ng elevator, at mga panel ng pagsubaybay sa proseso. Ang kakayahang mapagkakatiwalaan nitong pamahalaan ang maramihang mga input at output ay ginawa itong isang murang solusyon para sa mga naka-embed na control system.
• Retro-Computing - Ang mga klasikong makina tulad ng IBM PC / XT at MSX computer ay gumagamit ng 8255 para sa peripheral interfacing. Ginamit din ito sa mga printer at expansion card, na nagpapatibay sa lugar nito sa maagang kasaysayan ng personal na computer.
8255 PPI Chip Paghahambing sa Iba pang mga PPI
8255 kumpara sa 8155

Pinagsasama ng Intel 8155 ang maraming mga pag-andar sa isang pakete: nag-aalok ito ng isang maliit na bloke ng static na RAM, isang programmable timer, at pangkalahatang layunin na I / O port. Ginawa nitong angkop para sa mga compact system kung saan kinakailangan ang memorya at kontrol sa tiyempo. Sa kabilang banda, ang 8255 ay nakatuon nang buo sa programmable I / O, na walang built-in na memorya o tiyempo. Ang mas simpleng disenyo nito ay ginagawang mas mura at mas madaling i-program kapag ang application ay hindi nangangailangan ng pinagsamang RAM o timer.
8255 kumpara sa 8259

Ang 8259 Programmable Interrupt Controller ay nagsisilbi ng iba't ibang layunin: pamamahala ng mga pagkagambala ng hardware upang matulungan ang CPU na tumugon nang mabilis sa mga panlabas na kaganapan. Habang ang 8255 ay humahawak ng parallel I / O data transfer, ang 8259 coordinate ay nakakagambala sa mga signal. Sa maraming mga sistema na nakabatay sa microprocessor, ang dalawang chips ay ginamit nang magkasama, 8255 para sa pakikipag-ugnayan sa mga aparato tulad ng mga keyboard at display, at 8259 para sa pamamahala ng mga kahilingan sa pagkagambala na nabuo ng mga aparatong iyon.
8255 kumpara sa Modernong GPIO Expanders

Ang mga sistema ngayon ay madalas na gumagamit ng I²C o SPI-based GPIO expanders (tulad ng MCP23017 o PCF8574). Ang mga aparatong ito ay nagbibigay ng karagdagang mga pin ng I / O na may mas kaunting mga koneksyon, na nagse-save ng puwang sa board at binabawasan ang bilang ng mga pin sa CPU. Gayunpaman, gumagana ang mga ito nang sunud-sunod, na maaaring maging mas mabagal kumpara sa direktang parallel na pag-access ng 8255. Habang ang 8255 ay nangangailangan ng mas maraming linya ng bus, ang parallel na istraktura nito ay nagbibigay-daan sa mas mabilis na paglilipat at ginagawang lubos na mahalaga sa mga kapaligiran sa edukasyon, kung saan ang direktang kontrol ng mga indibidwal na pin at pag-unawa sa tiyempo ng bus ay mahalaga para sa pag-aaral.
Pag-troubleshoot at Mga Karaniwang Isyu
Ang pagtatrabaho sa 8255 ay maaaring minsan humantong sa mga pagkakamali sa system kung ang mga patakaran sa disenyo ay hindi maingat na sinusunod. Kabilang sa mga karaniwang isyu at remedyo ang:
• Uninitialized Port - Pagkatapos ng pag-reset, ang lahat ng mga port default sa input mode. Kung ang CPU ay hindi nagpapadala ng isang wastong control word, ang mga output ay mananatiling hindi aktibo o kumilos nang hindi mahuhulaan. Laging i-program ang control register bago subukang basahin o isulat ang data.
• Maling Mga Salita ng Kontrol - Ang maling naka-configure na mga salita ng kontrol ay maaaring magtalaga ng maling mga direksyon o mode sa mga port, na nag-lock ng mga inaasahang signal. Cross-check ang mga halaga ng salita ng kontrol laban sa mga talahanayan ng datasheet upang matiyak ang tamang mga setting ng bit.
• Mga Pagkabigo sa Handshake - Sa Mga Mode 1 at 2, ang Port C ay nagbibigay ng kinakailangang mga signal ng handshake (STB, ACK, IBF, OBF). Ang mga nawawala, maling wired, o maling interpretasyon ng mga koneksyon ay humahantong sa natigil o nawala na mga paglilipat. Maingat na i-verify ang parehong mga kable at ang mga inaasahan sa antas ng lohika ng mga konektadong aparato.
• Overloading Outputs - Ang bawat port pin ay maaari lamang hawakan ang maliit na alon. Ang pagmamaneho ng mga LED nang direkta ay posible sa mga resistor, ngunit ang mga motor, relay, at lampara ay nangangailangan ng mga panlabas na yugto ng buffer tulad ng mga transistor array o driver IC. Ang pagwawalang-bahala sa limitasyong ito ay nanganganib na permanenteng pinsala sa chip.
• Mga Salungatan sa Bus - Kung maraming mga aparato ang nagtatangkang magmaneho ng system bus nang sabay-sabay, maaaring mangyari ang katiwalian ng data o pinsala sa hardware. Ang wastong arbitrasyon ng bus at ang paggamit ng mga signal ng paganahin (RD ', WR ', CS') ay pumipigil sa isyung ito.
• Mga Tool sa Pag-debug - Kapag nagpapatuloy ang mga problema, ang kagamitan sa pagsubok ay tumutulong na ihiwalay ang mga pagkakamali. Maaaring kumpirmahin ng mga logic analyzer ang tiyempo at kontrol ng mga signal, habang ang mga oscilloscope ay maaaring suriin kung ang isyu ay nagmumula sa maingay na mga kable ng hardware o maling inisyal na software.
Konklusyon
Ang Intel 8255 PPI ay nananatiling isang pundasyon ng microprocessor interfacing. Bagaman higit sa lahat pinalitan ng mga modernong GPIO expander at built-in na microcontroller I / O, patuloy itong nagsisilbing isang aktibong tool sa pagtuturo. Ang kalinawan nito sa pagpapakita ng parallel na paglilipat ng data, pagsasaayos ng port, at handshaking ay ginagawang napakahalaga para sa sinuman.
Mga Madalas Itanong [FAQ]
Ano ang control word sa 8255 at bakit mahalaga ito?
Ang control word ay isang 8-bit na tagubilin na ipinadala ng CPU upang i-configure ang mga port at mode ng 8255. Kung wala ito, ang lahat ng mga port ay mananatili sa kanilang default na estado ng input. Tinutukoy nito kung ang bawat port ay kumikilos bilang input o output at pumipili sa pagitan ng Mga Mode 0, 1, 2, o Bit Set / I-reset.
Maaari bang direktang magmaneho ang 8255 ng mga motor o relay?
Hindi. Ang 8255 outputs ay maaari lamang mapagkukunan o lumubog ng ilang milliamps, na kung saan ay hindi sapat para sa mga motor o relay. Ang mga panlabas na circuit ng driver, tulad ng mga transistor array o H-bridge, ay dapat gamitin upang mahawakan ang mas mataas na kasalukuyang nang ligtas.
Bakit ginagamit pa rin ang 8255 sa edukasyon ngayon?
Ang 8255 ay nagbibigay ng isang malinaw, hands-on na paraan upang malaman ang tungkol sa microprocessor I / O, control words, at parallel data transfer. Ang simpleng arkitektura nito ay tumutulong sa mga mag-aaral na maunawaan ang mga pangunahing konsepto bago lumipat sa mga modernong microcontroller.
Ano ang mangyayari kung gagamitin mo ang Port C sa mga mode ng pakikipagkamay?
Sa Mga Mode 1 at 2, ang ilang mga linya ng Port C ay nakalaan para sa mga signal ng handshake (tulad ng STB, ACK, IBF, OBF). Ang mga pin na ito ay hindi maaaring gamitin bilang pangkalahatang layunin na I/O sa mga mode na iyon, na dapat mong isaalang-alang upang maiwasan ang mga salungatan.
Paano naiiba ang 8255 mula sa mga modernong GPIO expander?
Hindi tulad ng I²C / SPI expanders na gumagamit ng serial na komunikasyon, ang 8255 ay gumagana sa isang parallel bus, na nagbibigay-daan sa mas mabilis na paglilipat ngunit nangangailangan ng mas maraming mga pin. Ginagawa nitong mas mababa ang 8255 na mahusay sa espasyo ngunit mahalaga para sa aktwal na kontrol at pag-aaral ng tiyempo ng bus.