Forum: Mikrocontroller und Digitale Elektronik LCD auf untesch. Ports aufteilen / SPI Porterweiterung in C


von Zoltan (Gast)


Lesenswert?

Hallo,

Ich würde gerne in dem Thread gleich zwei Fragen stellen:

1. LCD
Ich versuche einen Porterweiterung für meinen AVR zu realisieren.
Daneben möchte ich aber noch einen LCD display anschließen. Das Progamm
zum Ansteuern des LCD stammt von Peter Fleury
(http://www.mysunrise.ch/users/pfleury/avr-software.html#examples).
Leider muss man laut lcd.h alle LCD Leitungen auf einen PORT lassen. In
diesem Fall bleibt mir aber nur noch der PORTB des ATMEGA8 für den LCD
übrig. Nun ist das Problem, dass sich eben auf PORTB der SPI befindet,
welches sich ideal zum Ansteuern der Schieberegister für die
Porterweiterung eignen würde.

Meine Ideen wären:
1. Schiebereigister per Software steuern...
2. ... eleganter wäre aber die LCD-Ports aufzuteilen (keine Ahnung
wie)

Das ist meine Frage: Wie kann ich das Programm von Peter so
modifizieren, dass ich wenigstens die  RS, RW und E Anschlüsse auf

unteschiedliche Ports legen kann?



2. SPI

http://www.mikrocontroller.net/attachment.php/30856/SPI_74HC595.pdf
Hat jemand zufällig eine Codeschnipsel in C, wie man diese Schaltung
über den SPI ansteuert?

Danke und mfg
Zoltan

von Peter Fleury (Gast)


Lesenswert?

Um meine LCD library möglichst kompakt zu machen, habe ich alle 7 LCD
Signale auf einen Port gelegt.

Meine Library kann aber leicht auf andere Ansteuerungsvarianten, z.B.
SPI, I2C, andere Pin-Belegung angepasst werden, indem die Routinen
lcd_write() und lcd_read() angepasst werden.

von Zoltan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Peter,

ich versuche grad Deine Code für mich anzupassen.  Das habe ich schon
gedacht, dass am lcd_write() /read() liegt. Ich habe es versucht
anzupassen, aber es funktioniert (noch) nicht. Ich habe alles mit //ZZZ
markiert, da wo ich Veränderungen vorgenomen habe.

von Zoltan (Gast)


Angehängte Dateien:

Lesenswert?

Und nochmal mit der aktuellen Version...

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.