mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD und UART am selben Port


Autor: Andreas Oberleitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab einen ATmega8 mit LCD Display an Port D (da ich die Platine
nicht ändern will, kanns nicht Port B sein). Wenn ich jetzt noch
zusätzlich die serielle Kommunikation verwenden will, ist das durch
dementsprechende Softwareänderung überhaupt möglich? Hat jemand sowas
schon gemacht?

lg
Andi

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal die Schaltung. Welches Display ist es? Vielleicht kannst Du
das Display im 4-Bit-Modus betreiben oder seriell, damit die UART-Pins
freiwerden.

Stefan

Autor: Andreas Oberleitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es handelt sich um ein HD44780-kompatibles Display, wie im Tutorial. Die
Initialisierung stammt vom CodeWizard von CodeVision, müsste also im
4Bit Modus laufen. Hier sind dann insgesamt 7 Pins des Prozessors
belegt.

Andi

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn die UART-Pins sich die Datenpins des LCD teilen, müsste es gehen.
Problematisch ist es nur, wenn es die Steuerpins sind, da könnte das
LCD meinen, ein Befehl wird gesendet, wenn am UART was passiert.

Sendest Du aber keine Befehle per Steuerpins an das LCD, kannst Du auf
den Datenpins machen, was Du willst.

Sebastian

Autor: Andreas Oberleitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist ja das Problem. Die Steuerpins hängen am Pin 0 bis 2 (RS,
R/W, Enable) vom Port D, genau dort wo der RxD (Pin 0) und TxD (Pin 1)
des mega8 liegt. Die Datenpins hab ich an den Pins 4-7 vom Port D
hängen.
Vielleicht sollte man das Display mittels Enable irgendwie wegschalten,
wenn man UARTet, und umgekehrt. Mal ausprobieren...

Andi

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehe ich als sehr schwierig an, das ohne Layoutänderung zu machen.
Du kannst zwar per TXD senden, ohne dass das Disply beeinträchtigt
wird. Aber wenn Du aufs Display ausgibst, wackelt der TXD-Output der
RS232, was Pseudodaten auf der seriellen Schnittstelle verursachen
kann.

Noch schlimme rist es mit der RXD-Leitung: für die RS232 musst Du sie
als Eingang (am mc) konfigurieren, für das lcd als Ausgang. Du hast
also einen Kurzschluss zwischen RS232-Treiber und mc, wenn Du fürs LCD
konfigurierst.

Wäre vielleicht ein Software-UART eine Lösung für Dich? Dann kannst Du
als RXD/TXD beliebige Pins nehmen. Ansonsten sehe ich keine andere
Möglichkeit außer Fädeln.

Stefan

Autor: Andreas Oberleitner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Software-UART hört sich sehr verlockend an. Gibts hier fertige Module,
und wie aufwändig wird die Geschichte dann?

Danke jedenfalls für den Tipp!!

Andi

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich selbst habe das bisher nur auf einem Nicht-AVR gemacht, kann Dir
also nicht weiterhelfen. Ich habe hier aber schon öfters drüber
gelesen, schau mal die Code- oder Linksammlung durch.

Oder frag Peter Danegger, der hat schon alles mal programmiert ;-)

Hardwareseitig bist Du nicht festgelegt, d.h. der RS232-Treiber soll
irgendwo extern aufgbaut werden?

Stefan

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.