www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I/O Portpins 8051


Autor: Rüdiger Forch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein 8051 µC

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

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rüdiger Forch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Rüdiger Forch (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marko B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.