PREVIEW
Pixel Screen (16x16)

Pixel Screen (16x16)

Visualization signal_cellular_alt Advanced schedule 30 min

Interactive Circuit

Pixelbildschirm (16x16)

Übersicht

  • Zweck: Der Pixelbildschirm (16x16) ist eine Visualisierungskomponente, die ein 16x16-Pixelraster anzeigt; der Zustand jedes Pixels wird dabei durch Speicherwerte bestimmt. Die Komponente eignet sich, um einfache Grafiken zu erstellen, Muster anzuzeigen oder Speicherinhalte in Ihren Digitalschaltungen zu visualisieren.
  • Symbol: Der Pixelbildschirm wird als rechteckiges Anzeigeraster dargestellt. Er besitzt keine externen Anschlusspins – die Anzeigedaten werden direkt aus dem internen Speicher einer angeschlossenen RAM-Komponente gelesen.
  • Rolle in DigiSim.io: Bietet eine visuelle Ausgabefähigkeit für Digitalschaltungen und ermöglicht die Grafikanzeige, Mustervisualisierung und Überwachung von Speicherinhalten.

Pixelbildschirm 16x16 Komponente

Funktionsbeschreibung

Die Pixelbildschirm-Komponente liest ihre Anzeigedaten aus einer angeschlossenen RAM-Komponente und interpretiert jedes Bit im Speicher als ein Pixel, das entweder ein- oder ausgeschaltet sein kann. Die Komponente bietet eine Auflösung von 16x16 Pixeln (insgesamt 256 Pixel), wofür 32 Byte Speicher zur Darstellung benötigt werden (1 Bit pro Pixel).

Pins

Der Pixelbildschirm hat 0 Eingänge und 0 Ausgänge. Er besitzt keine externen Anschlusspins. Stattdessen liest er die Anzeigedaten direkt aus dem internen Speicher einer angeschlossenen RAM-Komponente, wobei die konfigurierte Startadresse zur Lokalisierung der Pixeldaten verwendet wird.

Konfiguration

Der Pixelbildschirm besitzt mehrere konfigurierbare Eigenschaften:

  1. Startadresse: Die Speicherstartadresse, an der die Anzeigedaten beginnen (Standard: 0xE0)
  2. Vordergrundfarbe: Die Farbe aktiver (EIN-)Pixel
  3. Hintergrundfarbe: Die Farbe inaktiver (AUS-)Pixel
  4. Pixel-Skalierung: Die Größe jedes Pixels in der Anzeige

Speicherzuordnung

Das 16x16-Pixelraster wird wie folgt auf den Speicher abgebildet:

  • Jedes Byte im Speicher repräsentiert 8 horizontale Pixel
  • 32 aufeinanderfolgende Bytes (256 Bit) werden für die gesamte Anzeige verwendet
  • Bits werden innerhalb jedes Bytes von MSB zu LSB zugeordnet

Beispiel mit der Startadresse 0xE0:

Adresse Byte Beschreibung
0xE0 [76543210] Erste 8 Pixel von Zeile 0
0xE1 [76543210] Letzte 8 Pixel von Zeile 0
0xE2 [76543210] Erste 8 Pixel von Zeile 1
0xE3 [76543210] Letzte 8 Pixel von Zeile 1
... ... ...
0xFE [76543210] Erste 8 Pixel von Zeile 15
0xFF [76543210] Letzte 8 Pixel von Zeile 15

Hinweis: Die Bits 7–0 innerhalb jedes Bytes repräsentieren 8 horizontale Pixel, zugeordnet von MSB zu LSB.

Verwendung

So verwenden Sie die Pixelbildschirm-Komponente:

  1. Fügen Sie die Komponente zusammen mit einer RAM-Komponente in Ihre Schaltung ein.

  2. Der Pixelbildschirm liest automatisch aus dem Speicher der angeschlossenen RAM-Komponente – eine Pin-Verdrahtung ist nicht erforderlich.

  3. Legen Sie die Startadresse in den Eigenschaften der Komponente fest, um anzugeben, wo im RAM die Anzeigedaten beginnen.

  4. Schreiben Sie Bitmuster in die Speicheradressen, um Ihre Anzeige zu erzeugen:

    • Eine 1 schreiben, um ein Pixel EINzuschalten
    • Eine 0 schreiben, um ein Pixel AUSzuschalten
  5. Die Anzeige wird automatisch aktualisiert, sobald sich der RAM-Inhalt ändert.

Anwendungsbeispiele

Einfache Musteranzeige

// Schachbrettmuster speichern
// Erste Zeile (abwechselnde Pixel)
RAM[0xE0] = 0b10101010;
RAM[0xE1] = 0b10101010;
// Zweite Zeile (invertiertes Muster)
RAM[0xE2] = 0b01010101;
RAM[0xE3] = 0b01010101;
// Muster für die übrigen Zeilen wiederholen ...

16x16-Sprite-Anzeige

// Ein einfaches Gesicht anzeigen
// Augen (Zeilen 4-5)
RAM[0xE8] = 0b00100100;
RAM[0xE9] = 0b00000000;
RAM[0xEA] = 0b00100100;
RAM[0xEB] = 0b00000000;
// Mund (Zeile 10)
RAM[0xF4] = 0b00011000;
RAM[0xF5] = 0b00100100;

Animationen erstellen

So erstellen Sie Animationen:

  1. RAM-Inhalt für jeden Frame aktualisieren
  2. Einen Taktteiler verwenden, um die Aktualisierungsrate zu steuern
  3. RAM-Schreibvorgänge mit dem Aktualisierungszyklus der Anzeige synchronisieren, um Flackern zu vermeiden

Tipps und Tricks

  • Nutzen Sie einen separaten RAM-Bereich als „Backbuffer", um den nächsten Frame vorzubereiten, und kopieren Sie ihn anschließend in den Anzeigebereich, um Flackern zu vermeiden.
  • Erstellen Sie Zeichenroutinen, um einzelne Pixel durch Berechnung des passenden Bits und Bytes zu setzen.
  • Für Farbeffekte können Sie Vorder- und Hintergrundfarbe über die Eigenschaften der Komponente anpassen.
  • Kombinieren Sie die Komponente mit anderen Bausteinen wie Zählern oder Steuerwerken, um eigenständige Anzeigen zu realisieren.
  • Für flüssige Animationen sollte Ihre Schaltung die Anzeige in einer gleichmäßigen Rate aktualisieren.

school Lernpfad

arrow_back Voraussetzungen

arrow_forward Nächste Schritte

help_outline Häufig gestellte Fragen

Wie funktioniert der Pixelbildschirm?

Der 16x16-Bildschirm hat 256 Pixel, die jeweils durch Binärsignale gesteuert werden. Adressieren Sie X- und Y-Koordinaten und setzen Sie den Pixelwert.

Wie sind Pixeldaten organisiert?

Typischerweise werden X- und Y-Adresseingaben verwendet, um ein Pixel auszuwählen, mit einem Dateneingang zum Setzen seines Zustands (an/aus oder Farbwert).

play_arrow Live-Schaltung ausführen

Weitere Komponenten ansehen