2 LCDs am Atmega8

Gast #730152
Hallo,

ich würde gern mit meinem ATmega8 2 LCDs gleichzeitig ansteuern. Dazu 
hab ich ein paar Fragen:

*) Packt das der uC überhaupt?

*) Kann ich dazu einfach die im GCC Tutorial vorhandenen Routinen 
abändern und verwenden? Ich hab mir das so gedacht: Ich mache eine 
lcd-1-routines.h und -.c, in der die Routinen eben lcd_1_init() etc. 
heißen, und ein zweites mal eine lcd-2-routines.h und -.c, in der heißen 
die Routinen dann lcd_2_init() und so weiter. (Ich hoffe ich hab das 
verständlich erklärt ^^)
In meinem Hauptprogramm include ich dann alle 4 Dateien und verwende die 
Routinen entsprechend.

Ziel ist es dann, auf Display 1 einen Countdown runterzählen zu lassen 
und auf Display 2 Zahlen anzuzeigen, die bei ablauf des Countdowns 
erhöht werden. Dann startet der Countdown automatisch von vorne.


Schonmal danke für eure Antworten,

Xai
@ Xai (Gast)

>ich würde gern mit meinem ATmega8 2 LCDs gleichzeitig ansteuern. Dazu
>hab ich ein paar Fragen:

>*) Packt das der uC überhaupt?

Kommt auf die LCDs an. Einfach alphanumerische oder kleine graphische 
(128x64 etc.) sind kein Thema. Grosse 320x200+++ sind schon ein anderes 
Kaliber.

>*) Kann ich dazu einfach die im GCC Tutorial vorhandenen Routinen
>abändern und verwenden?

Wenn die LCDs HD44780 kompatibel sind.

>Ziel ist es dann, auf Display 1 einen Countdown runterzählen zu lassen
>und auf Display 2 Zahlen anzuzeigen, die bei ablauf des Countdowns
<erhöht werden. Dann startet der Countdown automatisch von vorne.

Und warum nicht gleich ein 4x16 LCD?

MFG
Falk
Gast
Du kannst Port-Pins einsparen, wenn du alle Leitungen bis auf die
Enable-Leitung für beide Display gemeinsam verlegst. Damit brauchst du
bei 4-Bit-Datenübertragung 8, bei 8-Bit-Datenübertragung 12 Port-Pins,
also nur ein Pin mehr als bei einem Einzeldisplay.

Die Software müsstest du dann allerdings dahingehend anpassen, dass
über einen Parameter die jeweilige Enable-Leitung (und damit das
Display) ausgewählt werden kann. Die Routinen werden durch die
Modifikation etwas größer, du sparst dir aber die Kopie aller Routinen
für das zweite Display.

Insgesamt kannst du also auf diesem Weg sowohl Port-Pins als auch
Flash-Speicher einsparen.
Gast
@ Falk:

Mit dieser Frage hab ich gerechnet... der einfache Grund ist: ich depp 
hab 2 8x1 displays bestellt, frag nicht warum ich verstehs auch nicht...

@ yalu:

Leider bin ich ziemlicher Anfänger was das Programmieren angeht, deshalb 
hab ichs mir leicht gemacht g Ich weiß es ist sicher nicht die 
schönste Lösung, aber da ich vermutlich so schnell nichts mehr machen 
werde, reicht mir das


Auf jeden Fall vielen Dank für eure Hilfe, meine Befürchtung war nur 
dass es eventuell einen Konflikt bei den Variablen geben könnte.


MfG
xai
Gast
Man braucht nichtmal was anzupassen wenn die Software Displays mit 4x40 
Zeichen unterstützt. Diese Displays sind eigentlich zwei 2x40 Displays 
auf einer Platine weil der HD44780 nur 80 Zeichen unterstützt. Zwischen 
der oberen und untere Hälfte wird mit zwei Enable Leitungen 
umgeschaltet. Es besteht kein Unterschied zwischen einem 4x40 oder zwei 
einzelnen 4x20, außer in der Zeilenadressierung

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.