Forum: Mikrocontroller und Digitale Elektronik 80C535 Port0 benutzen


von Browncoat (Gast)


Lesenswert?

Nochmal Guten Morgen, hab inzwischen einen Portmangel an meinem 80C535, 
daher wollte ich Port0 benutzen. Der wird ja gebraucht um die Daten aus 
dem externen Speicher zu lesen, bzw. um das Adresslatch anzusteuern. 
kann ich den trotzdem benutzen um z.B. ein LCD anzuschliessen? Solange 
aus dem RAM nichts kommt oder aus dem RAM nichts direkt auf die 
angeschlossene Peripherie geschrieben wird müßte es doch gehen. 
Umgekehrt, solange ALE nicht aktiviert wird, interessierts das Latch 
auch herzlich wenig aob da was an Daten (Adressen) kommt oder nicht. 
Müßte nach einem Speicherzugriff der entsprechende Wert auf Port0 noch 
gespeichert werden, für einen eventuellen späteren Zugriff oder macht 
der MC das automatisch?

MfG BC

von Peter D. (peda)


Lesenswert?

Ja, das geht mit ein paar Gattern:

E(LCD) = NOT( (/RD AND /WR) OR /CS(LCD) )

RS(LCD) = A0

R/W(LCD) = A1

/CS(LED) kommt von Deinem Adreßdekoder (die Adresse auf der das LCD 
liegen soll).


Achtung bei modernen 8051, da könnte die Zykluszeit (Minimalzeit für E = 
high) zu kurz werden.


Peter

von Browncoat (Gast)


Lesenswert?

Ich dachte eigentlich direkt an P0, ohne irgendwelchen Aufwand, unter 
der Voraussetzung, daß entsprechend keine Schreib/lesezugriffe auf den 
externen Speicher stattfinden, bzw. wenn gelesen wird muß das LCD taub 
geschaltet werden.

MfG BC

von Peter D. (peda)


Lesenswert?

Auf P0 wird ständig gelesen auf ROMless Typen, daher ist er nur für MOVX 
geeignet.

Jeder Schreibversuch auf P0 wird mit dem nächsten Codefetch gelöscht.


Peter

von Browncoat (Gast)


Lesenswert?

Na nicht nur, da über P0 ja auch die LO-Adresse für den externen 
Datenspeicher ins Latch geschrieben wird.

Ich brauche also den momentanen Zustand von P0 nicht speichern wenn ich 
da Daten hinschicke.

MfG BC

von Peter D. (peda)


Lesenswert?

Glaubs einfach mal, P0 existiert nicht auf ROMless 8051-ern.

Die P0-Leitungen sind dauerhaft als externes memory-Interface 
geschaltet.

Schreiben auf die P0-Adresse ist wirkungslos, Lesen gibt Mist zurück.


Probier mal folgendes:

DJNZ P0,  $

Bei internem ROM/Flash, endet diese Schleife irgendwann.

Bei ROMless mit externem ROM/Flash endet sie aber nie !


Peter

von Browncoat (Gast)


Lesenswert?

Aha, also nicht möglich. Also doch eine Porterweiterung basteln.

Vielen Dank

MfG BC

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.