TP n°11 : Application du codage binaire |
Objectif :
Commander un petit circuit électrique grâce à des instructions binaires envoyés par un micro-ordinateur
Comprendre le codage ASCII (American Standard Code for Informatic Informations)
I. Le module DEL
La sortie parallèle est présente sur tous les micro-ordinateurs. Ce type de sortie est habituellement utilisé pour piloter une imprimante. Le cordon de connexion permet d’envoyer des données à imprimer sous forme binaire sur 8 bits (donc 8 fils pour envoyer un octet) et de recevoir des informations en provenance de l’imprimante (en marche, fin de papier…). Le but de ce TP est de commander un petit circuit électrique grâce à des instructions envoyées par l’intermédiaire de ce câble.
Le module peut envoyer ou recevoir des octets par l’intermédiaire du câble parallèle connecté au PC. Ce module est principalement constitué de 8 DEL rouges. Chacune des DEL correspond à un bit d’un octet.
1) Résumer et expliquer l’action de chacun de ces 3 boutons ainsi que l’intérêt de ces 8 DEL rouges.
2) L’information que vous visualisez sur les 8 DEL rouges est-elle reçu ou envoyé par le module DEL ?
3) Expliquer l’intérêt du module DEL
4) Convertir en binaire (sur un octet) les nombreux décimaux suivants : 12, 45 et 172.5 ) Vérifier vos résultats à l’aide du boutons " Del verte " du logiciel ELWIN.
Remarque : le nombre entre parenthèses précédé par le signe $ correspond à la valeur héxadécimale de l'information envoyée.
II. Le module afficheur
1) Quel octet faut-il envoyer pour afficher la lettre M ? Vérifier votre réponse à l’aide du bouton "DEL jaune".
2) A quelle valeur décimale cet octet correspond-il ? Vérifier votre réponse à l’aide du bouton "DEL verte".
3) Reprendre les deux questions précédentes pour les lettres P et I. Compléter le tableau :
Lettre |
M |
P |
I |
Octet |
|
|
|
Valeur décimale |
|
|
|
Le logiciel ELWIN, vous permet également d’envoyer une séquence d’instructions, c’est-à-dire une suite de valeurs décimales, en choisissant l’intervalle de temps entre les différentes instructions.
4) Cliquez sur le
bouton et écrire une séquence affichant
" MPI " durant 3s.
III. Le module carrefour
2) Combien de noms différents portent-elles ? Expliquer pourquoi.
4) Si l’on souhaite que les feux fonctionnent correctement peut-on envoyer n’importe quel octet ?
5) En vous aidant d’un tableau du type de celui représenté ci-dessous, programmer une séquence d’instructions pour faire fonctionner correctement ces feux.
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
||
Nom de la rue |
|||||||||
Couleur |
|||||||||
Valeur décimale du bit correspond |
|||||||||
Phase n° |
Valeur décimale de l’octet |
Valeur binaire du bit à chaque phase |
|||||||
6) Tester votre séquence
à l'aide du bouton
(intervalle de temps égale à 3s entre chaque octet envoyé).
IV. Le code ASCII
A) Principe
1) InventaireIl a fallu coder les caractères. Il y a 26 lettres dans notre alphabet; 52 caractères sont nécessaires pour majuscules et minuscules, sans compter les lettres accentuées. Il faut 10 chiffres. On doit compter les caractères des accents, des guillemets, de la ponctuation, les symboles mathématiques. Mais un clavier, on la vu, comporte des commandes (flèches de curseur, tabulation, suppression, etc...
Il y a en tout plus de 100 éléments à coder.
2) Le code
Un octet permet de coder 256 éléments. On a donc décidé de coder ces éléments avec
un octet.
Un code a été créé, le code ASCII (American
Standard Code for Informatic Information ).
A chaque valeur d'octet correspond un caractère ou une commande du clavier. (voir 4)
3) La transmission
L'appuie d'une touche au clavier envoie un signal binaire (un octet) qui est traduit en tension. Le caractère correspondant est alors affiché
0 : pas de tension 1 : tension
4) Traduction d'un octet
Un exemple d'octet:
0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | |
0x27 | 1x26 | 1x25 | 0x24 | 1x23 | 1x22 | 0x21 | 1x20 | |
0 | 64 | 32 | 0 | 8 | 4 | 0 | 1 |
Le total donne 109 et la table des caractères ASCII ci-dessous nous apprend quil sagit du code de la lettre m .
B) Extrait de la table de caractères ASCII
32 | 48 | 0 | 64 | @ | 80 | P | 96 | ` | 112 | p | 128 | 144 | ||||||||||
33 | ! | 49 | 1 | 65 | A | 81 | Q | 97 | a | 113 | q | 129 | 145 | |||||||||
34 | 50 | 2 | 66 | B | 82 | R | 98 | b | 114 | r | 130 | é | 146 | |||||||||
35 | " | 51 | 3 | 67 | C | 83 | S | 99 | c | 115 | s | 131 | 147 | |||||||||
36 | # | 52 | 4 | 68 | D | 84 | T | 100 | d | 116 | t | 132 | 148 | |||||||||
37 | $ | 53 | 5 | 69 | E | 85 | U | 101 | e | 117 | u | 133 | à | 149 | ||||||||
38 | % | 54 | 6 | 70 | F | 86 | V | 102 | f | 118 | v | 134 | 150 | |||||||||
39 | & | 55 | 7 | 71 | G | 87 | W | 103 | g | 119 | w | 135 | ç | 151 | ù | |||||||
40 | ' | 56 | 8 | 72 | H | 88 | X | 104 | h | 120 | x | 136 | 152 | |||||||||
41 | ( | 57 | 9 | 73 | I | 89 | Y | 105 | i | 121 | y | 137 | 153 | |||||||||
42 | ) | 58 | : | 74 | J | 90 | Z | 106 | j | 122 | z | 138 | è | 154 | ||||||||
43 | * | 59 | ; | 75 | K | 91 | [ | 107 | k | 123 | { | 139 | 155 | |||||||||
44 | , | 60 | < | 76 | L | 92 | \ | 108 | l | 124 | | | 140 | 156 | £ | ||||||||
45 | - | 61 | = | 77 | M | 93 | ] | 109 | m | 125 | } | 141 | 157 | |||||||||
46 | . | 62 | > | 78 | N | 94 | ^ | 110 | n | 126 | ~ | 142 | ||||||||||
47 | / | 63 | ? | 79 | O | 95 | _ | 111 | o | 127 | D | 143 |
1) Traduire le mystérieux message suivant: 0100 0010 0101 0010 0100 0001 0101 0110 0100 1111 0010 0001.
2) Combien de caractères, signes ou commandes peuvent être codées par un octet ?
3) Écrire votre prénom en code ASCII.