www.mikrocontroller.net

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


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.....

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: T.Danielzik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also da komm ich jetzt nicht mehr mit.....

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jepp @Peter

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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das hift mir jetzt nicht

kann wer was zu der hardware bei tragen?

Autor: Stefan Wimmer (wswbln)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...aber nur weil Weihnachten ist....

Autor: Andy (Gast)
Datum:

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

Sorry...

Autor: Stefan Wimmer (wswbln)
Datum:

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

Autor: Andy (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
thx @ all

das kann richtin was.

martin

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

muss das Schieberegister auf das lcd abgestimmt sein

danke

Autor: DarkBeast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Werner Hoch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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/lc...

MFG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.