Wir verbinden das "inländische" LCD 16x2 MT-16S2S per SPI



Der Trend der Importsubstitution drängte darauf, die symbolische LCD-Anzeige von MELT zu testen. Wir haben den MT-16S2S auf dem ST7070 genommen. In gewisser Weise ist dies ein Analogon zum weithin bekannten WH-1602 auf 44780. Es unterstützt auch den SPI-Modus.

MELT sammelt auch Anzeigen auf dem Haushaltscontroller KB1013VG6 von Integral. Der Betrieb im 4-Bit-Modus unterscheidet sich vom Standard 44780, der bereits zum Standard geworden ist.

Auf der Website des Herstellers finden Sie einen Beispielcode für das Arbeiten in verschiedenen Modi. Aber es ist in Assembler und unter einer abstrakten Plattform in einem Vakuum geschrieben. Das Remake auf STM ist wie ein erneutes Schreiben. Die Erfahrung mit der Verwendung von vorgefertigten Bibliotheken, selbst für den üblichen 44780, kann ich nicht als positiv bezeichnen. Sie müssen lange unter dem gewünschten Plattform- und Controller-Modell bearbeitet werden. Und die meisten von ihnen verwenden die Verzögerungsfunktion unter AVR, die „aus irgendeinem Grund“ für STM nicht vorgesehen ist. Und selbst das, was angefangen hat, funktioniert sehr schlecht, nimmt jetzt etwas heraus und friert dann ein. Daher wurde beschlossen, eine eigene Bibliothek zu schreiben.

Darüber hinaus verfügt der MT-16S2S über eine weitere Funktion: die SPI-Schnittstelle, mit der Sie die Anzahl der verwendeten Controller-Beine auf 4 reduzieren können. Die Ausgabe wird also präzise über SPI organisiert.


Das Befehlssystem wird ausführlich beschrieben. Im Allgemeinen ist es in der gesamten gegenwärtigen Situation, in der es im Alltag fast keine Haushaltselektronik gibt, sehr angenehm, wenn auch ungewöhnlich, die Beschreibung von Mikroschaltungen und anderen Produkten auf Russisch zu lesen (nicht aus dem Englischen oder Chinesischen übersetzt, wie „Tiger Balm White Drops Death Building Protein“). Es stimmt, manchmal stößt man auf solche Perlen, dass man denkt, "es wäre besser auf Englisch". Aber hier ist alles in Ordnung.


Die Verbindung ist fast Standard. VCC, E, D0-D4 plus Leistung, A0, GND, R / W und PSB gegen Masse; Schließen Sie den Controller an: D5– an CS, D6 –– an SCK, D7 –– an MOSI, XRES– an einen beliebigen GPIO. Ich habe mich mit MISO verbunden, als verwalten Sie es immer noch programmgesteuert. Auf der Seite in der Beschreibung wird übrigens das falsche Schema angegeben. Es wird angezeigt, dass der D5 in Richtung Power Plus zieht, dies ist jedoch CS. Das Forum schrieb, dass sie davon wussten, aber bisher wurde nichts behoben.

Die Schlussfolgerungen für die Hintergrundbeleuchtung können frei gelassen werden, aber es ist natürlich besser, mit der Hintergrundbeleuchtung zu arbeiten und dafür die Anode über einen 10-30 Ohm-Widerstand an die Stromversorgung und die Kathode an die Erde anzuschließen. Seltsamerweise steuert der Ausgang zur Steuerung des Kontrasts nichts an der 5-Volt-Anzeige. Ich habe ihn einfach in der Luft hängen lassen.

Ein weiteres interessantes Merkmal ist das Vorhandensein von zwei Seiten des Zeichengenerators. Dank dessen können Sie eine große Menge unbekannten Mülls in einer Vielzahl von Zeichen anzeigen .



Wenn Sie sich jedoch für eine „häusliche“ Anzeige für die Arbeit mit dem kyrillischen Alphabet entschieden haben, erwartet Sie eine Überraschung. Russische Buchstaben, die im lateinischen Alphabet keine Analoga enthalten, befinden sich auf der ersten Seite. Und die Zahlen und das Latein sind bei Null. Und um sie zusammenzubringen, müssen Sie zwischen den Seiten wechseln. Es wird also keine Zeilenausgabe vollständig funktionieren.

In dieser Hinsicht ist das Display von Winstar bequemer. Lassen Sie es nicht so viele Zeichen haben, aber sie sind auf der gleichen Seite.


90% des MT-16S2S-Zeichengenerators werden jedoch von einer russischen Person nicht benötigt. Ein weiteres Problem für den Programmierer ist die Bezeichnung der Koordinaten der Zeichen in der Tabelle in Einheiten und Nullen pro Halbbyte im Datenblatt. Es macht noch mehr Spaß, sie mit H und L zu kennzeichnen. Das heißt, die Symbolnummer lautet beispielsweise 1111 + 1101 oder HHHH + HHLH.

Warum nicht den für den Entwickler geeigneten hexadezimalen 0xFD-Code verwenden? Und schließlich sind auf einigen Displays solche Tabellen. Ist es wirklich so schwer, ein bequemes Raster zu erstellen?

Nun zur Bibliothek. Die folgenden Anforderungen betrafen die Funktionalität:

1. Ableitung eines Symbols von einer Tabelle an eine beliebige Position;
2. Die Ausgabe einer Textzeile an einer beliebigen Position;
3. In Erinnerung an das eigene Symbol aufzeichnen;
4. Reinigen Sie das Display, schalten Sie den Cursor ein und aus, verschieben Sie ihn, verschieben Sie den Anzeigebereich und andere Anzeigeeinstellungen.

All dies wurde ziemlich schnell umgesetzt. Noch ärgerlich ist jedoch die Notwendigkeit, bei Verwendung des kyrillischen Alphabets ständig zwischen den Seiten des Zeichengenerators zu wechseln. Ich poste die Bibliothek selbst nicht, weil sie "für mich selbst" erstellt wurde. Bei allen Mängeln und Krücken und für einen bestimmten Chip: mit kabelgebundenen Ports und Frequenzen (da das Ziel nicht darin bestand, eine kommerzielle Version mit Kartenspielen und Frauen zu erstellen, werden die Einstellungen für Ports, SPI und Verzögerungen direkt in die Funktionen selbst geschrieben, je nachdem, welche Controller und an welchen SPI das Display angeschlossen ist). In Zukunft ist eine Überarbeitung geplant.

Nun zu den Erfahrungen mit der Bedienung des Displays. Es wurde getestet und arbeitet stabil im Temperaturbereich von -20 ° C bis + 60 ° C. Bei -20 ° C verlangsamt es sich jedoch beim Ändern des Bildes. Aber es gibt nichts zu tun. Wechseln Sie nur zu einem anderen Anzeigetyp.

Im Allgemeinen ist der Eindruck positiv. Kleinere Fehler in der Beschreibung auf dem Display und das Fehlen normaler Codebeispiele beeinträchtigen dies. Der Rest ist nicht schlecht. Auch der Preis ist nicht höher als der des Winstar-Ovsky-Analogons von WH-1602.

Source: https://habr.com/ru/post/de397977/


All Articles