PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastenmatrix



Mr-400-Volt
06.01.2007, 20:12
Hallo, ich heba mir eine Tastenmatrix mit 3*4 Tasten gebaut. Ich habe allerdings probleme mit der Abfrage.......
Die 4 zeilen sind mit Pullup´s an Pd0-PD3 , und die 3 spalten an PD4-PD6 angeschlossen. Aber folgendes geht nicht. Könnte mir da jemand weiter helfen ?

Danke !!!

Config Portd = &B11110000
Portd = &B11110000

For X = 4 To 6
Portd.x = 0
For Y = 0 To 3
If Pind.y = 0 Then
Taste = X * Y


End If
Upperline
Lcd Taste ; " "
Next
Portd.y = 1
Next

linux_80
06.01.2007, 23:45
Hallo,

evtl. dürfen wir doch auch den Schaltplan sehen, damit man weiss was Du da abfrägst, in der Theorie ja geht immer alles. :-)

Aber ich denke Du solltest immer 2 Eingänge einlesen, bzw. da alles auf einem Port reinkommt, einfach diesen Auslesen, und wenn PD0 und PD4 gesetzt ist, ist es Taste soundso.

Mr-400-Volt
07.01.2007, 01:08
Danke. Habe es so gelöst.....

For X = 4 To 6
Portd.x = 0
For Y = 0 To 3
If Pind.y = 0 Then
Y = Y + 1
Tast = X + Y
Tast = Tast * Y
Select Case Tast
Case 5 : Taste = 1
Case 6 : Taste = 2
Case 7 : Taste = 3
Case 12 : Taste = 4
Case 14 : Taste = 5
Case 16 : Taste = 6
Case 21 : Taste = 7
Case 24 : Taste = 8
Case 27 : Taste = 9
Case 32 : Goto Tonausgabe
Case 36 : Taste = 0
Case 40 : Goto Loeschen
End Select
If I < 5 Then
Folge_string = Folge_string + Str(taste)
Sound Buzzer , 40 , 200
I = I + 1
End If


End If

Next
Portd.x = 1
Next

Ratber
07.01.2007, 05:05
Hmmm.
Vieleicht übersehe ich da jetzt was zu dieser Stunde aber wenn du schon mit Bascom ne Matrix an einem Port nutzt warum nicht mit "Getkbd()" ?