Cvičný mikropočítač s procesorem 8080



V roce 1984 vyšel v Ročence sdělovací techniky popis velice zajímavého a jednoduchého cvičného mikropočítače s mikroprocesorem 8080. A co na něm bylo tak zajímavého? Našlo by se toho více, ale zejména šlo o to, že:

1) nebyl osazen systémový řadič 8228

2) klávesnice byla s přepínacími tlačítky

3) už o něm nebylo nikde slyšet

Zejména bod 3 je zajímavý, protože článek obsahoval nejen schéma zapojení (no sice trošku jednodušší), ale také výpis provozního monitoru. To si to nikdo nezkusil postavit? Je sice otázkou nakolik lze důvěřovat výpisu monitoru, který opisovala nějaká písařka (viz legendární chyba hned v prvním bajtu monitoru PMI-80 v ARA 11/84), ale na druhou stranu je výpis monitoru jak v assembleru, tak v hexadecimálním vyjádření. Takže je zde možnost kontroly. O pár stránek dál je v téže knížečce dokonce návod na "ruční" programátor EPROM 2716, která je použita i v tomto cvičném počítači. Ono tedy to otištěné schéma není žádný zázrak, ale postavit se to podle toho dá:

cvičný mikropočítač s CPU 8080

cvičný mikropočítač s CPU 8080

Zapojení si zaslouží pár poznámek:

Neoznačený vývod procesoru je s největší pravděpodobností /WR

Obvod 8224 by měl mít nastaven vstup RDYIN na log.1 (pokud se nepoužívá)

Displej asi nebude dobré budit přímo z IO, jako je to ve schématu, ale bude to chtít nějak posílit. Buď nějakým speciálním budičem, nebo tranzistory. Případně použít namísto 8205 obvod 74145.

Vypuštěný řadič 8228 není žádná výhra. Sice je signálem /STSB v době vystavení stavového slova na datovou sběrnici blokován adresový dekodér a tedy žádný jiný obvod na datovou sběrnici svá data vyslat nemůže, stejně ke kolizím musí zákonitě docházet. Pokud se totiž podíváte na časové průběhy instrukčního cyklu CPU 8080 uvidíte, že nulový impuls na /STSB (StaTusStroBe) je mnohem kratší, než doba, po kterou je stavové slovo procesorem vystavováno na sběrnici (viz. diagram níže). Je sice možné, že se počítá s poměrně dlouhou přístupovou dobou použitých pamětí (450ns, proto opatrně s moderními náhradami), ale přesto bych asi řadič 8228 přeci jen použil. Na funkci to nebude mít vliv :-) a kolize se nebudou muset řešit. Pouze signál zápisu do RAM se místo na /WR procesoru připojí na /MEMWR řadiče. Možná by bylo dobré na místo řadiče 8228 dát sokl a vyzkoušet funci počítače s ním i bez něj (příslušné piny D0-D7 a /WR, /MEMWR by se pak propojily propojkami přímo v patici).

Časování CPU 8080A

Jelikož není využit signál čtení z paměti (/MEMRD), dojde při pokusu o zápis na adresy, kde je EPROM, ke kolizi dat. Pokud by se použil řadič 8228, bylo by možné tento signál použít, ale není to nutné, když si to uživatel-programátor ohlídá.

Ze schématu je zřejmé, že periferie (klávesnice, displej a přídavný volitelný port) jsou mapovány jako paměť. Nelze s nimi tedy pracovat pomocí instrukcí IN a OUT, ale je nutné k nim přistupovat jako k pamětem. Jednotlivé paměti a porty uvolňuje adresový dekodér, který rozděluje paměťový prostor do bloků po 2 KB. EPROM je tedy na adresách 0000h - 07FFh, RAM je ale osazena jen 1 KB a zabírá tedy rozsah 0800h - 0BFFh, přestože má v tomto bloku vyhrazen prostor až do 0FFFh.

Obvody 8205 lze přímo nahradit typy 3205, 74LS138, 74S405. Pro obvod 8205, na který je připojen displej, by možná byla lepší náhrada v podobě obvodu 74LS145.

Obvody 8212 lze přímo nahradit typy 3212. Pokud oželíme absenci vstupu RESET (není vůbec nutný), lze použít i jiný latch, třeba 74LS373/573.

Dvojici obvodů 74LS125 lze nahradit jediným 74LS245. Lze však použít jakékoliv osmibitové třístavové brány (74LS241/541, 74LS373/573 a celá řada dalších).

Dvojici pamětí RAM 2114 lze nahradit jedinou 2KB RAM typu 6116. Počítač se tak dále zjednoduší. Pochopitelně lze použít i jiné náhrady. Současný sortiment obvodů je obrovský.

Zde si můžete stáhnout celý článek i s výpisem monitoru:

Cvičný mikropočítač s CPU 8080


Tak co, zkusí to někdo postavit?

*

*

*

Zkusil a funguje!

Už to vypadalo, že výše popsaný cvičný mikropočítač nikoho nezaujal, když tu najednou skončil ve schránce Nostalcompu mail:

Zdravím.
Tak jsem neodolal a postavil ten cvičný počítač 8080 ale se Z-80. Funguje to!!!!!

V originál schématu jsou dvě chyby:

1. ve výpisu monitoru chybí na adrese 0569h hodnota 0Bh
2. jsou přehozeny katody displejů - správně levý segment patří na Y7

V příloze pár foto a nově přebudované schéma. V budoucnu bude DPS.

Martin

A zde si můžete hotový a funkční cvičný počítač prohlédnout. Ještě k tomu displeji. Je to v originál schématu vlastně nakreslené zrcadlově. Znak který je připojen na Y7 je sice nakreslen úplně vpravo, ale má být úplně vlevo. Naopak znak nakreslený vlevo je ve skutečnosti poslední na pravé straně. Není tedy nutné nic ve schématu škrtat, jen se ty znakovky poskládají opačně:-)

cvičný mikropočítač s CPU Z-80
cvičný mikropočítač s CPU Z-80
cvičný mikropočítač s CPU Z-80
cvičný mikropočítač s CPU Z-80

cvičný mikropočítač s CPU Z-80

Kromě pěkně překresleného schématu Martin přiložil i odladěnou binárku s Monitorem, ale jedinou chybou ve výpisu byla jen ta zmíněná výše. Pochopitelně je možné binárku použít i s původním procesorem 8080.

    Cvičný mikropočítač: monitor + schéma

Tak už se moc těším na tu DPS. Ale to není vše. Martin totiž postavil i Savii a poslal její fotky.


RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2017