www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EasyAvr5_Tastatur Problem


Autor: Martin Wi (martini)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

und zwar folgendes Problem, habe das EasyAvr Board 5, worauf sich 32 
Taster befinden, und jeder Taster mit einem Port verbunden ist, also 
keine Matrix.

Meine Frage wäre jetzt, wie ich es am geschicktesten machen könnte, zum 
einen überprüfen ob eine Taste gedrückt ist(per Interrupt?), wobei das 
sicher nicht das Problem sein wird vorerst, aber was nun wenn die Ports 
grad für was anderes verwendet werden? Wie kann ich hier eine 
Unterscheidung machen zwischen nen Tastendruck und dem Anderen? Ist dies 
überhaupt möglich?

aja Atmega16 und C wird verwendet ^^

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin Wi wrote:
> und zwar folgendes Problem, habe das EasyAvr Board 5, worauf sich 32
> Taster befinden, und jeder Taster mit einem Port verbunden ist, also
> keine Matrix.
...
> aja Atmega16 und C wird verwendet ^^

Der ATmega16 hat 32 IOs, wenn wirklich an jedem ne Taste hängt, dann 
hast Du 32 Eingänge und 0 Ausgänge.
So eine Schaltung ist einfach hirnrissig, da völlig funktionslos.

Mach ne 4*8 Matrix, dann kann der AVR mit den übrigen 20 Pins auch noch 
was tun.


> Wie kann ich hier eine
> Unterscheidung machen zwischen nen Tastendruck und dem Anderen? Ist dies
> überhaupt möglich?

Nein.


Peter

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf dem EasyAVR hängt jeder Port an einer Taste... Die Kunst ist halt, 
keine zu drücken die als Ausgang definiert ist - alternativ, das gesamte 
Tastenfeld abschalten (Potentialstecker ziehen).

Das Tastenfeld sowie die Leds sind als Schnell- und Funktionstest 
wunderbar geeignet. Wenn man eine Matrix benötigt, muss man entweder 
eine aus dem Zubehör bestellen oder einfach selber bauen.

http://www.mikroe.com/en/tools/easyavr5/

http://www.mikroe.com/en/tools/keypad/

Autor: Martin Wi (martini)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey

Erstmals danke für die Hilfe.

Ja wir machen jetzt ne 4x3 Matrix und schließen diese an PortD an.

@Jörg B. danke für die Links, da gibts ja noch paar Sachen an Zubehör 
für das Board.

Da du anscheinend das Board kennst, hätte ich noch ne Frage an dich.
Das normale LCD lauft ja schon mithilfe der LCD-Routine von hier, weißt 
du aber obs irgendwo noch so Beispielprogramme für das Board in C gibt? 
Die mitgelieferten sind ja leider nur in BASC und so.

Vor allem würd mich aber auch ne Grafik-LCD-Routine interessieren.

lg Martin

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich derzeit leider nicht mit dienen...
Einfach mal schauen, was da für ein Kontroller drauf ist und an welchen 
Portpins der angeschlossen ist... sollte eigentlich dann kein großes 
Problem sein ein C-Programm darauf anzupassen.

Autor: Martin Wi (martini)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey

controller ist ein S6B0108.

hm jo , hab da ne routine gefunden, mal schaun ob ichs hinkrieg..

aber danke für die hilfe.

lg

Autor: Martin Wi (martini)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch was, da der eine s6b0108 angeblich kompatible mit dem KS0108B ist, 
möcht ich wie gesagt die routine von ape verwenden. wobei ich noch net 
ganz den durchblick hab in bezug auf die anzahl der controller, zum 
einen auf meinem display, zum anderen, auf wieviel controller die 
vorhandene lcd routine abgestimmt ist.

wie kann man das rausfinden? bei meinem Display sind eben die Stellen 
mit U1, U2 und U3 gekennzeichnet.

danke im voraus
(und ja wenns noch länger dauert mach ich nen neuen beitrag ^^)

lg

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.