Referenzquellen für diesen Artikel:
Artikelverzeichnis
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.
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.
Erstellen Sie wie folgt vier 8x8-Gitter.
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:
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:
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:
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.
- Klicken Sie in der Menüleiste auf [Ansicht] und wählen Sie wie folgt [Snap 50th] aus
- Erstellen Sie wie folgt eine orangefarbene 8x8LED-Punktmatrix
- 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.
- Klicken Sie in der linken Symbolleiste auf [S], wie unten gezeigt, um die zerlegten Teile der Komponente anzuzeigen.
- 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:
- 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.
- 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
- 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:
- Verschieben Sie die zerlegten Flags wie folgt in dieselbe Zeile
- 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
Nachdem alles abgeschlossen ist, erhalten Sie im zerlegten Komponententeil Folgendes:
- 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
Zerlegen Sie die kopierten Punkte und verschieben Sie die Flaggen in dieselbe Zeile
MakeSymbol
- Kopieren Sie den gesamten Diagonalpunkt, um einen 16x16-Kreis zu bilden.Kopieren Sie nur die Punkte auf der Diagonale。
Der Endeffekt ist wie folgt: Jede Linie kopiert nur die Punkte auf der Diagonale
- 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
- 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
- Ä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
- 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
- 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.
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.
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 .
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
Befolgen Sie dann Schritt 17 zur Herstellung von Komponenten, um Komponenten wie folgt herzustellen
Fügen Sie zu diesem Zeitpunkt die selbst erstellte Komponente erneut hinzu und stellen Sie fest, dass sie wie unten gezeigt aussieht.
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:
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
Die Simulationsergebnisse zeigen, dass die chinesischen Schriftzeichen „中“ wie folgt lauten
Auch die 16x16-Punktmatrix aus Rot, Blau und Grün wird auf diese Weise umgesetzt.