Forum: Mikrocontroller und Digitale Elektronik I/O Portpins 8051


von Rüdiger Forch (Gast)


Lesenswert?

Hallo zusammen,

ich hänge gerade an folgender Fragestellung:

Ein 8051 µC wird mit externem 64kByte Programmspeicher und externem
32kByte RAM betrieben. Wieviele I/O Portpins stehen noch für andere
Aufgaben zur Verfügung?

Ich habe doch beim 8051 4 Portpins. Soweit ich weiß betrifft der
externe Speicher nur Port 0 und Port 2. Aber ich komme nicht darauf wie
ich 64kByte bzw 32 in Portpins umrechnen kann.

Vielleicht kann mir ja jemand weiterhelfen?

Danke.


Gruß
R. Forch

von johnny.m (Gast)


Lesenswert?

> Ein 8051 µC

Soso. Ein 8051 µC... Und welcher?????

von Manfred (Gast)


Lesenswert?

Du hast 4 Ports zu je 8 Bit. Davon brauchst du 2 Ports für den
Adress-und Datenbuss, Achtung Multiplexbetrieb. Hinzu kommen die
Leitungen /ALE, /WR RD und /PSEN.
Also bleiben 32 -16 -4 = 12.

Gruß

Manfred

von Marko B. (Gast)


Lesenswert?

Manfred: ALE und PSEN\ sind separate Pins, die haben mit den Ports
nichts zu tun.

Der Bus braucht 16 Pins, eben Port 0 und 2, plus RD\ und WR\ von Port
3. Da der 8051 vier Ports mit je acht Bit hat, bleiben nach Adam Riese
32-16-2=14 Pins übrig.

Wenn Du zu wenig Pins hast kannst Du auch beliebig viele 82C55 an den
Bus hängen. Jeder 82C55 hat 24 I/O Pins.

von Rüdiger Forch (Gast)


Lesenswert?

Danke für eure Hilfe.

Echt top. Es bleiben also 14 Pins übrig. Das heißt die größe der
externen Speicher beeinflusst die übrigen Pins nicht?

von johnny.m (Gast)


Lesenswert?

64KBytes sind 65536 (2^16) Bytes. Um die zu addressieren braucht es also
16 Bit. Du hast 8 Bit Datenbus und 16 Bit Addressbus, wobei letztere
gemultiplext werden, so dass da auch nur 8 Bit anfallen. Das sind also
2*8 Bits für Daten und Adresse plus die Steuersignale, die es
ermöglichen, bis zu 64KBytes an externem Speicher anzusprechen. Bei den
8051ern ist es afaik nicht möglich, bei kleinerem Speicherbedarf
Portpins als GPIO freizugeben, wie es z.B. bei den AVRs möglich ist
(Man berichtige mich, wenn ich da falsch liegen sollte!). Deshalb
brauchts beim Anschluss von externem Speicher immer die 2 Ports.

Mein erstes Posting bezog sich übrigens auf die Tatsache, dass es den
8051 an sich schon lange nicht mehr gibt. Da Du was von '4 Portpins'
geschrieben hast (gehe mal davon aus, dass das 4 Ports heißen sollte),
war nicht ganz klar, was Du meintest. Gibt schließlich auch 8051er mit
wesentlich mehr I/Os...

von Rüdiger Forch (Gast)


Lesenswert?

Ja 4 Ports hätte es richtig heißen müssen. Danke.

von Peter D. (peda)


Lesenswert?

"Wenn Du zu wenig Pins hast kannst Du auch beliebig viele 82C55 an den
Bus hängen. Jeder 82C55 hat 24 I/O Pins."


Oh Gott, muß man denn unbedingt solche Urviecher aus dem Museum klauen
?
Die haben doch auch kaum Treiberleistung.


Das einfachste ist erstmal, nen 8051 mit internem Flash und Bootloader
zu nehmen, z.B. AT89C51ED2, dann sind schon mal alle 32 Pins frei
verfügbar, bzw. bei der PLCC-68 Version sogar 6 Ports (=48 Pins).


Und wenns immer noch nicht reicht, nimmt man 74HC165/74HC595 als
Erweiterung, spart Unmengen an Zeit bei der Layoutentwicklung, da nur 5
Leitungen benötigt werden.


Peter

von Marko B. (Gast)


Lesenswert?

Peter: was hast Du gegen den 82C55? Den benutze ich immer um meine
TIL311 an den 8080 anzuschließen. ;-)

Aber mal im Ernst: wenn Rüdiger einen 8051 mit externem ROM und RAM
betreiben will, dann legt er wohl nicht so großen Wert darauf, die
allerneueste Technologie zu benutzen. Und wenn man sowieso schon einen
externen Bus hat, dann ist der 82C55 sehr nützlich, weil er keine
weiteren Pins belegt.

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.