Der Z80 ist einer der bekanntesten und weitverbreitetsten Mikroprozessoren. Trotz seines Alters ist er immer noch bei vielen Entwicklern beliebt. Jeder, der so seine "Kindheitserfahrungen" mit Z80-Maschinen gemacht hat, will ihn auch heute nicht missen. So ist der Z80 schon fast zu einem Kult geworden. Ganz nebenbei wird er auch in sehr vielen Geräten immer noch eingesetzt.
Die neuen, hochintegrierten Versionen sind durchaus auch heute noch einem
Mikrokontroller überlegen. Wenn man nur bedenkt, dass die meisten
Mikrokontroller nur einige Byte an RAM bieten, der Z80 aber 64kB
(Kilo Byte !!) Speicher in einem Stück (!) adressieren kann, werden
die Vorzüge des Z80 klar. So ist z.B. im Z84C15 eine Z80-CPU, ein
PIO, ein SIO, ein CTC, ein Taktgenerator und eine Watchdog Logik enthalten,
was auch nicht jeder Mikrokontroller bieten kann. Auch der große
und vor allem schnelle Befehlssatz spricht sehr für diesen Prozessor.
Ich habe ebenfalls meine ersten Programmiererfahrungen auf einem Z80 gesammelt. Vorher kannte ich zwar schon Basic auf einem Atari 800-XL, doch durch den Z80 habe ich die Assemblerprogrammierung erst so richtig begriffen. Was man so hautnah erlernt (bzw. erlebt) vergisst man nicht so schnell. Es ist deshalb nicht verwunderlich, dass ich bei meinem Maturaprojekt einen Z80 Prozessor eingesetzt habe.
Hier sind einige Texte (im Word-Format 7.0) aus meiner Schulzeit zusammengetragen, die sich mit dem Z80 beschäftigen.
Das gesamte Maturaprojekt "Solar-Info-Board" ist hier
zusammengestellt.
Ich habe es gemeinsam mit meinem Schulfreund Christian Pricken in
dreijähriger
Arbeit entwickelt, dem ich hier für seine Mitarbeit und für
alle Ideen und Anregungen recht herzlich danken möchte.
Am Anfang war nur die Idee. Nach drei Jahren, nicht immer ganz leichter
Arbeit, hing eine komplett in Eigenbau gefertigte Laufschrift in der Aula
unserer Schule. Und sie funktioniert auch nach fast 3 Jahren Betrieb immer
noch, wie ich mich vor kurzem überzeugen konnte.
Es ist eine Laufschriftanzeige mit einem 128x8 LED-Matrix. Der Z80 übernimmt
dabei die Steuerung der RS-232 Schnittstelle für die Befehlseingabe,
die Berechnung der Anzeigeeffekte, bis hin zur Ansteuerung der LEDs. Das
Betriebssystem ist durchgehend in Z80-Assembler programmiert, und ist im
assemblierten
Zustand 12kB (!) groß. Weiters besitzt es drei verschiedene Zeichensätze
mit der Möglichkeit weitere zu definieren. Mit über 60 Befehlen
kann der Text auf dem Display mit verschiedenen Effekten versehen werden.
Vom einfachen Verschieben und Überblenden bis hin zu komplexen Zufallsmuster
ist alles möglich.
=
Dieser Schaltplan zeigt im oberen Teil den Z80 mit RAM, EPROM und UART.
Links vom Z80 ist der Taktgenerator untergebracht, der den Prozessor mit
6MHz auf die nötige Rechenleistung bringt. Neben dem UART ist ein
weiterer Taktgenerator und Quarz für die Baudratenerzeugung. Im unteren
Teil ist der 32kB große Displayspeicher mit der notwendigen Lese/Schreib-Logik
zu sehen. Diese übernimmt die asynchron zum Prozessor arbeitende Ausgabe
der Bilder auf die Treibereinheit.
=
Dieser Schaltplan zeigt den Treiberteil, dessen Aufgabe es ist, die
1024 LEDs anzusteuern. Die Ansteuerung erfolgt natürlich in einem
Zeitmultiplex Verfahren. Auffällig sind die 4x32 Transistor-Reihen,
die wegen der besseren Kühlung einem Transistor-Array vorgezogen wurden.
Immerhin geht es hier um einen Impulsstrom von 100mA. Auf den beiden Kühlkörpern
befinden sich die 8 MOSFET-Leistungstransistoren, die die Zeilen steuern.
Bei Vollaussteuerung müssen sie 13A schalten, die über die 128
LEDs einer Zeile fließen.