41-MOD_KEY-Matrix-Library (ATMega)

-diese Library dient zum auswerten einer Matrix-Tastatur
von einem externen Modul das an die CPU angeschlossen ist.

-die Anzahl der Spalten/Zeilen der Matrix
und die Anschlussbelegung an der CPU muss im Treiber
eingestellt werden

-Minimal Tasten Matrix = 1×1 = 1 Taste
-Maximal Tasten Matrix = 8×8 = 64 Tasten

Funktionen :

1
2
void EXT_INIT_KEY_MATRIX(void);           // zum initialisieren der Tastatur Matrix
unsigned char EXT_KEY_MATRIX_READ(void);  // zum auslesen der Tastatur Matrix

Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//-----------------------------------------------------------------------------
// Title      : bsp_ub065_mk3_key_matrix
//-----------------------------------------------------------------------------
// Funktion   : Externe Matrix-Tastatur
// Schaltung  : myAVR MK3
//-----------------------------------------------------------------------------
// Prozessor  : ATMega2560
// Takt       : 16 MHz
// Sprache    : C
// Date       : 05.12.2012
// Version    : 1.0
// Autor      : UB
//-----------------------------------------------------------------------------
#define F_CPU 16000000
#include <avr/io.h>
#include <ub_ext_module/EXT_MOD_KEY_MATRIX.h>
#include <ub_mk3_2560/MK3_2560_LED.h>
 
//-----------------------------------------------------------------------------
// Hinweis : Eine externe Matrix-Tastatur muss angeschlossen sein
//           QuickJumper : Port-L muss geschlossen sein
//           An den LEDs wird die Tasten-Nummer der gedreuckten Taste angezeigt
//           (oder 0 wenn keine Taste gedrueckt ist)
//-----------------------------------------------------------------------------
int main (void)
{
  unsigned char wert;
 
  // Matrix-Tastatur initialisieren
  EXT_INIT_KEY_MATRIX();
 
  // LEDs initialisieren
  MK3_INIT_LED();
  // alle LEDs AUS
  MK3_LED_ZAHL(0x00);
 
  wert=0;
  while (true)
  {
    // Matrix-Tastatur abfragen
    wert=EXT_KEY_MATRIX_READ();
    if(wert>0) {
      // eine Taste ist gedrueckt
      MK3_LED_ZAHL(wert);
    }
    else  {
      // es ist keine Taste gedrueckt
      MK3_LED_ZAHL(0); // alle LEDs AUS
    }
  }
  return 0;
}

Hier die Library zum download :

UB_EXT_MOD_KEY_MATRIX_v100


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.