[51 Mikrocontroller-Serie] Erstellen Sie eine 16x16-LED-Punktmatrix in Proteus

Referenzquellen für diesen Artikel:

  1. Tutorial zur 16x16LED-Punktmatrixproduktion in Proteus8.6
  2. 【Proteus】 Scrollende Wiedergabe mit 16×16 Punktmatrix


Die in Proteus bereitgestellte LED-Punktmatrix ist 5x7 und 8x8, wie unten gezeigt. Es gibt keine anderen Größen, aber die Software kann selbstgemachte Komponenten herstellen, sodass Sie die 8x8-Punktmatrix verwenden können, um eine 16x16-Punktmatrix zu erstellen.

LED-Punktmatrix von Proteus

1. Testen Sie die 8x8-Punktmatrix-Antriebsmethode in Proteus

Suchen Sie die 8x8-Matrix in Proteus wie folgt, klicken Sie mit der linken Maustaste auf [MATRIX-8X8-BLUE] und doppelklicken Sie, um mehrere Komponenten im Selektor anzuzeigen.

Bild-20231212112846998

Erstellen Sie wie folgt vier 8x8-Gitter.

Erstellen Sie vier 8x8LED-Matrizen

Mithilfe der Stromversorgung und der Erdung können Sie die Richtung des Stromflusses erkennen, die Zeilen und Spalten der oberen und unteren Schnittstellen steuern usw.

1.1 Stromflussrichtung prüfen

Fügen Sie den vier Gittern Strom und Masse hinzu, verbinden Sie sie wie folgt und starten Sie die Simulation. wie folgt:

proteus prüft die Richtung des Stromflusses im LED-Gitter

Aus den Ergebnissen geht hervor, dass die aktuelle Richtung des roten LED-Gitters von oben nach unten verläuft. Ändern Sie nun die Verbindungen des blauen, grünen und orangen Gitters wie folgt und führen Sie die Simulation wie folgt durch:

Proteus prüft die Richtung des Stroms, der durch das blaue, grüne und orange LED-Gitter fließt

Daraus kann geschlossen werden, dass im LED-Gitter im Proteus der rote Strom in der Aufwärts->Abwärtsrichtung und der blaue, grüne und orange Strom in der Abwärts->oben-Richtung fließt .

1.2 Testen Sie die Warteschlangensteuerungsschnittstelle

Mit der folgenden Verbindungsmethode können Sie testen, ob die obige Schnittstelle Zeilen oder Spalten steuert. Die Ergebnisse sind wie folgt:

Proteus-Check-Queue-Kontrollschnittstelle

Aus den Ergebnissen können wir die folgenden Schlussfolgerungen ziehen: Die LED-Punktmatrix in Proteus verfügt über rote Kontrollspalten für die obere Schnittstelle und Kontrollreihen für die untere Schnittstelle; blaue, grüne und orange Kontrollreihen für die obere Schnittstelle und Kontrollspalten für die untere Schnittstelle. Und die Schnittstelle steuert die erste Zeile bis zur letzten Zeile oder die erste Spalte bis zur letzten Spalte von links nach rechts.

Um das 8x8-LED-Gitter in Proteus zusammenzufassen: Die aktuelle Richtung verläuft von Spalte zu Zeile (1->0), die rote LED-Gitterschnittstelle verläuft von der oberen Spalte zur unteren Reihe und die blauen, grünen und orangefarbenen LED-Gitterschnittstellen sind von der oberen Spalte bis zur unteren Reihe .

2. Verwenden Sie die 8x8-Punktmatrix in Proteus, um eine 16x16-LED-Punktmatrix zu erstellen

Die detaillierten Schritte zum Erstellen einer 16x16LED-Punktmatrix unter Verwendung der 8x8LED-Punktmatrix in Proteus sind wie folgt. Hier nehmen wir Orange als Beispiel.

  1. Klicken Sie in der Menüleiste auf [Ansicht] und wählen Sie wie folgt [Snap 50th] aus

1-Snap50. Wahl

  1. Erstellen Sie wie folgt eine orangefarbene 8x8LED-Punktmatrix

2-Erstellen Sie eine orangefarbene 8x8LED-Matrix

  1. Zerlegen Sie die LED-Punktmatrix. Klicken Sie auf den Pfeil in der linken Symbolleiste, bewegen Sie die Maus zur LED-Punktmatrix, klicken Sie mit der rechten Maustaste, wenn der Komponentenhintergrund hellrot erscheint, und wählen Sie wie folgt [Zerlegen] aus.

3-Zerlegen Sie die LED-Punktmatrix

3-Zerlegen Sie die LED-Punktmatrix

  1. Klicken Sie in der linken Symbolleiste auf [S], wie unten gezeigt, um die zerlegten Teile der Komponente anzuzeigen.

4- Jeder Teil der Anzeigekomponente

  1. Schwarzen Hintergrund entfernen. Bewegen Sie die Maus über die Komponente und wenn der Hintergrund hellrot erscheint, klicken Sie mit der rechten Maustaste und wählen Sie [Objekt ziehen], verschieben Sie den schwarzen Hintergrund zur Seite und erstellen Sie wie folgt einen Hintergrund für die 16x16-Punktmatrix:

5-Mobiler schwarzer Hintergrund

  1. Schnittstelle kopieren. Kopieren Sie die folgenden Schnittstellen, um 16 Schnittstellen zu erstellen; wählen Sie 16 Schnittstellen aus und verschieben Sie sie beiseite, erstellen Sie eine Kopie, wählen Sie die kopierten 16 Schnittstellen aus, klicken Sie mit der rechten Maustaste und wählen Sie [Y-Spiegeln], wie unten gezeigt.

6-Kopier-Schnittstelle

  1. Duplizieren Sie die diagonale LED. Wählen Sie [LEDMATRIX_O_0_1] und kopieren Sie wie folgt 8 Punkte diagonal in die untere linke Ecke

7-Kopieren Sie die diagonale LED

  1. Explodieren Sie die kopierten diagonalen Punkte. Klicken Sie auf den Pfeil in der linken Symbolleiste, bewegen Sie die Maus zu den kopierten Punkten auf der diagonalen Linie, klicken Sie mit der rechten Maustaste, wenn ein hellroter Hintergrund erscheint, und wählen Sie [Zerlegen]; führen Sie diese Aktion für jeden der 8 kopierten Punkte wie folgt aus:

8- Explodieren Sie die kopierten Punkte auf der Diagonale

  1. Verschieben Sie die zerlegten Flags wie folgt in dieselbe Zeile

9-Verschieben Sie die zerlegten Flaggen in dieselbe Zeile

  1. Symbol erstellen. Wählen Sie die Flaggen und Punkte in derselben Spalte aus, klicken Sie mit der rechten Maustaste und wählen Sie [Symbol erstellen], geben Sie den Namen [LEDMATRIX_O_8_1] ein und das „O“ identifiziert Orange. Führen Sie diesen Vorgang für die Punkte und Flaggen auf der kopierten diagonalen Linie durch. Die Namen reichen von 8 bis 15. Klicken Sie nach jeder Namenseingabe wie folgt auf den Pfeil in der linken Symbolleiste

10-Symbol erstellen

Nachdem alles abgeschlossen ist, erhalten Sie im zerlegten Komponententeil Folgendes:

10-erstelltes Symbol

  1. Duplizieren Sie die Punkte auf der Diagonale. Wählen Sie [LEDMATRIX_O_0_0] aus, platzieren Sie es auf dem hellgelben Punkt und wiederholen Sie die Schritte 7, 8, 9 und 10. Der Unterschied ist: [LEDMATRIX_O_0_0] ist hier ausgewählt; der beim Erstellen des Symbols eingegebene Name ist LEDMATRIX_O_8_0, von 8 -15, wie folgt

Kopieren Sie die Punkte auf der Diagonale

11-Kopieren Sie die diagonalen Punkte

Zerlegen Sie die kopierten Punkte und verschieben Sie die Flaggen in dieselbe Zeile

11- Zerlegen Sie die kopierten Punkte und verschieben Sie die Flag-Bits in dieselbe Zeile

MakeSymbol

11-Symbol erstellen

  1. Kopieren Sie den gesamten Diagonalpunkt, um einen 16x16-Kreis zu bilden.Kopieren Sie nur die Punkte auf der Diagonale

12-Kopieren Sie die Punkte auf der Diagonale

Der Endeffekt ist wie folgt: Jede Linie kopiert nur die Punkte auf der Diagonale

12-16x16 Punkteffekt

  1. Schieben Sie die Flagge ganz links zur Seite, wählen Sie die verbleibenden Flaggen und die Schnittstellen in der oberen Reihe aus, löschen Sie sie und platzieren Sie die in Schritt 6 kopierten Schnittstellen wie folgt über und unter der Punktmatrix

13-Vervollständigen Sie die Schnittstelleneinstellungen

  1. Schnittstelleneigenschaften festlegen. Bewegen Sie die Flagge auf die Schnittstelle in der oberen linken Ecke, bewegen Sie die Maus über die Schnittstelle, doppelklicken Sie, wenn der Hintergrund hellrot erscheint, und bearbeiten Sie den Pin-Namen. Die oberen Schnittstellen sind 1-16 von links nach rechts und die unteren Schnittstellen sind APs von links nach rechts, wie folgt

14-Schnittstelleneigenschaften festlegen

  1. Ändern Sie den Komponentennamen. Bewegen Sie die Maus auf [NAME=MATRIX_8X8_ORANGE], doppelklicken Sie, ändern Sie die Eigenschaften im Popup-Fenster, ändern Sie 8 in 16 und ändern Sie die Schnittstelle wie folgt auf 16

15-Komponentennamen ändern

  1. Schwarzen Hintergrund einstellen. Wählen Sie den Hintergrund aus, bewegen Sie sich in die obere linke Ecke der Punktmatrix und ändern Sie die Größe des Hintergrunds so, dass er die 16x16-Punktmatrix wie folgt abdeckt

16-Set schwarzer Hintergrund

  1. Komponenten herstellen. Wählen Sie alles aus, was Sie gerade erstellt haben, klicken Sie mit der rechten Maustaste, wählen Sie [Gerät erstellen], denken Sie im Popup-Fenster weiter über [Weiter] nach, bis „Weiter“ ausgegraut ist, und entscheiden Sie sich, die Komponente in eine Bibliothek einzufügen. Informationen zum Einfügen der Komponenten in DISPLAY finden Sie im Blog-Beitrag. Bei der Erstellung stellen Sie jedoch fest, dass kein DISPLAY vorhanden ist. Sie können es auch in andere Bibliotheken einfügen. Hier habe ich es in USERDVC eingefügt . Befolgen Sie die nachstehenden Schritte, um die Produktion abzuschließen.

17-Komponenten herstellen

3. Testen Sie die erzeugte 16x16-LED-Punktmatrix

Nachdem die Komponente erstellt wurde, finden Sie sie wie unten gezeigt in der Komponentenbibliothek. Wählen Sie die Komponente aus und platzieren Sie sie auf der Schnittstelle.

Finden Sie die hergestellte Komponente LEDMATRIX-16x16-ORANGE

Bei Verwendung der Testmethode im ersten Abschnitt lauten die Ergebnisse wie folgt: Die Schnittstellensteuerung erfolgt spaltenaufwärts abwärts, die aktuelle Richtung ist aufwärts -> abwärts und es wird die erste Zeile bis zur letzten Zeile oder die erste Spalte bis zur letzten Spalte gesteuert von links nach rechts .

So verwenden Sie selbstgemachte Komponenten

Um die Verwendung der Komponenten klarer zu gestalten, finden Sie hier einige Änderungen an den selbst erstellten Komponenten. Die spezifischen Vorgänge sind wie folgt.

Erstellen Sie zunächst eine selbst erstellte 16x16-LED-Punktmatrix. Platzieren Sie die Maus auf der Komponente. Wenn der Hintergrund hellrot ist, klicken Sie mit der rechten Maustaste, wählen Sie [Zerlegen] und klicken Sie in der linken Symbolleiste auf [S]. Basierend auf dem obigen Test , können Sie wissen, dass die folgende Schnittstelle die Steuerzeile steuert, und dann die folgende Schnittstelle wie folgt nach links verschieben, um die Steuerzeile darzustellen

Drei: Ändern Sie die Zeilensteuerungsschnittstelle

Befolgen Sie dann Schritt 17 zur Herstellung von Komponenten, um Komponenten wie folgt herzustellen

3-Erstellen Sie die geänderte Komponente

Fügen Sie zu diesem Zeitpunkt die selbst erstellte Komponente erneut hinzu und stellen Sie fest, dass sie wie unten gezeigt aussieht.

3-Geänderte Komponenten

4. Verwenden Sie selbstgemachte 16x16LED-Punktmatrixkomponenten, um Zahlen und Zeichen anzuzeigen

Die Funktion dieses Experiments besteht darin, eine selbstgebaute 16x16-LED-Punktmatrixkomponente zu verwenden, um einfach die Zahl „1“ und das Zeichen „中“ anzuzeigen. Nutzen Sie direkt die 32 Schnittstellen des 51 Mikrocontrollers zur Anbindung an die LED-Punktmatrix, ohne weitere Zusatzmodule zu verwenden. Das Design in Proteus ist wie folgt:

Vier selbstgefertigte Komponenten zeigen Zahlen und Zeichendesign an

Das Softwaredesign ist wie folgt:

/*
	实现功能:74HC595芯片控制16x16LED点阵显示数字1和汉字中
	[2023-12-13] zoya
*/
#include "reg52.h"
#include "intrins.h"
#include "HC595.h"

#define GPIO_LED P0

// 显示数字 1
u8 hang1[] = {
    
    0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
u8 hang2[] = {
    
    0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0xfc, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00};
// 显示汉字 中
//u8 hang1[] = {0x00, 0x00, 0x00, 0x1f, 0x11, 0x11, 0x11, 0x7f, 0x11, 0x11, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00};
//u8 hang2[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
u16 lie=0x8000;
// 延时函数,i=1时延时10us
void Delay(u16 i)
{
    
    
	while(i--);
}

// 数码管显示函数
void digDisplay()
{
    
    
	u8 i;
	for(i=0;i<16;i++)
	{
    
    
		P0 = lie>>8;
		P1 = lie&0xff;
		P2 = ~hang1[i];
		P3 = ~hang2[i];
		Delay(100);
		lie = _iror_(lie,1);
	}
}

void main()
{
    
    
	
	while(1)
	{
    
    
		digDisplay();
	}
}

Die Simulationsergebnisse zeigen die Zahl „1“ wie folgt

Vier – Nummer 1 anzeigen

Die Simulationsergebnisse zeigen, dass die chinesischen Schriftzeichen „中“ wie folgt lauten

Chinesische Schriftzeichen mit vier Displays

Auch die 16x16-Punktmatrix aus Rot, Blau und Grün wird auf diese Weise umgesetzt.

Supongo que te gusta

Origin blog.csdn.net/sinat_41752325/article/details/134964882
Recomendado
Clasificación