mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 80C535 Port0 benutzen


Autor: Browncoat (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: Browncoat (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: Browncoat (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

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

Autor: Browncoat (Gast)
Datum:

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

Vielen Dank

MfG BC

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.