« Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Aucun résumé des modifications
Ligne 5 :
Le clavier communique avec notre ordinateur. Contrairement à ce qu'on pourrait penser, cette communication s'effectue dans les deux sens. Tout d'abord, notre clavier doit indiquer à notre ordinateur si une touche a été appuyée, et laquelle. Pour indiquer quelle touche a été appuyée, notre clavier va envoyer ce qu'on appelle un scancode à notre ordinateur. Ce scancode est un numéro : chaque touche du clavier se voit attribuer un scancode bien particulier, le même sur tous les claviers. Les scancodes des différentes touches sont standardisés, et il existe plusieurs standards de scancodes.
 
Les tout premiers PC utilisaient un jeu de scancode différent de celui utilisé actuellement. Le jeu de scancode utilisé s’appelait le '''jeu de scancode XT'''. Avec ce scancode, leLe scancode est, sauf exception, un octet dont les 7 bits de poids faible identifient la touche, et le bit de poids fort indique si la touche a été appuyée ou relâchée. De nos jours, les claviers utilisent le '''jeu de scancode AT''' s'ils sont relié au PC via le port PS/2. Avec ce jeu de scancode, les numéros des touches sont modifiés. Le relâchement d'une touche est indiqué différemment : avec les scancodes AT, il faut ajouter un octet d'une valeur 0xF0 devant le numéro de la touche. Sans ce préfixe, on considère que la touche a été appuyée.
 
===L'intérieur d'un clavier à petit nombre de touches===
 
AÀ l'intérieur d'un clavier, on trouve un circuit relié aux touches par des fils électriques, qui se charge de convertir l'appui d'une touche en scancode. Naïvement, on pourrait penser que ce contrôleur est relié à chaque touche, mais ce genre d'organisation n'est utilisable que pour de tout petits claviers. Sur les claviers avec un faible nombre de touches, toutes les touches sont reliées à un encodeur combinatoire, ce qui suffit largement pour obtenir un clavier fonctionnel.
 
[[File:Lock Keyboard Coder 2.png|centre|vignette|upright=1|Exemple de clavier simple, qui utilise un encodeur combinatoire.]]
Ligne 25 :
====Le fonctionnement des claviers à grand nombre de touches====
 
Pour savoir quelles sont les touches appuyées, ce micro-contrôleur va balayer les colonnes unes par unes, et regarder le résultat sur les lignes. Plus précisément, notre circuit va envoyer une tension sur la colonne à tester. Si une touche est enfoncée, elle connectera la ligne à la colonne, et on trouvera une tension sur la ligne en question. Cette tension est alors interprété comme étant un bit, qui vaut 1. Si la touche à l'intersection entre ligne et colonne n'est pas enfoncée, la ligne sera déconnectée. Grâce à un petit circuit (des résistances de rappels au zéro volt intégrée dans le micro-contrôleur), cette déconnexion de la ligne et de la colonne est interprétée comme un zéro. Le microcontrôleur récupère alors le contenu des différentes lignes dans un octet. AÀ partir de cet octet, il accède à une table stockée dans sa mémoire ROM, et récupère le scancode correspondant. Ce scancode est alors envoyé dans un registre à décalage, et est envoyé sur la liaison qui relie clavier et PC.
 
[[File:Gestion matrice clavier.png|centre|vignette|upright=1|Gestion matrice clavier]]