80C535 Port0 benutzen

Gast #429414
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
#429419
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
Gast #429429
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
Gast #429498
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
#429525
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.