Forum: Mikrocontroller und Digitale Elektronik LCD und 7Segmente 74xx595 Kette


von Alex K. (derheld2k1)


Lesenswert?

Hallo Zusammen,

ich habe 2 Schieberegister 74HC595 kaskadiert.
Am ersten aus µC Sicht hängt ein LCD im 4Bit Modus, die Enable Leitung 
hängt extra direkt am µC. Am zweiten Schieberegister habe ich eine 
7Segment Anzeige.

Wenn nun die 7Segmentanzeige geupdated werden soll, so schiebe ich erst 
die 8Bits dafür und 8 Dummybits hinterher. Da ich dann die Enable 
Leitung des LCDs nicht ziehe, interessiert sich das LCD nicht für die 8 
Dummybits die nun anliegen.

Soweit so gut.

Wenn nun aber das LCD geupdatet werden soll, so schiebe ich nur die 8 
Bits dafür in die Schieberegister, ziehe dann RCK und Enable auf high. 
Dadurch werden aber die "alten" LCD Bits ins zweite Schieberegister 
geschoben, und die 7 Segment Anzeige zeigt Müll an.

Problem ist also klar, nur habe ich nicht wirklich eine Idee was ich 
dagegen machen kann.
Später kommen noch 20(!) 7 Segmentanzeigen hinter die erste, und ich 
möchte nicht alle 21 Anzeigen neu updaten nur weil ich neuen Inhalt ins 
LCD schreiben will.

Bitte keine Vorschläge dass ich LCD und 7 Segment trennen soll. Ich habe 
nicht genügend Pins am ATMega32, daher diese lange Schieberegisterkette.

Ich hoffe ihr habt eine Idee.

Grüße, Alex

von MaWin (Gast)


Lesenswert?

> nur habe ich nicht wirklich eine Idee was ich dagegen machen kann.

Nicht nur 8 bit reinschieben, sondern natürlich 16 bit
mit zusätzlich dem letzten Stand der 7-Segmetn Anzeige.

von Tim (Gast)


Lesenswert?

Enable Leitungen für die 7 Segment - Anzeige ?

LG

von Alex K. (derheld2k1)


Lesenswert?

Tim schrieb:
> Enable Leitungen für die 7 Segment - Anzeige ?

Das klingt gut, nur ist die Frage wie.
Ich hatte schon überlegt über einen AnalogSwitch oder Transistor die RCK 
Leitung zwischen LCD Schiebereg und erstem 7 Segment Schiebereg 
aufzutrennen.

Dazu bräuchte ich allerdings wieder einen freien IO am µC.
Oder eigentlich könnte auch noch einen Ausgang von LCD Schiebereg 
nutzen, an diesem sind dank 4Bit Modus noch 3 Ausgänge frei.

Was haltet ihr von der Idee?

von Peter D. (peda)


Lesenswert?

Du brauchst 4 IO-Pins vom MC.
3 IOs sind DIN, SCK und RCK der kaskadierten 20 LED-Register.

DIN und SCK gehen auch an ein 74HC164 (ohne Latch !) und erzeugen RS + 4 
Datenpins des LCD.
Man könnte aber auch gleich alle 8 Datenpins des LCD ansteuern und DIN 
ist dann RS.
Der 4. IO ist dann E des LCD.


Peter

von Alex K. (derheld2k1)


Lesenswert?

Peter Dannegger schrieb:
> Der 4. IO ist dann E des LCD.
Das ist im Moment auch so gelöst

> DIN und SCK gehen auch an ein 74HC164 (ohne Latch !) und erzeugen RS + 4
> Datenpins des LCD.
Super Idee!
Ich kann ja in der Kaskadenkette als erstes Element ein 74HC164 fürs LCD 
verwenden und dahinter die 74HC595 für die 7Segmente hängen.

Dann werden durch einen Highpuls auf RCK nur die 7Segmente geändert und 
durch einen Highpuls auf E des LCD nur dieses geändert.

Ich brauche also keinen Puls auf RCK fürs Update des LCDs, wodurch die 
7Segmente keinen Mist anzeigen.

Oder habe ich da was übersehen?

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.