Accueil Formations Établissements Mon espace Services Galerie À propos Communauté Portfolio Contact Me contacter
Avertissement

Les montages de ce parcours se font en très basse tension, avec le 5 V d'une carte Arduino ou des piles. Les installations citées en exemple (pompe, chambre froide, gâche, feux, bus) sont aussi reliées au secteur ou à des batteries de puissance : toute intervention sur ces parties revient à un électricien habilité, et ce parcours ne qualifie pas pour la faire.

Leçon offerteModule 01 · Leçon 01.049 min

Coder des chiffres, des positions et des caractères

Parcours 141 : Électronique numérique : de la porte logique à la machine à états · Fondamentaux

Objectif de la leçon

Choisir le bon code pour un afficheur, un capteur de position, un texte ou une liaison série : BCD, Gray, ASCII, UTF-8 et bit de parité.

La leçon, diapositive par diapositive

Diapositive 1 sur 8

Objectif de la leçon

  • Le BCD pour les afficheurs
  • Le code de Gray pour les capteurs de position
  • ASCII et UTF-8 pour le texte
  • Le bit de parité pour les liaisons série
Voix off

Sur l'afficheur d'un taximètre à Bruxelles, le prix s'affiche en chiffres décimaux. Sur un axe qui tourne, un capteur doit donner sa position sans jamais se tromper entre deux crans. Un appareil envoie du texte avec des lettres accentuées, et deux cartes échangent des octets sur une liaison série qui peut être perturbée. Dans ces quatre cas, le binaire naturel n'est pas le meilleur choix, et on lui préfère un autre code, chacun avec un avantage précis. Tu sauras ensuite choisir entre le BCD, le code de Gray, ASCII ou UTF-8 et le bit de parité, et justifier ce choix.

Diapositive 2 sur 8

Le BCD

  • Chaque chiffre décimal codé sur 4 bits
  • 274 s'écrit 0010 0111 0100
  • Les codes 1010 à 1111 n'existent pas en BCD
  • Moins compact, mais direct pour l'affichage
Voix off

Le BCD, ou décimal codé en binaire, code chaque chiffre décimal séparément, sur quatre bits. Le nombre 274 ne s'écrit pas en binaire naturel, mais chiffre par chiffre : 0010 pour le 2, 0111 pour le 7, 0100 pour le 4. Les combinaisons de 1010 à 1111 n'ont pas de sens en BCD. On perd un peu de place, mais on gagne en simplicité : chaque groupe de quatre bits va directement vers un afficheur à sept segments, sans division par dix. C'est pour cela qu'on trouve le BCD dans les afficheurs de prix, les horloges et beaucoup d'appareils de mesure.

Diapositive 3 sur 8

Le code de Gray

  • Un seul bit change entre deux valeurs voisines
  • De 0 à 3 en Gray : 00, 01, 11, 10
  • Pas de valeur fausse pendant la transition
  • Utilisé dans les codeurs de position rotatifs
Voix off

Imagine un disque qui tourne et qu'un capteur lit en binaire naturel. En passant de 3, soit 011, à 4, soit 100, trois bits changent en même temps. Mais dans la réalité, ils ne changent jamais exactement au même instant. Pendant un court moment, le capteur peut lire 111 ou 000, des positions complètement fausses. Le code de Gray règle ce problème : entre deux valeurs voisines, un seul bit change. De 0 à 3, on écrit 00, 01, 11, puis 10. On l'utilise dans les codeurs de position rotatifs, et tu le retrouveras dans le module 2 pour ranger les cases des tableaux de Karnaugh.

Diapositive 4 sur 8

Du binaire au code de Gray

  • Le bit de poids fort ne change pas
  • Chaque autre bit : 1 si le bit binaire et son voisin de gauche diffèrent
  • 7 = 0111 en binaire donne 0100 en Gray
  • Cette opération s'appelle le OU exclusif
Voix off

Pour convertir un nombre binaire en code de Gray, garde le bit de poids fort tel quel. Ensuite, pour chaque autre rang, compare le bit binaire avec son voisin de gauche. S'ils sont différents, tu écris 1 ; s'ils sont identiques, tu écris 0. Prenons 7, soit 0111. Le premier bit reste 0. Puis 0 et 1 diffèrent : 1. Puis 1 et 1 sont identiques : 0. Et encore 1 et 1 : 0. Tu obtiens 0100. Cette opération, qui vaut 1 quand deux bits diffèrent, porte un nom : le OU exclusif. Tu la câbleras avec une porte dans le module suivant.

Diapositive 5 sur 8

ASCII et UTF-8

  • ASCII : 128 caractères sur 7 bits, A = 0x41
  • UTF-8 : tous les caractères Unicode, sur 1 à 4 octets
  • Un caractère ASCII garde son octet unique
  • é (numéro E9 en hexadécimal) s'écrit C3 A9 en UTF-8
Voix off

Pour le texte, chaque caractère reçoit un numéro. Le code ASCII, ancien et toujours présent, définit 128 caractères sur sept bits : les lettres sans accent, les chiffres, la ponctuation et quelques commandes. La lettre A majuscule vaut 41 en hexadécimal. Mais le français a besoin du é, du ç, du à. Aujourd'hui, on utilise Unicode, qui numérote les caractères de presque toutes les écritures du monde, et son codage UTF-8. Un caractère ASCII y garde son octet unique. Les autres prennent deux à quatre octets : le é, numéroté E9 en hexadécimal, s'écrit avec les deux octets C3 et A9.

Diapositive 6 sur 8

Quand « é » devient « Ã© »

  • Un texte UTF-8 lu comme un codage à un octet
  • Les octets C3 et A9 deviennent deux caractères
  • Même codage à l'envoi et à la réception
  • Écris-le dans la documentation
Voix off

Tu as sûrement déjà vu un message où « é » devient « Ã© ». Ce n'est pas un virus : c'est un texte codé en UTF-8, puis lu comme s'il était dans un ancien codage à un octet par caractère. Les deux octets C3 et A9 sont alors affichés comme deux caractères différents. Le même problème arrive sur un petit écran branché à un microcontrôleur, ou dans les données qu'une balance envoie à un ordinateur. La règle est simple : l'émetteur et le récepteur doivent utiliser le même codage, et ta documentation doit le dire clairement.

Diapositive 7 sur 8

Le bit de parité

  • Parité paire : le nombre total de 1 doit être pair
  • 1011 0010 a quatre 1 : bit de parité 0
  • Une erreur sur un bit change la parité
  • Deux bits faux passent inaperçus
Voix off

Sur une liaison série, un parasite peut inverser un bit. Pour le détecter, on ajoute un bit de parité. En parité paire, ce bit est choisi pour que le nombre total de 1 soit pair. L'octet 1011 0010 contient quatre 1 : le bit de parité vaut donc 0. Le récepteur recompte. S'il trouve un nombre impair de 1, il sait qu'un bit a changé, et il peut demander un nouvel envoi. Mais si deux bits sont inversés, la parité redevient bonne et l'erreur passe inaperçue. La parité détecte une erreur simple, elle ne la corrige pas. Pour faire mieux, on utilise des codes plus longs.

Diapositive 8 sur 8

À retenir

  • BCD : un chiffre décimal sur 4 bits
  • Gray : un seul bit change à la fois
  • UTF-8 : le même codage des deux côtés
  • Parité : détecte une erreur simple, sans la corriger
Voix off

Chaque code répond à un besoin. Le BCD simplifie l'affichage des chiffres décimaux. Le code de Gray évite les lectures fausses quand plusieurs bits changeraient en même temps. ASCII et UTF-8 codent le texte, et le même codage doit être utilisé à l'envoi et à la réception. Le bit de parité détecte une erreur sur un bit, sans pouvoir la corriger. Dans le lab de ce module, tu vas coder puis décoder une trame envoyée par une petite station de mesure, avec une température signée, un identifiant en hexadécimal et un bit de parité.

À retenir

  • Le BCD code chaque chiffre décimal sur 4 bits, ce qui simplifie l'affichage.
  • En code de Gray, un seul bit change entre deux valeurs voisines, ce qui évite les lectures fausses.
  • L'ASCII code les caractères de base sur 7 bits ; UTF-8 code tous les caractères Unicode sur 1 à 4 octets.
  • Un bit de parité détecte une erreur sur un nombre impair de bits, sans la corriger.

Fais les exercices, le quiz et obtiens ton certificat dans ton espace

Avec ton compte, les deux premiers modules sont offerts : leçons, labs, simulations, quiz et tuteur. Débloque la suite du parcours pour 100 000 GNF. Le certificat vérifiable, délivré à la fin, coûte 399 000 GNF.

Indépendance. Ce parcours est indépendant des fabricants de circuits intégrés et de cartes cités (Texas Instruments, Microchip, NXP, Arduino) et des auteurs des simulateurs utilisés (Logisim-evolution et Digital, logiciels libres) : il n'est affilié à aucun d'eux et le Certificat Elprofessor n'est délivré au nom d'aucun d'eux.