Forum: Mikrocontroller und Digitale Elektronik LCD Denkfehler


von Stefan P. (scoop086)


Angehängte Dateien:

Lesenswert?

Hallo Leute!
Mir ist schon klar dass dieses Thema zur Genüge in diesem Forum 
existiert. Aber ich habe folgendes Problem!
Habe schon des Öfteren ein LCD Display mit dem 4-bit Modus 
(AVR-GCC-Tutorial) angesteuert und hat einwandfrei funktioniert! Jetzt 
haben ich mir das Ziel gesetzt eine Steuereinheit für mein 
Meerwasseraquarium zu bauen was mir bis jetzt gut gelungen ist! Die 
Leiterplatten sind schon alle geätzt und sind gelötet! Jedoch habe ich 
nicht bedacht das ich das Port C die Pins 0-6 für das Display benötige! 
Da ich I2C (atmega32) auch benötige habe ich die Pins PC2-PC7 für mein 
Display genommen (Bild)! So dies ist jetzt das Hauptproblem, habe mir 
denn Code immer und immer wieder durchgelesen und bin schon am 
verzweifeln! Bräuchte dringen eine Lösung um das Register um die 2 Bits 
nach links zu schieben ohne groß den Code zu ändern 
(http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung)
Danke im Voraus
mfg Stefan

von maxim (Gast)


Angehängte Dateien:

Lesenswert?

das wird nicht gehen Ich hatte so etwas aber mal vorbereitet (siehe 
Anhang)

einfach mal die auskommentierten Alternativen in der lcd.c nutzen und in 
der lcd.h die Sachen mit D4..D7 anpassen

von Stephan H. (stephan-)


Lesenswert?

Falls es nicht hin zu bekommen ist kann man LCd auch über 2 Leitungen 
mit Schieberegister ansteuern. Alternativ mit I2C. Man kann die Ports 
auch doppelt belegen ähnlich wie bei RAM und ROM. Dann muss das LCd und 
die andere Baugrupper mit einem CE versehen werden. Somit würde sich an 
einem Port ein LCD und ein Nummernblock betreiben lassen.

von Kluchscheißernder N. (kluchscheisser)


Lesenswert?

Stephan Henning schrieb:
> Falls es nicht hin zu bekommen ist kann man LCd auch über 2 Leitungen
> mit Schieberegister ansteuern. Alternativ mit I2C. Man kann die Ports
> auch doppelt belegen ähnlich wie bei RAM und ROM. Dann muss das LCd und
> die andere Baugrupper mit einem CE versehen werden. Somit würde sich an
> einem Port ein LCD und ein Nummernblock betreiben lassen.

Die Platinen sind bereits fertig (geätzt und bestückt).....

von spess53 (Gast)


Lesenswert?

Hi

>Falls es nicht hin zu bekommen ist....

Das ist trivial.

MfG Spess

von avr (Gast)


Lesenswert?

spess53 schrieb:
> Das ist trivial.

Wäre es, wenn man Zuordnung der Pins am Display und das
Programmfile kennen würde. Man kennt nur einen Link zum
Tutorial und SV1-Beschriftung.

Damit ist es nicht mehr trivial ;)

avr

von spess53 (Gast)


Lesenswert?

Hi

>Man kennt nur einen Link zum Tutorial und SV1-Beschriftung.

Hat er doch geschrieben:

>Bräuchte dringen eine Lösung um das Register um die 2 Bits
>nach links zu schieben ohne groß den Code zu ändern
>(http://www.mikrocontroller.net/articles/AVR-GCC-Tu...)
>Danke im Voraus

Es ist halt immer ein Problem, wenn man Code verwendet, den man nicht 
verstanden hat.

MfG Spess

von avr (Gast)


Lesenswert?

@Spess

Ich kann aus obigem nicht rauslesen ob er nur geschoben hat
also die LCD-Daten 4-7 jetzt PORTC 2-5 oder die Daten jetzt
auf PORTC 4-7 liegen.

Kannst du das ?

avr

von spess53 (Gast)


Lesenswert?

Hi

Die Lib ist für LCD-D7..4 auf PortX.3...0 ausgelegt. Er möchte es auf 
PortX.5...2 haben. Also lediglich die Nibbels etwas anders schubsen und 
die Masken anpassen.

MfG Spess

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.