mikrocontroller.net

Forum: PC-Programmierung Folientastatur an mega 32 und lcd


Autor: Yankee007 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Leute,

habe mal nen paar fragen:

Möchte über eine Tastatur die ich bei Con+++ gekauft habe (709930-99) 
gekauft habe gerne einen zweistelligen code in den µ schreiben. der code 
den ich eingebe soll gleichzeitig auf einem LCD ausgegeben werden und 
erst bei drücken einer bestimmten taste fest in einer variablen gehalten 
werden.

Hat einer eine Idee wie ich die ja nur kurzen Tastimpulse der Tastatur 
auffangen kann? Müssten ja beide jewals kurz gespeichert werden und 
anschließend in einer variablen zur weiterverarbeitung vestgehalten 
werden.

Vielen Dank für eure hilfe.
Sollte jemandem etwas unklar sein fragt werde so schnell wie möglich 
antworten.

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interrupt? Regelmässiges (im Millisekundenbereich) abfragen der Ports?

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ganze in bascom geschrieben

interrupts brauche ich denk ich nicht, befinde mich in einer 
endlosschleife die nur dafür da ist die eingabe mitzubekommen und wenn 
eine betimmte taste gedrückt wird in ein bestimmtes den zahlen 
zugeornetes unterprogramm zu springen. und da soll er dann über einen 
normalen counter wieder raus in die endlosschleife

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir keiner helfen??? würde gerne weiter kommen doch mir fällt 
absolut nichts ein!

Autor: Stone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habs so gemacht.
-Alle Eingänge(der Folientastatur) auf High
-Alle Ausgänge hängt über Diode am Interrupt
-Wird ne Taste gedrückt wird der Interrupt ausgelöst
-Dann wird jede Zeile der Tastatur geprüft von welcher Taste der Int 
aüsgelöst wurde.
-Die Taste wird in einer Variable(S-Ram) gespeichter, beim Tastendruck 
könnest dus dann ins EE-Prom schreiben.

MfG Matthias

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst du mir das ganze mal als quellcode zeigen, verstehe so nicht 
genau wie du das gemacht hast. danke

Autor: Stone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das ganze Abfrageprogramm ist zu umfangreich, aber kurz erklären 
müsste auch gehen.

B1-4 sind die Zeilen der Tastatur(Eingänge)
A1-3 sind die Ausgänge der Tastatur
Y wird vom int gesetzt um den Programmablauf nicht in der intsub 
auszuführen
C bestimmt in welche Variable gespeichert wird
Code1-Codex Variablen in der der Tastenwert gespeichter wird


Dann B1-4 auf high


int:
Set Y
return

If Y=1 then

b1-4 auf low

dann b1 auf high
   If A1 = 1 Then X = 1
   If A2 = 1 Then X = 2
   If A3 = 1 Then X = 3
b1 auf low

b2 auf high
   If A1 = 1 Then X = 4
   If A2 = 1 Then X = 5
   If A3 = 1 Then X = 6
b2 auf low

.
.
.
Y=0(um auf den nächsten int zu waren)
b1-4 wieder auf high
incr c

end if

Subvergleichen:
c=1 then code1=X
C=2 then code2=X
.
.
.

und so weiter

So müsste es gehen
Wenn du noch Fragen hast sag bescheid.

MfG Matthias

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Abfrage einer 4x4 Tastenmatrix gibt es eine Routine namens GETKBD
Nähres in der Bascomhilfe..

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhhh gut ich denke dann werde ich aus gründen der einfachheit her eine 
neue tastatur kaufen und das mit einer 4x4 matrix machen. danke trotzdem 
für eure vorschläge. wenn ich noch mal probleme haben sollte werde ich 
mich wieder an euch wenden.

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nun da ich diesen getkbd befehl verwende, habe ich erneut ein paar 
fragen:
1. Wie kann ich nun den ersten Tastendruck einer Variablen zuweisen und 
den zweiten einer anderen?
2. Wie kann ich diese Variablen dann beim drpcken lassen einer 
Bestimmten Taste in eine dritte schreiben, welche dann am port C aniegen 
sollen?
3. Wieso funktioniert die in Bascom Simulator eingebettete Tastatur 
nicht?


Danke für eure hilfe!!!
Markus

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhhh kann mir keiner darauf antworten??? wäre echt nett wenn mir jemand 
bescheid geben könnte bin nämlich noch nicht so gut darin, will aber 
unbedingt das das am ende funktioniert wie ich es mir vorstelle.

Autor: Markus M. (yankee007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja danke nocham an alle die mir geholfen haben. habe es jetzt selbst 
hin bekommen.

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.