Quellcode in Bascom für die Abfrage einer 3x4 Matrixtastatur.

Antwort

Um eine 3x4-Matrix-Tastatur in Bascom zu verwenden, kannst du den folgenden Beispielcode nutzen. Dieser Code zeigt, wie du die Tasten abfragen und die gedrückte Taste identifizieren kannst. ```bascom $regfile = "m8def.dat" ' Mikrocontroller-Typ (z.B. ATmega8) $crystal = 8000000 ' Taktfrequenz Dim row As Byte Dim col As Byte Dim key As Byte ' Pin-Definitionen für die Matrix-Tastatur Const row1 = Portb.0 Const row2 = Portb.1 Const row3 = Portb.2 Const col1 = Portb.3 Const col2 = Portb.4 Const col3 = Portb.5 Const col4 = Portb.6 ' Initialisierung Config Portb = Output Portb = &B00000000 ' Alle Pins auf LOW Do For row = 0 To 2 ' Setze die aktuelle Zeile auf LOW Portb = &B00000000 Portb = (1 << (row + 3)) ' Setze die entsprechende Zeile auf HIGH ' Überprüfe die Spalten If Not (Pinb.3) Then key = row * 4 + 1 ' Taste 1, 2, 3 If Not (Pinb.4) Then key = row * 4 + 2 ' Taste 4, 5, 6 If Not (Pinb.5) Then key = row * 4 + 3 ' Taste 7, 8, 9 If Not (Pinb.6) Then key = row * 4 + 4 ' Taste *, 0, # If key > 0 Then ' Hier kannst du die gedrückte Taste verarbeiten Print "Taste gedrückt: "; key Waitms 500 ' Entprellzeit key = 0 ' Zurücksetzen End If Next row Loop ``` In diesem Code wird die Matrix-Tastatur durch das Setzen der Zeilen und das Abfragen der Spalten abgefragt. Die Tasten sind in einer 3x4-Anordnung angeordnet, und jede Taste wird durch eine Kombination von Zeilen und Spalten identifiziert. Achte darauf, die richtigen Pins für deine Hardware zu konfigurieren.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Welchen KeyCode-Namen hat in VB.NET 2003 die Taste mit '°'/'^'?

In VB.NET 2003 (bzw. im .NET Framework allgemein) werden Tastenereignisse wie `KeyDown` oder `KeyUp` über das `KeyEventArgs`-Objekt behandelt, das die Eigenschaft `KeyCode` bereitstellt. Die Tast... [mehr]

Kann man bei der Programmierung die Escape-Taste mit einer anderen Taste kombinieren?

Ja, es ist möglich, die Escape-Taste mit einer anderen Taste zu kombinieren, allerdings hängt das Vorgehen stark von der jeweiligen Programmiersprache, dem Betriebssystem und dem Kontext ab... [mehr]

Wie füge ich einen 3D-Eigenvektor in die erste Spalte einer Eigen-Matrix(3, p) in C++ ein?

Um in eine Eigen-Matrix in C++ eine Spalte einzufügen, kannst du die Methode `col()` verwenden, um auf die gewünschte Spalte zuzugreifen, und dann die Werte des 3D-Vektors zuweisen. Hier ist... [mehr]