PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED Matrixanzeige



dirty_kivi
23.11.2006, 15:32
hallo zusammen,
ich habe ein rieses problem, ich muss mit den Schaltern 0-3 im binär die zahlen 0...9 auf eine LED Matrix anzeigen!
das problem ist, ich bin noch ein anfänger, das ganze muss ich in "array" machen.

die zahlen (ungewandelt in hex) :

unsigned char Zahlx[10][7]={{0x0E,0x11,0x11,0x11,0x11,0x11,0x0E}, // 0
{0x01,0x03,0x05,0x09,0x01,0x01,0x01}, // 1 Zahl
{0x0E,0x11,0x01,0x02,0x04,0x08,0x1F}, // 2 Zahl
{0x0E,0x11,0x01,0x06,0x01,0x11,0x0E}, // 3 Zahl
{0x02,0x06,0x0A,0x1F,0x02,0x02,0x02}, // 4 Zahl
{0x1F,0x10,0x1E,0x11,0x01,0x11,0x0E}, // 5 Zahl
{0x0E,0x11,0x1E,0x11,0x11,0x11,0x0E}, // 6 Zahl
{0x1F,0x01,0x01,0x02,0x04,0x08,0x10}, // 7 Zahl
{0x0E,0x11,0x11,0x0E,0x11,0x11,0x0E}, // 8 Zahl
{0x0E,0x11,0x11,0x0E,0x01,0x11,0x0E}}; // 9 Zahl

ich weiss nicht wie ich das ganze zusammen kombinieren soll ](*,)

die schalter sind = P5
und die LED-Matrix = P4

ich wäre euch sehr dankbar wenn mir jemand helfen könnte...
vielen dank kivi [-o<

Jaipur
24.11.2006, 14:37
zuerst musst du alle schalter einlesen, also den port 5. und anscheinend hast du an dem port nur 4 schalter, beispiel: die schalter sind von port5.0 bis port5.3, das bedeutet das dich die anderen portpins nicht interessieren, diese restlichen portpins musst du zuerst mit einer maske ausblenden.

make = 00001111

zahl = port5 & maske;

diese zahl kann jetzt einen wert von 0 bis 15 annehmen, du brauchst aber nur zahlen von 0 bis 9! ich würde die led matrix komplett AUS lassen wenn die zahl zu groß ist. wenn diese zahl jetzt aber im bereich deiner zahlen liegt, kannst du mit deiner matrix arbeiten.

zahl = 3

port4 = matrix[zahl]

und das war es schon, ich weiß jetzt aber nicht ob das verständlich war....