Folientastatur an mega 32 und lcd

Gast #626894
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.
#626912
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
Gast #627363
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
Gast #627501
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
#628111
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren