
Pokračujem druhou časťou popisu paralelného rozhrania a to popisom obvodu 8255,
ktorý je hlavnou časťou práve tohoto rozhrania. Pretože tento obvod sa dá programovo
nastaviť, jeho možnosti využitia sú teda podstatne väčšie ako by to bolo len pri
jednoduchom paralelnom rozhraní.
______________________________________________________________________________
Paralelné rozhranie ATARI Portfolia využíva programovateľný obvod 82C55, čo je
CMOS verzia obvodu kompatibilného s obvodom 8255. Obvod obsahuje tri osembitové
porty, ktoré je možné naprogramovať ako vstupné alebo výstupné. Ku každému
z týchto portov sa pristupuje na samostatnej adrese a jedna adresa je určená aj pre
riadiace slovo, t.j. tu sa určuje ako sa ktorý z týchto portov bude správať (vstup/
výstup).
Porty A a B sú osembitové, na adrese pre ne určenej sa číta, alebo zapisuje
požadovaný údaj (byte). Port C je iný, môže sa správať rovnako ako A a B, alebo je
možno priamo pracovať s jeho jednotlivými bitmi, t.j. podľa potreby vieme nastaviť
aj správanie sa konkrétneho bitu.
Blokové schéma obvodu 82C55:

Jednotlivé porty sú na týchto adresách:
(hexa / dec) :
8078h (32888) - port A, na konektor je vyvedených všetkých 8 bitov
8079h (32889) - port B, na konektor sú vyvedené len bity 0,1,2,3
807Ah (32890) - port C, na konektor sú vyvedené len bity 0,1,3,4,5
807Bh (32891) - riadiaci port CW (riadiace slovo)
Tu si popíšeme význam jednotlivých bitov na konektore rozhrania Centronics,
používa sa konektor Canon 25, pretože nemáme vyvedené všetky porty obvodu
82C55, v praktickom použití sme odkázaní na využitie len módu 0, preto nepôjdem
do podrobností uspokojíme sa s tým čo máme priamo k dispozícii.

Sorry, teraz pôjdu katalógové údaje a tam teda veľa nového nevymyslím...
Programovanie obvodu 82C55:
Najprv pošleme do obvodu riadiace slovo:
na adresu 807Bh (32891) - riadiaci port CW (riadiace slovo)
Tým sa nastaví obvod 82C55 do požadovaného režimu a potom už na adresách
jednotlivých portov buď čítame, alebo zapisujeme potrebné údaje.
Máme k dispozícii tri režimy: - a to mód 0, 1 a 2.
Mód 0 - porty je možné samostatne naprogramovať ako vstupné, alebo výstupné,
porty A a B všetky bity (8), na porte C extra spodnú časť bitov (dolné 4 bity) a extra
hornú časť (horné 4 bity)
Mód 1 - iba pre porty A a B, je možné samostane naprogramovať ako vstup, alebo
výstup celý port tak, že je k nemu automaticky priradených niekoľko bitov z portu C
pre sigály riadenia prenosu dát - týka sa to A aj B.
Ostávajúce bity portu C sa dajú tiež samostatne použiť.
Mód 2 - iba pre port A, dá sa naprogramovať ako obojsmerný, pritom je mu
automaticky priradených 5 bitov portu C pre riadenie signálov prenosu dát. Port B a
zostávajúce bity portu C je možné použiť v móde 0 alebo 1.
Nasledujúca tabuľka ukazuje možnosti naprogramovania portov v móde 0:

_____________
Malá ukážka:
Na port 807Bh (32891) - riadiaci port CW (riadiace slovo) pošleme číslo 144,
(pozri tabuľku, tam je ako sa potom nastavia porty A, B, C)
týmto si určíme že:
port A je vstupný, B je port výstupný, port C je výstupný.
V zátvorke je Basicovský príkaz na čítanie a zápis.
na porte A - 8078h (32888) - čítame data zo vstupu (? PEEK, adress)
na porte B - 8079h (32889) - posielame data na výstup (POKE, data)
na porte C - 807Ah (32890) - posielame data na výstup (POKE, data)
_____________
Ďalší príklad:
chceme mať všetky porty vstupné:
Na port 807Bh (32891) - riadiaci port CW (riadiace slovo) pošleme číslo 155,
týmto si určíme že:
port A je vstupný, B je port vstupný, port C je vstupný.
V zátvorke je Basicovský príkaz na čítanie a zápis.
na porte A - 8078h (32888) - čítame data zo vstupu (? PEEK, adress)
na porte B - 8079h (32889) - čítame data zo vstupu (? PEEK, adress)
na porte C - 807Ah (32890) - čítame data zo vstupu (? PEEK, adress)
a tak ďalej a tak ďalej.
____________
Možno to na prvý pohľad vyzerá strašne zložité ale nie je to tak. Proste obvodu treba
najprv povedať riadiacim slovom ako sa má správať a potom ho už môžeme využívať.
Veľkou výhodou je ľahké preprogramovanie na iný typ nastavenia ak sa ukáže že
pôvodná "konštelácia nastavenia" z rozličných dôvodov prestane zo dňa na deň
vyhovovať.
Je jasné že tako môžete ovládať počítačom aj zložitejšie zariadenia, (robotická ruka),
alebo priamo riadiť nejaký zložitý proces, fantázii sa medze nekladú.
Pre tých šikovnejších je možnosť vyviesť si kompletne všetky tri osemportové brány
pomocou prídavného konektora a využiť naozaj úplne celý čip 82C55, mne zatiaľ stačí
to čo je k dispozícii.
Aby to takíto "maníci" zase až tak nemuseli riešiť prikladám datasheety obvodov 82C55
a 8255, tu si nájdu aj nastavenie obvodu v módoch 1 a 2.


82C55 datasheet.pdf (555,25 kb)

Pôvodný datasheet pre IC 8255:
Intel 8255 datasheet.pdf (1,07 mb)
__________________________________________________________________

Rate post: