Forum: Mikrocontroller und Digitale Elektronik LCD 4bit mit 4 tasten 1port


von Martin (Gast)


Lesenswert?

hi

ich brauche eine schaltung für ein lcd 4x20 4 tastern und das ganze auch 
aneinem port.

ist das moglich wenn ja wie.

martin.

von Klaus (Gast)


Lesenswert?


von Andy (Gast)


Lesenswert?

Hi,

Wenn Du 4 tasten als Matrix 2x2 an einen Port hängst, sie als Matrix 
abfragst, und die Datenleitungen des LCD mit an diese Ports hängst, dann 
geht das. Nach jedem Tastendruck muss dann lediglich eine Port 
Umschaltung Eingang -> Ausgang erfolgen, dann die daten auf dem LCD 
ausgeben, dann wieder umschalten Ausgang -> Eingang und weiter tasten 
abfragen... usw.....

von Martin (Gast)


Lesenswert?

das ist schon mal cool

ich bräuchte einen schaltplan
das µC board ist schon fertig.
und wollte jetzt mit dem lcd hardware
weiter machen.

thx
martin

von T.Danielzik (Gast)


Lesenswert?

Hallo Martin,

mit nur einem Port also 8-Bit ist das möglich.
Das LCD-Display schließt du im 4-Bit Modus an.
Die LCD-Pins D7, D6, D5, D4, E, R/W, RS werden dabei benutzt.
Die LCD-Pins D3, D2, D1, D0 werden dabei nicht benutzt.
Es werden für das LCD-Display 7 Bits benötigt.

Die Tastatur fragst du mit dem letzten 8 Bit ab,
die Tastaturleitungen einfach mit einem 74244 auf
die Datenleitungen D4-7 schalten.

So kannst du ein LCD-Display und 4 Tasten abfragen.

mfg
Torsten

von Peter D. (peda)


Lesenswert?

Andy wrote:

> Wenn Du 4 tasten als Matrix 2x2 an einen Port hängst

Ich hab noch nie ne 2*2 Matrix gesehen.

Wenn man sich mal überlegt, wieviel Portpins 4 Tasten oder ne 2*2 Matrix 
benötigen, dann weiß man auch, warum.
Erst ab 2*3 spart man einen Pin.

Du kannst die 4 Tasten über 4 Widerstände (1k) mit auf die 
Datenleitungen des LCD legen.
Die Widerstände sind nötig, damit beim Drücken das LCD keinen Mumpitz 
anzeigt.

Dann brauchst Du insgesamt 6 Portpins.


Peter

von Andy (Gast)


Lesenswert?

Also da komm ich jetzt nicht mehr mit.....

von Andy (Gast)


Lesenswert?

Jepp @Peter

Sorry, die Finger waren wieder schneller als mein Geist....

von Martin (Gast)


Lesenswert?

das hift mir jetzt nicht

kann wer was zu der hardware bei tragen?

von Stefan W. (wswbln)


Angehängte Dateien:

Lesenswert?

...aber nur weil Weihnachten ist....

von Andy (Gast)


Lesenswert?

Nur bitte für den 4 Bit Modus am LCD die Pins D4-D7 nehmen..

Sorry...

von Stefan W. (wswbln)


Lesenswert?

Oh, klar!
(Wie war das mit den schnellen Fingern? ;-) )

von Andy (Gast)


Lesenswert?

Ja, so gehts, muss sich niemand davor verstecken, gg Passiert wenn man 
schnell helfen will ;)

von Gast (Gast)


Angehängte Dateien:

Lesenswert?

Ein Beispiel habe ich Dir aus einer Anwendung ausgeschnitten, welches 
nur vier Portleitungen braucht.

Am 6-pol. Stecker werden neben Pin1(GND) und Pin2(VCC) weitere vier 
Portleitungen angeschlossen. Pin3-5 steuern dabei das Schieberegister 
4094 an, welches 4bit-weise das Display beschreibt und mit weiteren 4 
Bits einen DAC zur Kontrasteinstellung ansteuert.

An Pin6 liefert T1 ein '1' Signal, wenn einer der Taster geschlossen ist 
und am zugehörigen Pin des 4094 eine '0' ausgegeben wird. Um alle Taster 
einzulesen, muß das Abfrageprogramm nacheinander Q1-Q4 des 4094 einzeln 
auf '0' setzen, Pin6 einlesen und weiterverarbeiten (entprellen!). Damit 
das Display nicht verändert wird, muß man Bitmuster nehmen, die keine 
Auswirkung auf die Anzeige haben (z.B. Adressen vom Zeichensatz).

Mit geschickter Programmierung kann man auch noch ein EEPROM mit 
ansteuern, welches z.B. typische Displayeinstellungen speichert 
(Kontrast, Sprache,...)

Geeignet ist diese Schaltung für ein bewegliches Bedienteil, welches mit 
Abstand zur Hauptelektronik (1-2m Kabel) betrieben werden soll.

von Peter D. (peda)


Lesenswert?

Gast wrote:
> Ein Beispiel habe ich Dir aus einer Anwendung ausgeschnitten, welches
> nur vier Portleitungen braucht.

Wie wärs, wenn man sich den Plan auch ohne Spezialtools anschauen könnte 
(png, pdf)?


> Damit
> das Display nicht verändert wird, muß man Bitmuster nehmen, die keine
> Auswirkung auf die Anzeige haben (z.B. Adressen vom Zeichensatz).

Hä?

Dem Display ist wurscht, was an den Pins anliegt, solange E nicht auf 1 
gezogen wird.
Statt nem 4094 nehme ich immer ein 74HC164 im 8Bit-Modus.
Für den Kontrast ist einfacher ein PWM-Ausgang mit RC-Glied dahinter.


Peter

von Gast (Gast)


Angehängte Dateien:

Lesenswert?

Bitte schön!

Aber jetzt kann man die Netze nicht mehr eindeutig identifizieren.
Korrektur: an Pin6 wird eine '0' ausgegeben, wenn der zugehörige Ausgang 
Q1-Q4 eine '1' ausgibt.

>Statt nem 4094 nehme ich immer ein 74HC164 im 8Bit-Modus.
>Für den Kontrast ist einfacher ein PWM-Ausgang mit RC-Glied dahinter.

Hat der 74HC164 einen PWM-Ausgang?
Meine Tochter nimmt immer Buntstifte. Da kann man mal sehen, wie 
unterschiedlich die Geschmäcker sind!

von Martin (Gast)


Lesenswert?

thx @ all

das kann richtin was.

martin

von Martin (Gast)


Lesenswert?

hi

muss das Schieberegister auf das lcd abgestimmt sein

danke

von DarkBeast (Gast)


Lesenswert?

hmmm hast du dir mal den schaltplan vom RN-Control vom Roboternetz 
angeschaut ???????

Die lösen die Tastenabfrage über den A/D-Wandler vom AVR. Auf dem 
RN-Control immerhin 5 tasten an einem Portpin und das ohne Matrix.

Einfach per A/D-Wandler verschiedene Spannungsteiler per Taster 
einschalten und im AVR auswerten brauchst dann keine Schieberegister 
oder so.

Da dein LCD ohne busy abfrage nur 7 pins braucht haste den 8ten für die 
Taster.

von Werner Hoch (Gast)


Lesenswert?

Vor längerer Zeit habe ich auch mal eine Tastenabfrage mit den 
Datenleitungen des LCDs kombiniert, wie Peter es oben vorgeschlagen hat:

http://www.h-renrew.de/h/avrterminal/avrterminal.html

HTH
Werner

von Gast (Gast)


Lesenswert?

>muss das Schieberegister auf das lcd abgestimmt sein

Bei meiner Schaltung ja, da STR und E die gleiche Polarität haben 
sollten. Beim 74xx595 ist das auch der Fall. Dennoch bevorzuge ich 
"langsame" CMOS Bausteine, die weniger störempfindlich sind und wegen 
flacherer Flanken auch weniger stören.
Auch wenn sich dadurch hier jemand mal wieder gestört fühlen sollte ;-)

von Peter D. (peda)


Lesenswert?

Die 74HC164, 74HC595 und CD4094 sind völlig verschieden:

Der CD4094 hat ein Pegel-Latch, man kann ihn also auch als einfaches 
Schieberegister nehmen.

Der 74HC595 hat ein flankengetriggertes Latch (0->1), benötigt also 
immer eine Taktflanke zum Übernehmen.

Der 74HC164 hat gar kein Latch, was ja für die LCD-Ansteuerung auch 
völlig unnötig ist.
Die Daten können zappeln, wie sie lustig sind, solange E nicht gepulst 
wird. Deshalb hat er auch 2 Pins weniger (14 Pin Gehäuse).


Peter

von Martin (Gast)


Angehängte Dateien:

Lesenswert?

hi

ich hab denn trade vor einer weile geöffnet
und hab meinen schlatplan nun fertig.

wenn wer lust und zeit oder auf die schnelle noch einen tipp geben kann 
wäre echt cool.

thx

von Falk B. (falk)


Lesenswert?

@  Martin (Gast)

>Dateianhang: LCD_4bit_4taster.JPG (265,6 KB, 7 Downloads)

>wenn wer lust und zeit oder auf die schnelle noch einen tipp geben kann
>wäre echt cool.

Du solltest dich über Bildformate informieren. PNG statt JPG. Jaja, 
ich bin penetrant.

Und wozu der Heidenaufwand? Die RS-FlipFlops zur Entprellung? Kann man 
bequem in Software machen. Warum machst du es nicht einfach so wie hier?

http://www.mikrocontroller.net/attachment/29512/lcd_tast4.png

MFG
Falk

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.