Forum: Mikrocontroller und Digitale Elektronik z80 Schaltplan


von Michael S. (freak25)


Angehängte Dateien:

Lesenswert?

Hallo Community :D,

erstmal will ich euch mal kurz klar stellen wollen, was ich überhaupt 
mit dem Schaltplan machen möchte.
Ich habe auf Youtube ein Arduino Projekt gesehen. Link hier:

http://www.youtube.com/watch?v=8w8x0UnFdzY

Nun möchte ich das ungefähr genauso nachbauen und programmieren, nur mit 
dem Unterschied, dass ich kein Arduino Board mit einem Atmel Controller 
habe, sondern eine CPU z80 & co.

Ich weiss, dass viele jetzt kommentieren werden, dass ich die Zeit nicht 
für einen z80 verschwenden soll, sondern eher für einen modernen MCU. 
Das Problem ist, es soll ein Uni-Projekt sein, und da hab ich keine 
andere Wahl als ein z80 zu nehmen.

Der Schaltplan ist unten im Link zu sehen. Meine bitte an euch wäre, 
könnt ihr mir sagen, ob die Schaltung so an sich in Ordnung ist.

Ich könnt vorab sagen wo ich mir nicht so sicher bin, ob es richtig ist:
Undzwar, die PINs 4(Register Select) und 5(Read/Write) vom LCD sollen 
angestuert werden mit den Adressen A0 und A1. Diese sollen sie aber 
nicht direkt von der z80 bekommen, sondern von der PIO. Da hab ich 
einfach den PortA 6 & 7 genommen. Kann ich das so machen?

Noch was wäre zB der PIN 6(Enable) vom LCD. Der soll auch vom PIO 
angesteuert werden, weiss aber nicht wie ich das realisieren soll?

Ich benutze ein LCD von electronic assembly w404-nlw.
Datenblatt dazu: 
http://www.elv-downloads.de/Assets/Produkte/10/1072/107268/Downloads/107268_blueline-w_data.pdf

Den CLK-Eingang habe ich noch nicht angeschlossen, soll aber mit einem 
2.5 MHZ Quarz getaktet werden.

Bin für jede Antwort dankbar :D...

MfG

: Verschoben durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der E-Eingang am LCD wird noch gebraucht. Aus dem Datenblatt geht 
hervor, dass der E-Impuls mindestens 450ns lang sein soll, das sind 
etwas mehr als 1 MHz. Die 2,5MHz wären für das Display zu schnell. Auch 
der Z80 ist in unterschiedlichen Taktfrequenzen bis max. 10 MHz zu 
haben, üblicher sind aber 4-6 MHz oder nur 2 MHz.

von (prx) A. K. (prx)


Lesenswert?

Unbenutzte Eingänge lässt man nicht offen (CE/PIO, RESET) - sehr wohl 
aber unbenutze Ausgänge (IEO, A/BSTB, BUSAK, REFSH).

Für E/LCD käme evtl. ein invertiertes BSTB in Frage - so genau kenne ich 
den PIO aber nicht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Da das LC-Display über ein Businterface verfügt, könnte man es auch 
direkt an den Daten- und Adressbus des Z80 anschließen, damit spart 
man sich die PIO und etwas Programmieraufwand.

Sofern das Display nicht über ein selektierbares 8080- oder 
6800-Interface verfügt, muss man halt das 6800-Interface aus den 
Z80-I/O-Signalen nachbilden, d.h. r/w wird mit /WR verbunden, und das 
Enable-Signal wird aus /WR als auch /RD und /IORQ gebildet. RS wird mit 
A0 verbunden.

Da die PIO für die Abfrage der beiden Taster benötigt wird, brauchst Du 
einen Adressdecoder, der einerseits in die Erzeugung des Enable-Signales 
eingreift und andererseits das fehlende /CE-Signal der PIO liefern muss.

Wenn Du die Enable-Erzeugung so aufbaust, daß sie mit einem HIGH-Pegel 
aktiviert wird, kannst Du einfach A2 als Signal verwenden, und das 
gleichzeitig mit /CE der PIO verbinden.

Jetzt hast Du zwei I/O-Bausteine, die PIO, und das LC-Display. Die PIO 
belegt vier I/O-Adressen (0-3) und das Display belegt zwei I/O-Adressen 
(4&5), und wegen der fehlenden Ausdecodierung wiederholt sich diese 
Belegung alle 8 Bytes im I/O-Adressraum.


Wenn Du das Display zwingend mit der PIO ansteuern musst, dann:

> Diese sollen sie aber nicht direkt von der z80 bekommen, sondern
> von der PIO. Da hab ich einfach den PortA 6 & 7 genommen.
> Kann ich das so machen?

ist das in Ordnung. Das Enable-Signal des Displays kannst Du auf die 
gleiche Art und Weise mit der PIO erzeugen, also z.B. mit PortA Pin 5 
verbinden.

Was Du aber unbedingt machen musst, ist das fehlende /CE-Signal der 
PIO belegen - entweder mit Masse verbinden oder mit einer Adressleitung 
(A2 bietet sich an).

von Michael B. (laberkopp)


Lesenswert?

> ob die Schaltung so an sich in Ordnung ist.

Taster schalten nicht nur nach Masse, die baruchen noch eine PullUp.

50 Ohm an NC während A und C der Hintergrundbeleuchtung nicht versorgt 
werden ?

IEO an Masse obwohl es ein Ausgang ist ?

VEE scheinbar nicht an Masse.

CE nicht angeschlossen.

E offen gelassen.

RESET offen.

RFSH an VCC obwohl es ein Ausgang ist.

BUSACK, ASTB, BSTB auch.

> es soll ein Uni-Projekt sein

Au weia, deutsche Schmalspurstudenten. Es wurden zigtausende Z80 
Schaltungen gebaut, du musst bloss eine kopieren. Aber selbst das
überfordert aktuelle Studenten wohl. Lass es in China bauen, die
haben uns sowieso schon überholt, weil die Leute dort LERNEN.

von amateur (Gast)


Lesenswert?

Ich habe das Teil zwar seit 20 Jahren nicht mehr in freier Wildbahn 
gesehen, aber ist es richtig, IEO mit GND zu verbinden? Ob sich die 
I/O-Pins eines Ports Pinselektiv in ihrer Richtung festlegen lassen weiß 
ich nicht mehr.
Du benutzt ja A0 und A1 als Eingänge.

von H.Joachim S. (crazyhorse)


Lesenswert?

Wenn man nicht so viel Geraffel drumherum bräuchte, würde ich auch gerne 
wieder mal was mit dem ollen Z80 machen...

von Michael S. (freak25)


Angehängte Dateien:

Lesenswert?

Erst einmal vielen Dank für die Antworten.

Christoph Kessler (db1uq) schrieb:
> Aus dem Datenblatt geht
> hervor, dass der E-Impuls mindestens 450ns lang sein soll

Aber 450ns sind doch knapp 2.5 MHZ oder habe ich mich verrechnet. Wenn 
ich etwas runterstufe muss das doch eigentlich ganz gut klappen oder 
nicht?

A. K. schrieb:
> Unbenutzte Eingänge lässt man nicht offen (CE/PIO, RESET) - sehr wohl
> aber unbenutze Ausgänge (IEO, A/BSTB, BUSAK, REFSH).

Aus Eile habe ich vergessen nachzuschauen, welche PINS IN und welche OUT 
sind. Habe diese nun verbessert.

Michael Bertrandt schrieb:
> IEO an Masse obwohl es ein Ausgang ist ?

Siehe eine Zeile drüber!!!

Michael Bertrandt schrieb:
> VEE scheinbar nicht an Masse.

Wurde einfach nur vergessen. Kann mal passieren!!!

Michael Bertrandt schrieb:
> E offen gelassen.

Das wurde bewusst offen gelassen, weil ich nicht wusste wie ich diese 
ansteuern soll. Hättest du meine Frage mal richtig durchgelesen, dann 
wüsstest du, was ich eigentlich will.

Michael Bertrandt schrieb:
> Au weia, deutsche Schmalspurstudenten. Es wurden zigtausende Z80
> Schaltungen gebaut, du musst bloss eine kopieren. Aber selbst das
> überfordert aktuelle Studenten wohl. Lass es in China bauen, die
> haben uns sowieso schon überholt, weil die Leute dort LERNEN.

Dazu brauche ich wirklich nicht viel zu sagen. Sinn der Sache ist, wie 
du schon sagtest etwas zu LERNEN. Da ich auch anstrebe etwas zu lernen, 
kopiere ich die Schaltungen nicht, mache Sie stattdessen selbst. Ist ja 
auch egal, trotzdem DANKE, dass du dir es überhaupt mal angeschaut hast.
Du kannst wahrscheinlich alles von Geburt an.

Rufus Τ. Firefly schrieb:
> Wenn Du die Enable-Erzeugung so aufbaust, daß sie mit einem HIGH-Pegel
> aktiviert wird, kannst Du einfach A2 als Signal verwenden, und das
> gleichzeitig mit /CE der PIO verbinden.

Habe nun diese überarbeitet. Weiss aber nicht ob ich trotzdem einen 
Adressdecoder brauche. Wenn ja, kannst du mir ein Bauteil empfehlen?

Danke nochmals

von Frank K. (fchk)


Lesenswert?

Schau mal hier:

http://avr.cwsurf.de/?Minimales_Z80_System

Anstelle des EProms nimmst Du besser ein 28C256 EEPROM oder ein 29C256 
Flash. Dann musst Du nicht mit UV-Löschgerät hantieren.

fchk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael Schmidt schrieb:
> Aber 450ns sind doch knapp 2.5 MHZ oder habe ich mich verrechnet.

Du hast Dich verrechnet. Hier ist nur von der Dauer des High-Pegels des 
E-Signales die Rede -- bei 50% duty cycle kommt man auf etwa 1.1 MHz.

Wobei das nicht sonderlich relevant ist; ein Buszyklus des Z80 ist nicht 
nur ein Taktsignal lang, sondern mehrere. Und wenn ich mich recht 
erinnere, lässt sich notfalls mit Waitstates die Angelegenheit noch 
weiter verlangsamen. Bei 2.5 MHz ist ein I/O-Zugriff des Z80 jedenfalls 
langsamer als die vom Display geforderten 450 ns.


Was ist das genau für ein Display?

Viele Displaycontroller bieten ein umschaltbares Businterface, und 
können nicht nur das 6800-Businterface mit R/W- und E, sondern auch das 
8080-Businterface mit /RD und /WR unterstützen.

Ist der Betrieb des Displays über die PIO denn zwingend erforderlich? 
Ist das eine Designvorgabe, oder wird das nur so gemacht, weil keinem 
eine andere Möglichkeit eingefallen ist?

Michael Schmidt schrieb:
> Weiss aber nicht ob ich trotzdem einen
> Adressdecoder brauche.

Nein, wenn Du das Display an der PIO betreibst, dann brauchst Du keinen 
Adressdecoder. Den Part übernimmt die von Dir zu schreibende Software, 
die all das, was mit einer (kleinen) Handvoll Logikgattern oder (sofern 
das Display sich in den 8080-Mode versetzen ließe) fast ohne 
zusätzlichen Aufwand erledigen ließe, nachbilden muss.

von holger (Gast)


Lesenswert?

Ohne Abblockkondensator an jedem IC wird das schon mal gar nichts.

von Michael_ (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wobei das nicht sonderlich relevant ist; ein Buszyklus des Z80 ist nicht
> nur ein Taktsignal lang, sondern mehrere. Und wenn ich mich recht
> erinnere, lässt sich notfalls mit Waitstates die Angelegenheit noch
> weiter verlangsamen. Bei 2.5 MHz ist ein I/O-Zugriff des Z80 jedenfalls
> langsamer als die vom Display geforderten 450 ns.

Oh Gott! Ist das lange her. Aber interessant.
Wie ich mich auch dunkel erinnere, sind bei I/O sowieso zusätzliche Wait 
von Hause aus mit eingebaut?

von Uni-Kritiker (Gast)


Lesenswert?

> Das Problem ist, es soll ein Uni-Projekt sein,
> und da hab ich keine andere Wahl als ein z80 zu nehmen.

Z80 ist ja schön und gut, theoretisch egal, mit welchem Prozessor
man etwas lernt, weil man vieles auf andere Prozessoren
übertragen kann.

ABER: Die Zeit des Z80 ist vorbei. Wie viele aktuelle
Stellenanzeigen/Projekte sind noch mit Z80 zu finden?
Warum nicht einen modernen (ARM-)Prozessor a la Cortex-Mx
lernen und benutzen?
Freilich ist es für Professoren, Dozenten, Hiwis
ein erhöhter Aufwand den alten Schmonz auf etwas aktuelles
umzustellen. Man braucht vielleicht neue Vorlesungsscripte,
muss neue Hardware für Übungsaufgaben (in TGI) besorgen,...
Die alten Aufgaben/Scripte sind nach vielen
Jahrzehnten und zigmaligen Kopieren eh schon vergilbt
(aber zum Kopieren für die Studenten wirds schon noch reichen...)

Ist es das nicht wert, Studenten etwas beizubringen,
was ihnen wirklich etwas bringt und nicht nach x Semestern
im Altpapier-Container/aus dem Gehirn entsorgt wird.

Selbst wenn der Wille des Studenten da ist, in seiner Freizeit oder
vorbereitend für eine Klausur selbst mal etwas zu auszuprobieren,
zu entwicklen oder zu programmieren, wo findet man noch
bezahlbare Evalboard mit Z80 drauf? Kein Vergleich
(auch von der Schwierigkeit des Besorgens, der Inbetriebnahme)
mit aktuellen Prozessoren und das zu einem Spotpreis
(wie ein STM32 Discovery, eines der diversen LPCxpresso
und was es sonst noch von diversen Herstellern in dieser
Kategorie gibt).

von Holm T. (Gast)


Lesenswert?

Hmm.... http://en.wikipedia.org/wiki/Zilog_eZ80

Gruß,

Holm

(..nicht das ich den benutzen würde..)

von Reinhard Kern (Gast)


Lesenswert?

Michael Schmidt schrieb:
> kein Arduino Board mit einem Atmel Controller
> habe, sondern eine CPU z80 & co.

Hauptnachteil der Schaltung: kein Timer, kein Time Interrupt. Ich weiss 
ja nicht, wie du die Software schreiben willst, aber ohne Timer sind die 
Möglichkeiten extrem beschränkt. Dafür müsste aber noch ein CTC-Chip im 
System sein. Sowas wie eine Laufschrift mit gleichmässiger Bewegung ist 
dann zwar nicht ganz unmöglich, aber sehr schwierig und nichts für 
Anfänger.

Gruss Reinhard

von Michael S. (freak25)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Du hast Dich verrechnet. Hier ist nur von der Dauer des High-Pegels des
> E-Signales die Rede -- bei 50% duty cycle kommt man auf etwa 1.1 MHz.

Stimmt. Geht man mit einer Taktperiode von 900 ns aus, kommt man auf 1.1 
MHz.

Werde mein Quarz entweder auf tauschen oder ich handle mit Waitstates.

Rufus Τ. Firefly schrieb:
> Was ist das genau für ein Display?

Genau genommen ist es dieses hier:
http://www.reichelt.de/Hintergrund-blau/LCD-404B-BL/3/index.html?;ACTION=3;LA=446;ARTICLE=53954;GROUPID=3006;artnr=LCD+404B+BL;SID=12UMdK5X8AAAIAAFr5X1074fbecf248abe6b69cb03cd48a82174c

Denke nicht, dass mein LCD über einen 8080- oder 6800 Businterface 
verfügt, da ich im Datenblatt nichts gefuden hab.

Rufus Τ. Firefly schrieb:
> Ist der Betrieb des Displays über die PIO denn zwingend erforderlich?
> Ist das eine Designvorgabe, oder wird das nur so gemacht, weil keinem
> eine andere Möglichkeit eingefallen ist?

Nein ist es nicht. Ich wollt es über die PIO machen, weil ich die PIO 
parat hatte. Kann diese auch direkt an die CPU anschliessen, dass ist 
kein Problem.
Die Frage ist nur, ist mehr Hardware oder Software Aufwand besser :D?

von amateur (Gast)


Lesenswert?

Solang man die Finger vom WAIT lässt, dauert ein Memory-Zugriff 3 und 
ein IO-Zugriff 4 Klingelings.
Hust, ziemlich viel Staub auf den Unterlagen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael Schmidt schrieb:
> Werde mein Quarz entweder auf tauschen oder ich handle mit Waitstates.

Da muss Du nichts tauschen:

amateur schrieb:
> Solang man die Finger vom WAIT lässt, dauert ein Memory-Zugriff 3 und
> ein IO-Zugriff 4 Klingelings.

von Michael S. (freak25)


Lesenswert?

Reinhard Kern schrieb:
> Dafür müsste aber noch ein CTC-Chip im
> System sein.

Habe ein z80 CTC parat, also besser gesagt ein UB 857D. Kann ich 
gegebenfalls mit einbauen. Kannst du mir bitte nochmal genau sagen, 
wofür das in meiner Schaltung gut sein soll?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich schließe mich dem "Uni-Kritiker" an und gebe aus Protest keine 
sinnvolle Antwort.

@Michael Schmidt: wechsle die Uni, suche eine die Dich auf das 
Arbeitsleben vorbereiten kann.
Nicht vergessen: Ein Z80 im Lebenslauf ist so ähnlich wie "ich habe 
schon mal einen Lötkolben in der Hand gehabt".

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

CTC = Clock Timer Counter

von amateur (Gast)


Lesenswert?

Beim Betrachten der Unterlagen zur PIO sehe ich, dass ihr die Uhrzeit 
fehlt. "CLK System Clock (Input). The Z80 PIO uses the standard 
single-phase Z80 system clock."
... sonst tickst Du nicht richtig.

von bingo (Gast)


Lesenswert?

TMPZ84C015 und Z84C15 sind Chips mit dem Z80 plus eingebauter 
Peripherie, sozusagen SoC. Das macht alles furchtbar einfach.

von fredfraomflett (Gast)


Lesenswert?

Hallo Michael Schmidt Hallo zusammen.

Ich habe neulich auf einem Flohmarkt einen Z80 Mikroprofessor für 5Eur. 
gesehen, aber nicht mitgenommen. Wenn es nicht unbedingt ein 
Selbstbausystem sein muss, mal auf dem Aftermarkt (Ebay oder so) umsehen

gruß

von Holm T. (Gast)


Lesenswert?

...mir fehlt ein Feature der PIO bei heutigen MCUs: Die Fähigkeit ein 
Busregister zu bauen, d.h. Datenübernahme durch ein Strobesignal (unter 
Int Auslösung) bzw. Ausgabe in ein Register und Durchschalten der Daten 
auf einen BUS mit einem externen Read Signal. Das Ganze ohne 
irgendwelche Unterstützung durch die Software.
Ich habe das zwar auch nur im Zusammenhang mit alter Hardware benötigt, 
aber das scheint es nicht mehr zu geben.

Nur mal als Anmerkung..

Gruß,

Holm

von Reinhard Kern (Gast)


Lesenswert?

Michael Schmidt schrieb:
> Kannst du mir bitte nochmal genau sagen,
> wofür das in meiner Schaltung gut sein soll?

Das ist eine Frage der Software, von der war ja bisher nicht die Rede. 
Aber im YouTube-Film läuft ja was von rechts nach links durch, es gibt 
also ein festes Zeitraster, so dass die Anzeige alle x ms nach links 
rückt. Wie willst du das softwaremässig erzeugen? Wenn du deine Software 
in einer Schleife laufen lässt, müsstest du dafür sorgen, dass bei allen 
Möglichkeiten die Schleife zu durchlaufen immer die gleiche Anzahl 
Taktzyklen gebraucht wird, das ist selbst für einen erfahrenen 
Spezialisten eine Herkulesarbeit.

Deshalb hat praktisch jedes System einen, meistens mehrere Timer. Dann 
kann man z.B. alle ms einen Interrupt auslösen und so die ms zählen, 
oder zumindest kann man den Timer abfragen, ob er abgelaufen ist, wenn 
man sich an Interrupts nicht herantraut. Der Arduino hat genug davon.

Gruss Reinhard

von amateur (Gast)


Lesenswert?

>Habe ein z80 CTC parat...

Der CTC ist eigentlich, für die damalige Zeit, ein super komfortables 
Teil. Das aber auch, wie die heute "eingebauten" Timer/Counter, nur 
Ereignisse abgeleitet vom Systemtakt (CLK) generieren kann. (Div 16 bzw. 
256).

Also Eingriffe ins Speichertiming und ähnliches sind nicht drin. Genau 
wie bei den heutigen Teilen. Manche der Neuen können allerdings 1:1.

von Michael S. (freak25)


Lesenswert?

Markus Müller schrieb:
> Ich schließe mich dem "Uni-Kritiker" an und gebe aus Protest keine
> sinnvolle Antwort.
>
> @Michael Schmidt: wechsle die Uni, suche eine die Dich auf das
> Arbeitsleben vorbereiten kann.
> Nicht vergessen: Ein Z80 im Lebenslauf ist so ähnlich wie "ich habe
> schon mal einen Lötkolben in der Hand gehabt".

Die Absicht ist nicht hier zu diskutieren, ob ein z80 sinvoll für mich 
ist oder nicht. Nicht böse sein, aber solche Kommentare kann man sich 
sparen, wenn man eh keine sinnvolle Antwort geben möchte. Das macht das 
Thread nur unübersichtlich.

von Michael S. (freak25)


Lesenswert?

@Reinhard

Super erklärt, danke dir...
Erscheint mir logisch :D

von Peter B. (ich_bins)


Lesenswert?

Am INT fehlt ein Pull-Up Widerstand.
Reset nur am widerstand ist nicht gut, PowerOn Reset funktioniert nicht 
vernünftig beim Z80.

Musst du unbedingt einen Z80 nehmen oder kannt du auch einen 64180 
nehmen? der hat Timer und so ein Zeug mit drin. Aber Z80 Befehlssatz.

Interessehalber, was für einen Compiler nimmst du?

von Michael S. (freak25)


Lesenswert?

Peter Birkenstock schrieb:
> Musst du unbedingt einen Z80 nehmen

Yep leider jaaa.

Peter Birkenstock schrieb:
> Interessehalber, was für einen Compiler nimmst du?

Werde höchstwahrschein ein asm oder nasm compiler nehmen.
Weiss nicht, ob ich im Netz noch ein C-Compiler finden würde. Wäre 
eigentlich schöner.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael Schmidt schrieb:
> Werde höchstwahrschein ein asm oder nasm compiler nehmen.

Das sind keine Compiler. Das sind Assembler.

Ja, das ist etwas verwirrend, weil die Programmiersprache auch Assembler 
heißt, aber auch das Programm, das Assemblercode in Binärcode übersetzt, 
heißt Assembler.

Ein C-Compiler, der Z80-Code erzeugen kann, ist der SDCC:
http://sdcc.sourceforge.net/

von Georg A. (georga)


Lesenswert?

Ich verstehe die Uni-Kritiker nicht, allerdings kenne ich auch genügend 
von dieser Sorte Studenten, die immer nur mit dem Allerneuesten spielen 
wollen. Wenn sie als Erstsemester kein FPGA mit 1Mio Gatter und keine 
CPU mit 1GHz haben, ist alles Scheixxe und beklagen sich, wofür sie 
eigentlich Studiengebühren zahlen. Aber wenn man mal nachbohrt, ist da 0 
Verständnis der Grundlagen da ("Tristate, häh?"). Immer nur alles "haben 
wollen".

Der Z80 ist ein sehr schönes System, die Grundlagen eines Bussystems mit 
Peripheriebausteinen und dem ganzen Rest zu verstehen und auch ohne 
grosse Schwierigkeiten (aus HF-Sicht und vom Verdrahtungsaufwand her) 
aufbauen zu können. 68k wäre auch was, braucht nur mehr Leitungen... 
Wenn man in so einem System mal die (auch unvollständige) 
Addressdekodierung verstanden hat und wie RAM, ROM und Peripherie 
"zusammenhängen", ist es auch kein Problem, PCI, AMBA &Co zu verstehen. 
Aber von 0 auf AMBA ist schon ganz was anderes...

von Erich (Gast)


Lesenswert?

Du solltest für den Z80 nicht selbst was bauen / löten, wenn du noch 
wenig Ahnung hast.
Besorge dir den  http://en.wikipedia.org/wiki/Micro-Professor_MPF-I

Wird ab und zu bei Ebay gehandelt, hat geniales Arbeitsbuch dabei.
Mit Schaltbild, kompletten Listing des Betriebssystems.
Für erste Schritte in Assemblersprache durchaus geeignet, auch heute 
noch.
Dein Display kannst an den PIO-Stecker dort anschliessen.

Viele Infos auch im Internet.
GOOGLE:  microprofessor multitech
         uPF-1 multitech
Auch Bildersuche!
Nur den in Klapp-Buchform, mit der kleinen Tastatur.

Es gab auch deutschen Lehrgang von Christiani dazu.
Das wird aber durchaus noch relativ teuer gehandelt...
GOOGLE: mikroprofessor multitech Christiani
http://www.ebay.de/itm/ws/eBayISAPI.dll?ViewItem&item=290659839471&clk_rvr_id=424515311866

Gruss

von Peter B. (ich_bins)


Lesenswert?

Man glaubt es kaum, wir haben noch Platinen wo ein 64180 drauf werkelt. 
Für diese Bestimmte Anwendung tuts der vollkommen. Ist einmal entwickelt 
worden und läuft und läuft...
wir haben den Assembler / Compiler von
http://www.softools.com/zilogwinide.htm

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Erich schrieb:
> Du solltest für den Z80 nicht selbst was bauen / löten, wenn du noch
> wenig Ahnung hast.

Seh ich nicht so. Ausreichend Zeit vorausgesetzt, kann man dabei vieles 
lernen, was einem als Grundfertigkeit auch bei anderen Systemen hilft. 
Angefangen beim Zeichnen von Schaltplänen, beim Lesen von Datenblättern, 
beim Schaltungsentwurf und der praktischen Umsetzung (Prototyp auf 
Lochrasterplatine oder Frickelboard aufbauen), die "good engineering 
practices" wie die Dimensionierung und Unterbringung von 
Abblockkondensatoren und Stromversorgungsleitungen ...
Und natürlich die qualifizierte Fehlersuche, der Umgang mit 
Messtechnik, mit einem Oszilloskop, das Wiederkennen von Zeitabläufen 
aus den Timingdiagrammen im Datenblatt etc.

Das ist allerdings nichts, was man so ad hoc in ein paar Tagen auf die 
Reihe bekommt, aber es ist Grundlagenwissen.

von Michael_ (Gast)


Lesenswert?

Eine Möglichkeit wäre auch noch einen Gameboy zu mißbrauchen.
Anleitungen dazu gibt es massenweis im Netz.
Ist natürlich ein Z80 und das Display ist auch schon da.
Da du die UB857 genannt hast, frag mal in der Nachbarschaft, ob jemand 
einen LC-80, AC-1, Kramer-Computer ... hat.
Da werden sie geholfen.

von Peter B. (ich_bins)


Lesenswert?

Ich sehe das grösste Problem im EPROM oder hoffnungsvollerweise im 
EEPROM. Wenn er kein System mit irgendeinem minimal Monitor hat, oder 
einen EPROM Simulator, kann das ganz schön nervig werden bis man was am 
Laufen hat.

von M.A. S. (mse2)


Lesenswert?

Peter Birkenstock schrieb:
> Ich sehe das grösste Problem im EPROM oder hoffnungsvollerweise im
> EEPROM. Wenn er kein System mit irgendeinem minimal Monitor hat, oder
> einen EPROM Simulator, kann das ganz schön nervig werden bis man was am
> Laufen hat.

Tja nun! Wenn schon Steinzeit-Feeling, dann richtig!   :)

von W.S. (Gast)


Lesenswert?

Michael Schmidt schrieb:
> Das Problem ist, es soll ein Uni-Projekt sein, und da hab ich keine
> andere Wahl als ein z80 zu nehmen.

Es ist ganz gewiß kein Problem.

Der Z80 ist halt ein Mikroprozessor und kein Mikrocontroller. Dafür ist 
er als Studienobjekt, um erstmal die blutigen Grundlagen einer 
klassischen Architektur zu erlernen, immer noch sehr gut geeignet - und 
zwar sowohl in Hardwarefragen als auch in Softwarefragen. (Tip: besorg 
dir mal den Lampe,Jorke,Wengel)

Für die Überflieger hier, die sich selbst für zu großartig halten, um 
irgendwas auch nur anzusehen, was älter ist als 3 Monate, ist der Z80 
jedoch nix.

W.S.

von Joerg F. (Gast)


Lesenswert?

Beim Schaltungsdesign solltest du auf jeden Fall die Eingänge der Z80 
(CPU und PIO) nicht direkt an +5V legen. Besser ist es da einen 
Piullup-Widerstand zu verwenden.

Gruß Jörg

von M.A. S. (mse2)


Lesenswert?

W.S. schrieb:
> ...
> Der Z80 ist halt ein Mikroprozessor und kein Mikrocontroller. Dafür ist
> er als Studienobjekt, um erstmal die blutigen Grundlagen einer
> klassischen Architektur zu erlernen, immer noch sehr gut geeignet - und
> zwar sowohl in Hardwarefragen als auch in Softwarefragen. (Tip: besorg
> dir mal den Lampe,Jorke,Wengel)

> Für die Überflieger hier, die sich selbst für zu großartig halten, um
> irgendwas auch nur anzusehen, was älter ist als 3 Monate, ist der Z80
> jedoch nix.

Man kann jeder Zeit die Latrine mit der Zahnbürste putzen. (Der 
Vergleich ist ein wenig drastisch, ich weiß.)
Ob das quatsch ist oder nicht, hängt davon ab, aus welchem Grund es 
genau so geschehen soll und nicht mit effektiveren Mitteln.

- keine Mittel um seit den Mitte/Ende der 80er Jahre neue Hardware für 
die Ausbildung zu erwerben: ganz trauriger Grund.

- Grundlegendes über die Architektur von Mikroprozessorsystemen lernen:
Nun ja, es ist halt für heutige Verhältnisse ein wenige alt. Da, wo ich 
studieren durfte, hat man in den entsprechenden Laboren Ende der 80er 
von Z80 auf 68000-Systeme umgerüstet. Später kamen Motorola 
Signalprozessoren und -Controller hinzu. (Keine Ahnung, was dort heute 
gemacht wird.)

An einer mir bekannten Berufsschule war allerdings nach 2000 noch ein 
8085-System in Betrieb. Ich nehme stark an, hier waren finanzielle 
Mittel der Grund.

Sich zu fein sein, ältere Sachen anzufassen?
Ich meine schon, dass eine Ausbildung/ein Studium in einer technischen 
Fachrichtung moderne Konzepte vorstellen sollte statt auf veralteten 
Architekturen herumzukauen.

Gerade heute, wo man bestrebt ist, Schule und Studium zeitlich zu 
straffen, ist keine Zeit, beliebig lange im Urschleim herumzukriechen.
Grundlageneinführung: Ja natütlich! Aber unter verwendung zeitgemäßer 
Beispiele.

von M.A. S. (mse2)


Lesenswert?

Joerg F. schrieb:
> Beim Schaltungsdesign solltest du auf jeden Fall die Eingänge der Z80
> (CPU und PIO) nicht direkt an +5V legen. Besser ist es da einen
> Piullup-Widerstand zu verwenden.
>
> Gruß Jörg
Warum?

von Axel S. (a-za-z0-9)


Lesenswert?

Michael S. schrieb:
> W.S. schrieb:
>> ...
>> Der Z80 ist halt ein Mikroprozessor und kein Mikrocontroller. Dafür ist
>> er als Studienobjekt, um erstmal die blutigen Grundlagen einer
>> klassischen Architektur zu erlernen, immer noch sehr gut geeignet

Full ACK

>> zwar sowohl in Hardwarefragen als auch in Softwarefragen. (Tip: besorg
>> dir mal den Lampe,Jorke,Wengel)

Verwexest du das jetzt mit dem Kieser/Meder? Die drei Herren oben haben 
die Algorithmen-Bücher gemacht, die sind aber weitgehend 
Architektur-neutral.

> Ob das quatsch ist oder nicht, hängt davon ab, aus welchem Grund es
> genau so geschehen soll und nicht mit effektiveren Mitteln.

Es geht um das Verstehen der Zusammenhänge. Wieso sollten neuere 
Architekturen dafür besser geeignet sein?

> Ich meine schon, dass eine Ausbildung/ein Studium in einer technischen
> Fachrichtung moderne Konzepte vorstellen sollte statt auf veralteten
> Architekturen herumzukauen.

So viele "modernere Konzepte" findet man in der Realität gar nicht. Klar 
gibt es heute Pipelining und Fließkommaeinheiten und teilweise SIMD. 
Andererseits hat nach dem Z80 kein anderer Mikroprozessor mehr ein 
vergleichbar leistungsfähiges Interruptsystem gehabt wie den IM2.

> Gerade heute, wo man bestrebt ist, Schule und Studium zeitlich zu
> straffen, ist keine Zeit, beliebig lange im Urschleim herumzukriechen.

Wo das hinführt, können wir zur Genüge betrachten. Mobiltelefone 
brauchen heute Gigahertz-Multicore-Prozessoren, weil die Herren 
App-Programmierer überhaupt keine Vorstellung mehr davon haben, wie 
lange so eine arme CPU sich krumm legen muß, um nur eine Zeile Code der 
großartig abstrakten Programmiersprache auszuführen. Oder ich muß Dinge 
sehen wie einen Python-Interpreter in Java. etc.

PS: mir fällt noch ein Grund ein, an der Uni auf eine alte/abseitige 
Architektur zu setzen. Man schafft damit Gleichstand unter den Studenten 
bezüglich etwaiger Vorkenntnisse. Ich habe aus eben diesem Grund 
Modula-2 lernen dürfen.


XL

von Reinhard Kern (Gast)


Lesenswert?

Michael S. schrieb:
> moderne Konzepte vorstellen sollte statt auf veralteten
> Architekturen herumzukauen.

Wenn das heissen soll, dass man keine Grundlagen mehr braucht, sondern 
nur noch dem supermodernen Computer sagen muss, was er konstruieren 
soll, dann frage ich mich allerdings, warum ich dann noch einen 
Ingenieur einstellen soll, dann nehme ich doch gleich den Computer.

Etwas Handwerkszeug gehört eben schon dazu, so etwa was ist eine 
Adresse, was ist ein Bus, was ist ein Interrupt usw. usw. Was die Welt 
nicht braucht sind Ingenieure, die eine 3d-Koordinatentransformation 
formulieren können, aber nicht imstande sind ein Loch in ein Werkstück 
zu bohren. Jedenfalls nicht die Welt, in der die deutsche Industrie so 
erfolgreich ist.

Gruss Reinhard

von mse2 (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Wenn das heissen soll, dass man keine Grundlagen mehr braucht, sondern
> nur noch dem supermodernen Computer sagen muss, was er konstruieren
> soll, dann frage ich mich allerdings, warum ich dann noch einen
> Ingenieur einstellen soll, dann nehme ich doch gleich den Computer.
Nein, soll es nicht! Das habe ich auch so nicht geschrieben.
Es soll heissen, dass die Grundlagen auf einem etwas höheren Niveau 
anfangen müssen.
Man lernt heute in der Schule auch nicht mehr, Logarithmen aus 
Tafelwerken zu bestimmen und mit Rechenschiebern umzugehen. Warum nicht? 
Weil es selbst zu meiner Schulzeit, als man es noch gelernt hat, schon 
veraltet war!

von Dieter W. (dds5)


Lesenswert?

amateur schrieb im Beitrag #2954064:
> In den mir zu Verfügung stehenden Datenblättern stehe so Sachen wie:
> "Copyright 1979 by ..."

Neumodischer Kram ;-))

Ich habe hier die Zilog Datenblätter CPU und PIO von 1977.

von Peter B. (ich_bins)


Lesenswert?

Hab ich auf, kann auch noch mit CTC, SIO und DMA Controller aufwarten. 
Wir haben eine Menge Z80 oder dann den 64180 (Z180) verbaut.

von Helmut L. (helmi1)


Lesenswert?

Und wenn man an einem AVR,ARM,Cortex mehr Speicher anschliessen will als 
der intern besitzt braucht man genau die Grundlagen für 
Speicherdekodierung wie beim Z80. Also sind das Grundlagen die jeder 
Mikrocontroller Anwender beherrschen sollte.

von Georg A. (georga)


Lesenswert?

> Es soll heissen, dass die Grundlagen auf einem etwas höheren Niveau
> anfangen müssen.

Und was würde das zB. konkret heissen?

von Reinhard Kern (Gast)


Lesenswert?

mse2 schrieb:
> Es soll heissen, dass die Grundlagen auf einem etwas höheren Niveau
> anfangen müssen.

Grundlagen auf höherem Niveau sind eine Contradictio in Re. Aber bei 
deinen Grundlagen weisst du sicher nicht was das ist.

Es ist aber ganz sicher, dass das Ohmsche Gesetz (u.a.) auch für dich 
gilt, und die Tatsache wird dich bei aller Ignoranz gegenüber so 
altmodischem Zeug irgendwann einholen.

Gruss Reinhard

von Wusel D. (stefanfrings_de)


Lesenswert?

> r/w wird mit /WR verbunden, und das Enable-Signal wird aus /WR als auch /RD und 
/IORQ gebildet.

Das geht so nicht. Das R/W Signal muss bedeutend früher anliegen, als 
der Enable-Impuls. Deswegen würde ich dabei bleiben, das Display 
indirekt über der PIO Chip anzusteuern.

von Helmut L. (helmi1)


Lesenswert?

Reinhard Kern schrieb:
> Es ist aber ganz sicher, dass das Ohmsche Gesetz (u.a.) auch für dich
> gilt, und die Tatsache wird dich bei aller Ignoranz gegenüber so
> altmodischem Zeug irgendwann einholen.

Hehe Reinhard,

sowas altmodisches wie das Ohmische Gesetz etc. braucht man doch heute 
nicht mehr dafür gibt es doch Simulatoren wie LTSpice :=)

von mse2 (Gast)


Lesenswert?

Reinhard Kern schrieb:
> Grundlagen auf höherem Niveau sind eine Contradictio in Re. Aber bei
> deinen Grundlagen weisst du sicher nicht was das ist.
Latein. Die Sprache der Wissenschaften (...des Mittelalters).
Und: nein, ich verstehe tatsächlich kein Latain.

> Es ist aber ganz sicher, dass das Ohmsche Gesetz (u.a.) auch für dich
> gilt, und die Tatsache wird dich bei aller Ignoranz gegenüber so
> altmodischem Zeug irgendwann einholen.
Du kennst das Ohmsche Gesetz?!??
Auswendig?
In allen drei Ansichten?
Toll!

Bei derart massiver geistiger Überlegenheit deinerseits erübrigt sich 
natürlich jedes Gegenargument meinerseits.

Ich wünsche Dir trotzdem ein frohes Fest und einen guten Rutsch!
Michael

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Stefan Frings schrieb:
> Deswegen würde ich dabei bleiben, das Display
> indirekt über der PIO Chip anzusteuern.

Deswegen würde ich das Datenblatt des gottverdammten Displays ansehen 
und nachschauen, wie man den 8080-Modus für das Interface aktiviert, 
statt völlig unnötig das Busverhalten des 68xx nachzubilden oder das 
ganze mit einem Heidenaufwand mit einer PIO abzufrickeln.

von (prx) A. K. (prx)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Deswegen würde ich das Datenblatt des gottverdammten Displays ansehen
> und nachschauen, wie man den 8080-Modus für das Interface aktiviert,

Dass wird das übliche Text-LCD Interface sein. Mit dem üblichen HD44780 
drauf, oder einem Klon davon. Und der hat kein 8080er.

von Rufus Τ. F. (rufus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Leider nur als schlechte jpg-Datei, aber die wesentlichen Details sollte 
man trotzdem erkennen können.

von W.S. (Gast)


Lesenswert?

mse2 schrieb:
> Man lernt heute in der Schule auch nicht mehr, Logarithmen aus
> Tafelwerken zu bestimmen und mit Rechenschiebern umzugehen. Warum nicht?
> Weil es selbst zu meiner Schulzeit, als man es noch gelernt hat, schon
> veraltet war!

Ah ja. Mit Tafelwerken umgehen zu können ist also was Veraltetes.
Gilt das deiner meinung nach auch für solche Dinge wie das 
Gravitationsgesetz? Newton ist ja bekanntlich schon ne Weile tot.

Nee, unterscheide mal zwischen Bildung und Schulung. Ich versuch#s mal 
an nem Beispiel: Ein Pilot sollte sowas wie Aerodynamik, Fallwinde, 
Navigation, Turbulenzen, Auftrieb und so weiter kennen. Sowas ist 
Grundwissen für ihn, Bildung eben. Ganz anders ist das Thema Schulung: 
Um einen neuen Flugzeugtyp fliegen zu können, muß ihm beigebracht 
werden, wo die Knöpfe sind und was sie bewirken und wann und wie man 
dort draufdrückt.

Und so lernt man auch die Funktionsprinzipien auch eher an einem 
überschaubaren Mikroprozessor und benötigt dafür eben nicht den 
allerneuesten Quadcore.

Um jedoch den besagten Quadcore einsetzen zu können, braucht man 
Schulung an diesem speziellen Objekt. Verstehst du den Unterschied?

W.S.

von M.A. S. (mse2)


Lesenswert?

W.S. schrieb:
> Ah ja. Mit Tafelwerken umgehen zu können ist also was Veraltetes.
Ja, absolut!
Hier geht es nämlich um die Anwendung eines Handwerks, das durch 
technischen Fortschritt überflüssig geworden ist.

> Gilt das deiner meinung nach auch für solche Dinge wie das
> Gravitationsgesetz? Newton ist ja bekanntlich schon ne Weile tot.
Nein, absolut nicht!
Denn hier handelt es sich um ein Naturgesetz, das unabhängig davon, wann 
es erkannt wurde, gilt.

> Nee, unterscheide mal zwischen Bildung und Schulung. Ich versuch#s mal
> an nem Beispiel: Ein Pilot sollte sowas wie Aerodynamik, Fallwinde,
> Navigation, Turbulenzen, Auftrieb und so weiter kennen. Sowas ist
> Grundwissen für ihn, Bildung eben. Ganz anders ist das Thema Schulung:
> Um einen neuen Flugzeugtyp fliegen zu können, muß ihm beigebracht
> werden, wo die Knöpfe sind und was sie bewirken und wann und wie man
> dort draufdrückt.
Ich habe keinen Einblick in die Ausbildung von Piloten und weiß nicht, 
was dort als notwendiges bzw. 'nur' Hintergrundwissen definiert wird, 
denke aber zu verstehen, was Du damit sagen willst und gebe Dir auch 
hier grundsätzlich recht.


> Und so lernt man auch die Funktionsprinzipien auch eher an einem
> überschaubaren Mikroprozessor und benötigt dafür eben nicht den
> allerneuesten Quadcore.
Ja, auch damit hast Du recht. Man benötigt nicht den allerneuesten.
Ein Z80 taugt sicher dafür, die Grundlagen zu erlernen, das bestreite 
ich nicht.
Was spricht nun gegen die Verwendung eines modernen Controllers wie 
eines AVR? Oder auch einen ARM, wenn man sich das traut? (Kann ja ein 
kleiner sein).
Die Dinger kann man auch mit externem Speicher versehen, wenn es 
unbedingt darauf ankommt.

Bevor es Mikroprozessoren gab, hat man die Rechenwerke aus 
Standard-Logikbausteinen zusammengesetzt. Daraus kann man auch viel 
lernen.
Soll man es deswegen heute noch so tun?

Was man jeweils womit am sinnvollsten macht, hängt natürlich auch vom 
Schwerpunkt der jeweiligen Lehrveranstaltung ab.
Welches hier der genaue Rahmen ist, wurde, wenn ich diese Info nicht 
überlesen habe, nicht gesagt ('Uni-Projekt' ist zu wage).


> Um jedoch den besagten Quadcore einsetzen zu können, braucht man
> Schulung an diesem speziellen Objekt. Verstehst du den Unterschied?
Ja, durchaus.
Und es ist auch klar (ja, selbst mir!), dass in einem Labor/Projekt oder 
was auch immer es genau ist ein 64-Bit-Vielkernprozessor mit 
Stickstoffkühlung zum Einsatz kommen kann.
Die vielfältigen Gründe dafür müssen wir nicht aufzählen.

Im Übrigen hätte ich immer noch gerne den Grund dafür gewußt, warum hier 
"ein Z80-System eingesetzt werden MUSS".
Vielleicht gibt es dafür ja einen Grund, den selbst ich verstehe. 
Genannt wurde dieser bisher jedoch nicht.

Gruß,
Michael

von Stefan N. (stefan_n)


Lesenswert?

Holm Tiffe schrieb:
> Hmm.... http://en.wikipedia.org/wiki/Zilog_eZ80
>
> Gruß,
>
> Holm
>
> (..nicht das ich den benutzen würde..)

Die dinger sind toll. Ich entwickle gerade einen 
Mikrocomputer-Experimentierbausatz damit :)

Vielleicht finden sich dann ja ein paar Unis, die das kaufen, wenn Z80 
dort immernoch so populär ist ^^

von Helmut L. (helmi1)


Lesenswert?

Michael S. schrieb:
>> Ah ja. Mit Tafelwerken umgehen zu können ist also was Veraltetes.
> Ja, absolut!
> Hier geht es nämlich um die Anwendung eines Handwerks, das durch
> technischen Fortschritt überflüssig geworden ist.

Finde ich nicht. Denn das Prinzip kann man auch in der Software 
gebrauchen um z.B. eine Kennlinie anhand einer Tabelle (Tafel) zu 
linerarisieren.

Michael S. schrieb:
> Bevor es Mikroprozessoren gab, hat man die Rechenwerke aus
> Standard-Logikbausteinen zusammengesetzt. Daraus kann man auch viel
> lernen.
> Soll man es deswegen heute noch so tun?

Auch das. Die Grundprinzipien sind immer gleich ob mit Logik ICs des 
74xx Reihe oder ob das ganze in einem FPGA verdrahtet wird.

von Reinhard Kern (Gast)


Lesenswert?

Michael S. schrieb:
> Vielleicht gibt es dafür ja einen Grund, den selbst ich verstehe.

Das ist zuviel verlangt, da müssen wir wohl passen.

Gruss Reinhard

von M.A. S. (mse2)


Lesenswert?

Nur weil Du lateinisch sprichst und das Ohmsche Gesetz kennst, musst Du 
nicht von Dir im Majestätsplural sprechen.

Aber passe ruhig!

von M.A. S. (mse2)


Lesenswert?

Helmut Lenzen schrieb:
> Michael S. schrieb:
>>> Ah ja. Mit Tafelwerken umgehen zu können ist also was Veraltetes.
>> Ja, absolut!
>> Hier geht es nämlich um die Anwendung eines Handwerks, das durch
>> technischen Fortschritt überflüssig geworden ist.
>
> Finde ich nicht. Denn das Prinzip kann man auch in der Software
> gebrauchen um z.B. eine Kennlinie anhand einer Tabelle (Tafel) zu
> linerarisieren.
Ja, da hast Du wohl recht. Deswegen muss man es aber nicht in der Schule 
(9. oder 10. Klasse, wann immer es eben dran war) behandeln.
Schon gar nicht das manuelle herausholen von Daten aus Tafelwerken.
Im Übrigen macht man es auch heute nicht mehr.
Von mir aus findet es schade, ich tue es nicht.

> Michael S. schrieb:
>> Bevor es Mikroprozessoren gab, hat man die Rechenwerke aus
>> Standard-Logikbausteinen zusammengesetzt. Daraus kann man auch viel
>> lernen.
>> Soll man es deswegen heute noch so tun?
>
> Auch das. Die Grundprinzipien sind immer gleich ob mit Logik ICs des
> 74xx Reihe oder ob das ganze in einem FPGA verdrahtet wird.
Da wo es hinpasst gerne.
Aber sicher nicht, wenn ein Projekt mit CPU/MCU ansteht. Es sei denn, 
der Entwurf der selben ist hier das Hauptthema.

von W.S. (Gast)


Lesenswert?

Michael S. schrieb:
> Hier geht es nämlich um die Anwendung eines Handwerks, das durch
> technischen Fortschritt überflüssig geworden ist.

Auch das, was ein angehender Mathematiker an der Uni lernt, ist aus der 
jeweils höheren Sicht "Handwerk". Ich glaube nicht, daß die Fähigkeit, 
beispielsweise mit Tafelwerken umzugehen, etwas ist, das durch den 
technischen Fortschritt überflüssig geworden ist. Wie gut und sicher 
kannst du interpolieren? oder ne Koordinatentransformation durchführen? 
Solche Werke wie der Bronstein und seine Kollegen sind sowas wie 
Tafelwerke in konzentrierter Form und sie sind schlichtweg das 
Handwerkszeug des Mathematikers und Ingenieurs. Umgang mit sowas nicht 
gelernt? --> Bauchlandung.

Michael S. schrieb:
> Was spricht nun gegen die Verwendung eines modernen Controllers wie
> eines AVR? Oder auch einen ARM, wenn man sich das traut? (Kann ja ein
> kleiner sein).

Controller versus Prozessor?
Harvard versus v.Neumann?
Und ein ARM ist für das Erlernen von Grundlagen eher ungeeignet, weil 
viel zu komplex und zu häßlicher Befehlssatz. Da wäre ne MIPS schon eher 
geeignet, die Unterschiede zwischen CISC und RISC herauszuarbeiten 
einschließlich der trickreichen Reduktion des Befehlssatzes. Aber sowas 
sehe ich erst NACH dem Kapieren der eigentlichen Grundlagen.
Was wirklich FÜR den Z80 spricht, sind mehrere Gründe:
1. kein Controller sondern Prozessor, gut für das grundlegende 
Verständnis von CPU, Bus, Speicher, Peripherie, Taktung usw.
2. überschaubarer Befehlssatz
3. wirklich gute Bücher, so z.B. der bereits zitierte 
Lampe/Jorke/Wengel, die sowohl strukturiertes Denken lehren als auch 
anspruchsvolle Mathematik in Assembler lehren.
4. immer noch massenweise Code und Quellen als Beispiele.
Abgesehen davon lebt der Z80 in den aktuellen Chips von Zilog lustig 
weiter. Er ist zwar nicht mitten im Rampenlicht, aber deswegen noch 
lange nicht tot.

Mal ne Frage meinerseits: Was spräche denn FÜR die Verwendung eines AVR?
Schreib jetzt aber nicht als Grund, daß du grad einen in der Schublade 
hast..

Michael S. schrieb:
> Bevor es Mikroprozessoren gab, hat man die Rechenwerke aus
> Standard-Logikbausteinen zusammengesetzt. Daraus kann man auch viel
> lernen.
> Soll man es deswegen heute noch so tun?

Guck mal in die FPGA-Rubrik hinein. Dort ist genau dieses das tägliche 
Brot. Ich verstehe schon, daß jemand, der mal eben bloß irgendein Gerät 
mit ner Steuerung auf BASCOM-Basis versehen will, keine Lust hat, die 
Funktionalität eines Volladders etc. zu verstehen. Aber es gibt 
massenweise Jobs in der Elektronikindustrie, wo genau sowas an 
Vorbildung gebraucht wird - das zieht sich durch alle Branchen.

W.S.

von Jobst M. (jobstens-de)


Lesenswert?

Michael Schmidt schrieb:
>> Was ist das genau für ein Display?
>
> Genau genommen ist es dieses hier:
> http://www.reichelt.de/Hintergrund-blau/LCD-404B-B...

Hat das nicht 2 Enable-Leitungen?


Gruß

Jobst

von Michael S. (freak25)


Lesenswert?

Jobst M. schrieb:
> Hat das nicht 2 Enable-Leitungen?
>
>
> Gruß
>
> Jobst

Da hast du Recht, es hat 2 Enable Signale. Ich möchte fürs erste aber 
nur die ersten Beiden Zeilen ansprechen. Wenn alles funktioniert bau ich 
das Enable2 mit ein. In Eagle hab ich mein LCD 4x40 nicht gefunden. Da 
der 2x40iger ähnlich, nur mit einem Enable Signal, ist hab ich den 
genommen.

von M.A. S. (mse2)


Lesenswert?

W.S. schrieb:
> Was wirklich FÜR den Z80 spricht, sind mehrere Gründe:
> 1. kein Controller sondern Prozessor, gut für das grundlegende
> Verständnis von CPU, Bus, Speicher, Peripherie, Taktung usw.
> 2. überschaubarer Befehlssatz
> 3. wirklich gute Bücher, so z.B. der bereits zitierte
> Lampe/Jorke/Wengel, die sowohl strukturiertes Denken lehren als auch
> anspruchsvolle Mathematik in Assembler lehren.
> 4. immer noch massenweise Code und Quellen als Beispiele.
> Abgesehen davon lebt der Z80 in den aktuellen Chips von Zilog lustig
> weiter. Er ist zwar nicht mitten im Rampenlicht, aber deswegen noch
> lange nicht tot.
OK, Du (und auch der Threadstarter) hast/habt mich nicht überredet 
sondern überzeugt!
Mittlerweile sehe ich es auch so, dass ein Z80-System ein sehr gutes 
Ausbildungssystem ist, wenn es um Hardwaregrundlagen geht.


> Mal ne Frage meinerseits: Was spräche denn FÜR die Verwendung eines AVR?
Aus meiner Sicht sprachen (wie gesagt, ich sehe es inzwischen anders) 
Popularität, Verfügbarkeit der Hardware und kostenfreier guter 
Entwicklungstools.

> Schreib jetzt aber nicht als Grund, daß du grad einen in der Schublade
> hast..
Meine Schublade tut hier nichts zur Sache. Im Übrigen wäre die 
Schlussweise andersherum: Ich bin kein AVR-Fan, weil ich ihn 'in der 
Schublade habe'.
Ich habe ihn in der Schublade, weil ich ihn gut finde. Der Weg zu einer 
laufenden Lösung ist mit so einem Controller kurz.
Übrigens habe ich, irgendwo ganz weit hinten, in meiner Schublade auch 
noch ein paar Z80.


> Guck mal in die FPGA-Rubrik hinein. Dort ist genau dieses das tägliche
> Brot.
Ich meinte damit nicht, dass der Entwurf von Schaltnetzen und  -werken 
nicht mehr erlernt und geübt werden solle. Ich bezog meine Äußerung 
lediglich (zugegeben etwas provokant) auf ein prozessorhaltiges Projekt, 
bei dem es dann vielleicht doch etwas zu weit bottom-up wäre, so 
vorzugehen.



> Ich verstehe schon, daß jemand, der mal eben bloß irgendein Gerät
> mit ner Steuerung auf BASCOM-Basis versehen will, keine Lust hat, die
> Funktionalität eines Volladders etc. zu verstehen.
Ich gehe einfach ein Mal davon aus, dass Du mich damit nicht meinst!

Trotzdem: ja solche Leute gibt es und die haben auch ihre 
Daseinsberechtigung.
Im Hobbybereich sowieso, in allen sonstigen Bereichen, wo aus irgend 
welchen Gründen schnell eine Lösung her muss und wo der 
Themenschwerpunkt eine anderer als die Grundlagen der Hardwaretechnik 
ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.