PREVIEW
Pixel Screen (16x16)

Pixel Screen (16x16)

Visualization signal_cellular_alt Advanced schedule 30 min

Interactive Circuit

Écran de pixels (16x16)

Vue d'ensemble

  • Objectif : L'écran de pixels (16x16) est un composant de visualisation qui affiche une grille de 16x16 pixels, l'état de chaque pixel étant déterminé par des valeurs en mémoire. Ce composant est utile pour créer des graphiques simples, afficher des motifs ou visualiser le contenu de la mémoire dans vos circuits numériques.
  • Symbole : L'écran de pixels est représenté par une grille d'affichage rectangulaire. Il ne possède aucune broche de connexion externe — il lit les données d'affichage directement depuis la mémoire interne d'un composant RAM connecté.
  • Rôle dans DigiSim.io : Fournit une capacité de sortie visuelle pour les circuits numériques, permettant l'affichage graphique, la visualisation de motifs et la surveillance du contenu mémoire.

composant écran de pixels 16x16

Description fonctionnelle

L'écran de pixels lit ses données d'affichage depuis un composant RAM connecté, interprétant chaque bit en mémoire comme un pixel pouvant être allumé ou éteint. Le composant offre une résolution de 16x16 pixels (256 pixels au total), ce qui nécessite 32 octets de mémoire pour la représentation (1 bit par pixel).

Broches

L'écran de pixels possède 0 entrée et 0 sortie. Il ne dispose d'aucune broche de connexion externe. Il lit les données d'affichage directement depuis la mémoire interne d'un composant RAM connecté, en utilisant l'adresse de départ configurée pour localiser les données de pixels.

Configuration

L'écran de pixels possède plusieurs propriétés configurables :

  1. Adresse de départ : adresse mémoire à laquelle commencent les données d'affichage (par défaut : 0xE0)
  2. Couleur de premier plan : couleur des pixels actifs (ON)
  3. Couleur d'arrière-plan : couleur des pixels inactifs (OFF)
  4. Échelle de pixel : taille de chaque pixel à l'affichage

Mappage mémoire

La grille de 16x16 pixels est mappée en mémoire comme suit :

  • Chaque octet en mémoire représente 8 pixels horizontaux
  • 32 octets consécutifs (256 bits) sont utilisés pour l'ensemble de l'affichage
  • Les bits sont mappés du MSB au LSB dans chaque octet

Par exemple, avec une adresse de départ de 0xE0 :

Adresse Octet Description
0xE0 [76543210] 8 premiers pixels de la ligne 0
0xE1 [76543210] 8 derniers pixels de la ligne 0
0xE2 [76543210] 8 premiers pixels de la ligne 1
0xE3 [76543210] 8 derniers pixels de la ligne 1
... ... ...
0xFE [76543210] 8 premiers pixels de la ligne 15
0xFF [76543210] 8 derniers pixels de la ligne 15

Remarque : les bits 7 à 0 dans chaque octet représentent 8 pixels horizontaux, mappés du MSB au LSB

Utilisation

Pour utiliser le composant écran de pixels :

  1. Ajouter le composant à votre circuit aux côtés d'un composant RAM

  2. L'écran de pixels lit automatiquement la mémoire du composant RAM connecté — aucun câblage de broche n'est requis

  3. Définir l'adresse de départ dans les propriétés du composant pour spécifier où, en RAM, commencent les données d'affichage

  4. Écrire des motifs binaires aux adresses mémoire pour créer votre affichage :

    • Écrire un 1 pour allumer un pixel
    • Écrire un 0 pour éteindre un pixel
  5. L'affichage se met à jour automatiquement à mesure que le contenu de la RAM change

Exemples d'applications

Affichage d'un motif simple

// Stocker un motif en damier
// Première ligne (pixels alternés)
RAM[0xE0] = 0b10101010;
RAM[0xE1] = 0b10101010;
// Deuxième ligne (motif inversé)
RAM[0xE2] = 0b01010101;
RAM[0xE3] = 0b01010101;
// Répéter le motif pour les lignes restantes...

Affichage d'un sprite 16x16

// Afficher un visage simple
// Yeux (lignes 4-5)
RAM[0xE8] = 0b00100100;
RAM[0xE9] = 0b00000000;
RAM[0xEA] = 0b00100100;
RAM[0xEB] = 0b00000000;
// Bouche (ligne 10)
RAM[0xF4] = 0b00011000;
RAM[0xF5] = 0b00100100;

Création d'animations

Pour créer des animations :

  1. Mettre à jour le contenu de la RAM pour chaque image
  2. Utiliser un diviseur d'horloge pour contrôler le taux de rafraîchissement
  3. Synchroniser les écritures en RAM avec le cycle de rafraîchissement de l'affichage pour éviter le scintillement

Astuces et conseils

  • Utiliser une zone RAM séparée comme « tampon arrière » pour préparer l'image suivante, puis la copier dans la zone d'affichage afin d'éviter le scintillement
  • Créer des routines de tracé pour définir des pixels individuels en calculant le bit et l'octet appropriés
  • Pour des effets de couleur, vous pouvez modifier les couleurs de premier plan et d'arrière-plan via les propriétés du composant
  • Combiner avec d'autres composants comme des compteurs ou des unités de commande pour créer des affichages autonomes
  • Pour des animations fluides, veiller à ce que votre circuit mette à jour l'affichage à un rythme constant

school Parcours d'apprentissage

arrow_forward Prochaines étapes

help_outline Foire aux questions

Comment fonctionne l'écran de pixels ?

L'écran 16×16 possède 256 pixels, chacun contrôlé par des signaux binaires. Adressez les coordonnées X et Y et définissez la valeur du pixel.

Comment les données de pixels sont-elles organisées ?

Utilise généralement des entrées d'adresse X et Y pour sélectionner un pixel, avec une entrée de données pour définir son état (allumé/éteint ou valeur de couleur).

play_arrow Exécuter le circuit en direct

Voir d'autres composants