Forum: Mikrocontroller und Digitale Elektronik Eprom Adressierung


von Stefan (Gast)


Lesenswert?

Hallo,

ich möchte für ein Retro-Projekt ein Dezimal zu 7-Segment (Anzeige) 
Decoder mittels Eprom aufbauen. Also die 7-Segmente (LED) schließe ich 
an den Datenleitungen D0 - D6 an. An den Adressleitungen A0 - A10 möchte 
ich zehn einzelne Taster anschließen. Wenn man nun jeweils ein Taster 
betätigt soll die die Ziffer (0 - 9) auf dem Segment aufleuchten. Die 
Beschaltung von Eprom (Pullup, etc.) ist mir bekannt. Ich möchte nun die 
richtige Adressen im Editor des Programmers beschreiben. Dort kann ich 
z.B. die Speicherstellen von 0000 - 7999 mit 00 oder FF beschreiben. Mir 
ist jetzt nicht klar, welche Speicherstelle nun der Taster an A0 - A10 
in meinem Editor hat. Dort möchte ich das Bitmuster 00 bzw. FF an die 
richtige Position für die 7-Segment Anzeige schreiben und brennen. Mit 
dem Taster wird nur immer eine Adressleitung auf Low gelegt. Alle 
anderen Adressleitungen bleiben auf High. Gibt es dafür irgendwo eine 
Tabelle für die Zuordnung der Adressleitung zur Speicherstelle, ich habe 
im Netz nichts gefunden.

Klar geht das heute alles einfacher mit fertigen TTL-Bausteinen, soll 
aber hier absichtlich mit einem alten Eprom aufgebaut werden.

Vielleicht kann mir jemand ein paar Tips zum Verständnis geben.

Vielen Dank
Stefan.

Beitrag #6702221 wurde vom Autor gelöscht.
von Stefan (Gast)


Lesenswert?

Richtig.

von Stefan S. (chiefeinherjar)


Lesenswert?

Stefan schrieb:
> Zuordnung der Adressleitung zur Speicherstelle

Angenommen, dein EPROM hat 8 Adressleitungen, dann stellt die Zahl, die 
dort an den Adressleitungen anliegt die Speicheradresse dar.
Wenn es beispielsweise so aussieht:
A0 = 0
A1 = 1
A2 = 0
A3 = 0
A4 = 0
A5 = 0
A6 = 0
A7 = 0

Dann liegt am Ausgang eben genau DER gespeicherte Wert an, der an der 
Adresse 0b00000010 bzw. 0x02 gespeichert liegt.

von Dietrich L. (dietrichl)


Lesenswert?

Stefan schrieb:
> An den Adressleitungen A0 - A10 möchte
> ich zehn einzelne Taster anschließen.

Das sind dann aber 11 Adressleitungen.

Stefan schrieb:
> Mir
> ist jetzt nicht klar, welche Speicherstelle nun der Taster an A0 - A10
> in meinem Editor hat.

Dann schreib die Bitmuster an A0...A9 auf ein Blatt Papier, wenn jeweils 
eine Taster gedückt ist. Das ist dann die Adresse. Wahrscheinlich willst 
du ein HEX-Darstellung haben. Dann musst du nur jeweils 4 Bits in 0...F 
umsetzen.

von A. S. (Gast)


Lesenswert?

Stefan schrieb:
> Mir
> ist jetzt nicht klar, welche Speicherstelle nun der Taster an A0 - A10
> in meinem Editor hat.

Wenn Du Pulldowns hast, und der Taster nach High zieht, dann sind die 
Speicherstellen für Taster Tx mit T0 an A0 ... T10 an A10:

2^(Tx)

Also 1 für T0, 1024 für T10, ...

von Stefan (Gast)


Lesenswert?

OK,

Alles klar, habe ich jetzt verstanden.

Vielen Dank.

von Adlaten raus (Gast)


Lesenswert?

Stefan schrieb:
> Vielleicht kann mir jemand ein paar Tips zum Verständnis geben.

Hab ich mal mit einer Excel Tabelle gemacht.

von Excel (Gast)


Lesenswert?

Adlaten raus schrieb:
> Hab ich mal mit einer Excel Tabelle gemacht.

Man muss nur jemanden finden, der verstanden hat, wie es funktioniert 
und das in Excel umsetzen kann. Eine Tabellenkalkulation kann einem nur 
die Fleißarbeit abnehmen.

von jo (Gast)


Lesenswert?

Was soll passieren, wenn du 2 (der noch mehr) Tasten gleichzeitig 
drückst?

von Georg (Gast)


Lesenswert?

Stefan schrieb:
> Alles klar, habe ich jetzt verstanden.

Eprom hat da Vorteile, wenn du dich vertan hast, löschen und richtig 
programmieren. Mit einem TTL-Grab wäre das nicht so einfach.

Georg

von H.Joachim S. (crazyhorse)


Lesenswert?

Dioden täten es auch.

von Georg (Gast)


Lesenswert?

jo schrieb:
> Was soll passieren, wenn du 2 (der noch mehr) Tasten gleichzeitig
> drückst?

Er braucht ja nur 7 Ausgänge, den übrigen kann er zur Fehleranzeige 
benutzen und eine Sirene ansteuern. Oder er zeigt ein E an für Error 
oder F für Fehler.

Grundsätzlich kann er ja 1024 verschiedene Eingangskonfigurationen 
erzeugen und für jede davon frei festlegen was angezeigt wird, ist nur 
etwas viel Arbeit.

Georg

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.