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
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
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.
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?
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...
"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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.