wie man einen String in 16 * 16 Dot Matrix von AVR druckt

Ich möchte den String "LED GAME" wie im Bild angezeigt ausgeben. Aber in der Punktmatrix gibt es nur 16 + 16 = 32 Pins. Gibt es eine Möglichkeit, eine Zeichenfolge von AVR zu Dotmatrix zu drucken?

enter image description here

0
Sie müssten einen Raster-Scan durchführen - durchlaufen Sie alle Zeilen kontinuierlich und schalten Sie die entsprechenden Spaltenbits für jede Zeile ein. Solange du das schnell genug machst, sieht das Auge es als kontinuierliche Anzeige, genauso wie eine altmodische CRT.
hinzugefügt der Autor Paul R, Quelle
Sie müssten einen Raster-Scan durchführen - durchlaufen Sie alle Zeilen kontinuierlich und schalten Sie die entsprechenden Spaltenbits für jede Zeile ein. Solange du das schnell genug machst, sieht das Auge es als kontinuierliche Anzeige, genauso wie eine altmodische CRT.
hinzugefügt der Autor Paul R, Quelle
Sie müssten einen Raster-Scan durchführen - durchlaufen Sie alle Zeilen kontinuierlich und schalten Sie die entsprechenden Spaltenbits für jede Zeile ein. Solange du das schnell genug machst, sieht das Auge es als kontinuierliche Anzeige, genauso wie eine altmodische CRT.
hinzugefügt der Autor Paul R, Quelle
Ziehen Sie die Verwendung von 4 8x8-LED-Matrix-Displays in Betracht und fahren Sie sie mit etwas wie dem MAX7219 . Es gibt viel Code dafür, diese Dinge mit AVRs zu steuern und sie miteinander zu verbinden. Einfaches "Reihen-zu-Zeit" -Multiplexen wird mit 1/16 Tastgrad wahrscheinlich nicht hell genug aussehen.
hinzugefügt der Autor Brett Hale, Quelle
Ziehen Sie die Verwendung von 4 8x8-LED-Matrix-Displays in Betracht und fahren Sie sie mit etwas wie dem MAX7219 . Es gibt viel Code dafür, diese Dinge mit AVRs zu steuern und sie miteinander zu verbinden. Einfaches "Reihen-zu-Zeit" -Multiplexen wird mit 1/16 Tastgrad wahrscheinlich nicht hell genug aussehen.
hinzugefügt der Autor Brett Hale, Quelle
Ziehen Sie die Verwendung von 4 8x8-LED-Matrix-Displays in Betracht und fahren Sie sie mit etwas wie dem MAX7219 . Es gibt viel Code dafür, diese Dinge mit AVRs zu steuern und sie miteinander zu verbinden. Einfaches "Reihen-zu-Zeit" -Multiplexen wird mit 1/16 Tastgrad wahrscheinlich nicht hell genug aussehen.
hinzugefügt der Autor Brett Hale, Quelle
Sie können auch 16x16 LED-Matrix-Displays mit eingebauter Steuerungshardware kaufen, aber ich habe keine Erfahrung damit.
hinzugefügt der Autor Brett Hale, Quelle
Sie können auch 16x16 LED-Matrix-Displays mit eingebauter Steuerungshardware kaufen, aber ich habe keine Erfahrung damit.
hinzugefügt der Autor Brett Hale, Quelle
Sie können auch 16x16 LED-Matrix-Displays mit eingebauter Steuerungshardware kaufen, aber ich habe keine Erfahrung damit.
hinzugefügt der Autor Brett Hale, Quelle

6 Antworten

Die meisten LED-Matrizen sind wie in diesem Beispiel intern aufgebaut:

LED matrix

Für eine 16x16 LED-Matrix haben Sie also 16 Pins für die Zeilen und 16 Pins für die Spalten. Um zu sehen, wie Ihre spezifische Matrix aufgebaut ist, müssen Sie ihr Datenblatt finden.

Um etwas auf das Display zu schreiben, setzen Sie die erste Zeile auf ON, alle anderen auf OFF und aktivieren die benötigten Spalten. Nach einer Verzögerung werden Sie die erste Zeile auf OFF setzen, die zweite Zeile auf ON und aktivieren Sie die Spalten, die Sie in der zweiten Zeile sehen möchten. Sie werden so durch alle Zeilen iterieren. Da die Verzögerung ziemlich kurz ist, sind Ihre Augen nicht schnell genug, um zu sehen, dass die LEDs die meiste Zeit aus sind.

Ich würde vorschlagen, einen Timer-Interrupt auf Ihrem Mikrocontroller zu verwenden und die Zeilen in der Interrupt-Routine zu durchlaufen. Auf diese Weise können Sie den Mikrocontroller problemlos für andere Dinge verwenden, ohne sich um Timing-Probleme zu kümmern.

3
hinzugefügt

Die meisten LED-Matrizen sind wie in diesem Beispiel intern aufgebaut:

LED matrix

Für eine 16x16 LED-Matrix haben Sie also 16 Pins für die Zeilen und 16 Pins für die Spalten. Um zu sehen, wie Ihre spezifische Matrix aufgebaut ist, müssen Sie ihr Datenblatt finden.

Um etwas auf das Display zu schreiben, setzen Sie die erste Zeile auf ON, alle anderen auf OFF und aktivieren die benötigten Spalten. Nach einer Verzögerung werden Sie die erste Zeile auf OFF setzen, die zweite Zeile auf ON und aktivieren Sie die Spalten, die Sie in der zweiten Zeile sehen möchten. Sie werden so durch alle Zeilen iterieren. Da die Verzögerung ziemlich kurz ist, sind Ihre Augen nicht schnell genug, um zu sehen, dass die LEDs die meiste Zeit aus sind.

Ich würde vorschlagen, einen Timer-Interrupt auf Ihrem Mikrocontroller zu verwenden und die Zeilen in der Interrupt-Routine zu durchlaufen. Auf diese Weise können Sie den Mikrocontroller problemlos für andere Dinge verwenden, ohne sich um Timing-Probleme zu kümmern.

3
hinzugefügt

Die meisten LED-Matrizen sind wie in diesem Beispiel intern aufgebaut:

LED matrix

Für eine 16x16 LED-Matrix haben Sie also 16 Pins für die Zeilen und 16 Pins für die Spalten. Um zu sehen, wie Ihre spezifische Matrix aufgebaut ist, müssen Sie ihr Datenblatt finden.

Um etwas auf das Display zu schreiben, setzen Sie die erste Zeile auf ON, alle anderen auf OFF und aktivieren die benötigten Spalten. Nach einer Verzögerung werden Sie die erste Zeile auf OFF setzen, die zweite Zeile auf ON und aktivieren Sie die Spalten, die Sie in der zweiten Zeile sehen möchten. Sie werden so durch alle Zeilen iterieren. Da die Verzögerung ziemlich kurz ist, sind Ihre Augen nicht schnell genug, um zu sehen, dass die LEDs die meiste Zeit aus sind.

Ich würde vorschlagen, einen Timer-Interrupt auf Ihrem Mikrocontroller zu verwenden und die Zeilen in der Interrupt-Routine zu durchlaufen. Auf diese Weise können Sie den Mikrocontroller problemlos für andere Dinge verwenden, ohne sich um Timing-Probleme zu kümmern.

3
hinzugefügt

Wie können Sie Pin 1 Of Dot Matrix identifizieren?

Der am weitesten links liegende Stift der Punktmatrix auf der gegenüberliegenden Seite des Etiketts "2088BH-B" ist Pin 1.

Sie können eine vollständige Idee von den zwei folgenden Bildern erhalten. Bildbeschreibung hier eingeben

enter image description here

Hoffe, das wird dir sehr helfen. Sie können auch den folgenden Code ausprobieren, der für die Darstellung von 9 in Punktmatrix geschrieben ist (Compiler: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
hinzugefügt

Wie können Sie Pin 1 Of Dot Matrix identifizieren?

Der am weitesten links liegende Stift der Punktmatrix auf der gegenüberliegenden Seite des Etiketts "2088BH-B" ist Pin 1.

Sie können eine vollständige Idee von den zwei folgenden Bildern erhalten. Bildbeschreibung hier eingeben

enter image description here

Hoffe, das wird dir sehr helfen. Sie können auch den folgenden Code ausprobieren, der für die Darstellung von 9 in Punktmatrix geschrieben ist (Compiler: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
hinzugefügt

Wie können Sie Pin 1 Of Dot Matrix identifizieren?

Der am weitesten links liegende Stift der Punktmatrix auf der gegenüberliegenden Seite des Etiketts "2088BH-B" ist Pin 1.

Sie können eine vollständige Idee von den zwei folgenden Bildern erhalten. Bildbeschreibung hier eingeben

enter image description here

Hoffe, das wird dir sehr helfen. Sie können auch den folgenden Code ausprobieren, der für die Darstellung von 9 in Punktmatrix geschrieben ist (Compiler: micro-C)

void main() 
{
     DDRB = 0b11111111;
     DDRC = 0b11111111;
     while(1)
     {
           PORTB=0b00000000; //1
           PORTC=0b10000000;
            Delay_us(5);

           PORTB=0b00000000;       //2
           PORTC=0b01000000;
            Delay_us(5);

           PORTB=0b00000000;          //3
           PORTC=0b00100000;
            Delay_us(5);

           PORTB=0b00000000;             //4
           PORTC=0b00010000;
            Delay_us(5);

           PORTB=0b10011110; //5
           PORTC=0b00001000;
            Delay_us(5);

           PORTB=0b10010010;       //6
           PORTC=0b00000100;
            Delay_us(5);

           PORTB=0b10010010;          //7
           PORTC=0b00000010;
           Delay_us(5);

           PORTB=0b11111110;             //8
           PORTC=0b00000001;
           Delay_us(5);

     }
}
0
hinzugefügt