Folientastatur an mega 32 und lcd

Gast #626894
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.
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
Gast
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
Gast
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
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.
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.