PS 2 PINOUT. Code source du micrologiciel

Au fil du temps, la question se pose comme entrez les données dans un microcontrôleur? La solution classique que la plupart d'entre nous viennent boutons d'utilisation... Allez sur le tableau des pistes et sites de contact pour boutonsplus loin que celles-ci souder, décidez comment commencer à appuyer sur Boutons - po interrompre ou à travers enquête sur l'état des boutons du cycle. Si des boutons parcelle, elles sont va emprunter Nombre significatif pin-ov microcontrôleur. Le chemin est épineux.

Le microcontrôleur est estimé information clé Sur le clavier pour générer le code de numérisation du clavier. Pour insérer de manière incorrecte le câble, l'étiquette ou la flèche dent sur la plaque blindée se trouve sur la fiche, qui doit alors signaler.

But des composés ci-dessus

Le tableau 2. Il s'agit d'une source d'alimentation externe pour le clavier et la souris. Sans la nécessité d'acheter une nouvelle carte mère. Souris d'ordinateur Il a été connecté à une interface série.

  • Cela ne suffit pas pour un camion à décharge rapide.
  • Ainsi, la latence est plus faible.
Les connecteurs de souris et de clavier sont mécaniquement identiques. Seul l'emploi est différent. Les points de vente et les bouchons sont marqués de couleur pour éviter toute confusion. Vert signifie souris et violet - clavier. Il existe cependant également des connecteurs et des connecteurs qui n'ont pas ce codage de couleur.

Je propose d'utiliser ce que nous avons à portée de main Clavier d'ordinateur PS / 2. Des avantages:

  • chose pas cher;
  • vendu par. personne Magasin d'informatique
  • nous sommes disponible 101 clé
  • il faut le total du clavier 2 broches. Microcontrôleur pour signal de synchronisation et données.



Je vais utiliser comme microcontrôleur ATMEGA328P ou alors Arduino Uno..

Code source du micrologiciel

Ils sont utilisés pour différents appareils électroniques. Les deux connecteurs sont des normes de l'Institut de normalisation allemand. Il existe officiellement sept options différentes avec différents nombres de contacts. Les différences structurelles garantissent que différents connecteurs et connecteurs ne peuvent pas être remplacés.

L'opinion du client: livret avec la technologie informatique Il est en effet clair, exempt de ballast et d'excellents répertoires. En général, un livre très recommandé. Pour chaque frappe ou libération, le microcontrôleur envoie un code d'identification appelé code de numérisation. Appuyez simultanément sur plusieurs touches, le clavier génère un autre code lorsque la touche est enfoncée et lorsque la clé est relâchée. Si le microcontrôleur remarque que la touche est enfoncée, le nouveau code généré aura la valeur d'un pouce élargi. Il convient de garder à l'esprit que lors de l'exécution d'une impulsion, nous pouvons produire des joints qui dupliquent le signal.

Un peu de théorie

Si vous ouvrez la tresse de câble pour le clavier, vous trouverez. 4ème fils:

  • le fil nutrition (5 v)
  • le fil terre
  • le fil synnignel (CLK)
  • le fil données (Données.)

Chaque clé Sur le clavier a sa propre 8 bits le code, appelé code de numérisationet enregistré à Hexadecimal (heex), voir ci-dessous.

Pour les éliminer, le clavier a également un schéma qui nettoie le signal. Il existe différentes dispositions de clavier créées pour les utilisateurs de différentes langues. Cette option est utilisée par les utilisateurs. de langue anglaise. Ordinateurs modernes Laissez les claviers dans différentes langues pour le clavier, qui correspondent physiquement à une langue. Ces distributions peuvent être des modifications de précédemment existant ou peuvent être complètement nouvelles. Ils vous permettent de gérer et de partager des données entre un périphériques ou entre deux ordinateurs.


Quand vous cliquez sur clé, par Slk. Transfert impulsions rectangulaires Un po Données. Code 11 bits:


Bits de données lu par ordinateur lors de la commutation CLK. de haut niveau sur le faible.

Nous avons entre différents ports de communication. Dans les plaques d'aujourd'hui, vous pouvez en souligner l'un de ses brefs, être un clavier, le violet et la souris sont verts. 3 Forme: Pour ces ports, il existe 2 connecteurs différents. Ces deux connecteurs sont électroniquement identiques, la seule chose qui change est leur apparence. La carte mère a un connecteur de socket. . Un port bidirectionnel peut envoyer. Entrée et sortie 8 bits. Aujourd'hui dans des imprimantes multifonctions, ce port peut être appelé bidirectionnel.

Ces ports ont un type féminin d'environ 38 mm de long avec 25 contacts regroupés en deux rangées. Le port parallèle se compose de 17 rangées et de 8 lignes. Les lignes de signalisation sont formées de trois. Emplacement dans le système informatique. . Le câble dispose d'un connecteur couvert dans le centre, entouré d'une petite bague métallique saillante. Du côté des périphériques, le connecteur est un trou recouvert d'une bague métallique différente, inférieure au câble, de sorte qu'elle soit maintenue sans elle.

Premiertoujours égal 0 - c'est débutantAlors va 8-sperme bit code de balayage, ensuite bit de contrôle de parité et à la fin arrêtqui est toujours égal 1 .

Comment connecter le clavier PS / 2 à un microcontrôleur?

Effectivement port PS / 2. clavier d'ordinateur c'est variété de connecteur mini-DIN,sa À 6 broches option.
Dans le clavier installé mIN-DIN 6 broches 6 broches (papa),nous l'avons tous vu à la fin du câble du clavier.

Les deux connecteurs ont une partie en plastique. Couleurs utilisées habituellement. Jaune pour le rouge composite rouge pour le canal droit blanc ou noir pour le canal de son de gauche. Il peut être placé dans des cartes de capture vidéo moins fraîches car elle est supplantée par une porte super-vidéo.

Actuellement, la technologie progresse constamment en raison de nouveaux besoins fournis aux utilisateurs, ce qui leur permet de créer une nouvelle utilisation plus simple et plus efficace et plus efficace et des appareils qui répondent à de nouveaux programmes. Les ports constituent une partie importante de l'ordinateur, car sans eux, il n'y aura pas d'échange de données ni d'informations entre l'ordinateur et ses périphériques ou entre un ordinateur et d'autres.

Nid min-DIN 6 broches (maman)est situé carte mère, Pour vous connecter au microcontrôleur, nous devrons le sortir de l'ancien clavier, ce qui n'est pas pratique.

Je vous conseille d'acheter un nid normal min-DIN 6 broches Pour le câble, par exemple sur ebay.ru.Ça coûte ~ 1$ . Cela ressemble à ceci:

Très une étape importante Lorsque vous passez des microcontrôleurs de programmation de base à la programmation avancée des microcontrôleurs, l'introduction d'interruptions dans votre code. Les interruptions sont des fragments de code, comme des fonctions exécutées lorsque des événements externes se produisent. Les interruptions peuvent être utilisées pour répondre à tous les types d'intrants externes, y compris des conclusions, gérées appareils externes. Avec l'aide d'interruptions, vous donnez à votre code la capacité de répondre aux événements, comme ils se produisent, au lieu d'attendre que votre code tombe en place où il peut gérer l'événement.


(laissé à assemblé, droit en désassemblé)

Comme exemple, je vais me connecter clavier à Arduino Uno. (manette ATMEGA328P), Nous devons connecter le câblage sur la prochaine pince.

Ceci est une idée de programme avec laquelle vous pouvez vous habituer, mais la force qu'il donne dans le système intégré en vaut la peine. La simplicité du protocole et le caractère asynchrone de l'horloge générée par le clavier rendent ce lancement simple pour se familiariser avec des interruptions et interrompre les gestionnaires.

La première étape consiste à déterminer quel fil est. J'espère après avoir éteint le connecteur, vous verrez qu'il y a 4 fils de couleur dans le câble du clavier. Maintenant, vous devez déterminer quel fil est. Vous pouvez le faire avec un multimètre et vérifier la résistance de cette goupille sur le connecteur jusqu'à la fin de la découpe du fil. Dès que vous savez quel fil est, c'est une bonne idée Marquez-le ou au moins, écrivez-le quelque part.

L'assistance du fer à souder n'aura pas besoin, les fils sont sertis de passage dans des clips métalliques, ce qui a obtenu l'adaptateur suivant.


Dans votre cas, les extrémités du câblage que vous pouvez souder Au tableau microcontrôleurJe vais utiliser pIN-S. Arduino Uno..

Pour envoyer la clé des touches, le clavier commence le mouvement dans le sens des aiguilles d'une montre. Sur la ligne de la ligne arrière, les données de la ligne de synchronisation représentent un bit de courant. Chaque keystroke est envoyé sous forme de 11 bits: d'abord le début du début 0, puis 8 bits du code de numérisation, puis le bit de la parité et, enfin, les bits d'arrêt.

Comme un cas triste avec les normes et les protocoles, il y en a généralement plusieurs différentes versions. Malgré le fait que la plupart des caractères généraux sont représentés par un code de numérisation à 8 bits, certains d'entre eux sont des clés "avancées", dont le code de numérisation est supérieur à 8 bits. Dans ce cas, le clavier envoie simplement deux ensembles de 11 bits de cadres.

  • Gnd. Connectez-vous à K. Gnd Arduino Uno.
  • VCC. Connecter K. 5V Arduino Uno.
  • Données. Relier Arduino à 2 broches Uno
  • CLK. Connecter K. Arduino à 3 broches Uno


Code source du micrologiciel

Sur Internet pour travailler avec PS / 2. Clavier dans plus de la moitié des cas utilisent la bibliothèque ps2keyboard,où par le cycle, vérifiez le statut "tampon variable" avec le clavier. Je ne suis pas un partisan pour vérifier quelque chose à travers le cycle, le firmware ne fonctionnera que avec le clavier. Et si nous devons faire des calculs ou travailler avec un équipement lent? Il y aura quelque chose à souffrir ou à nos calculs ou à la vitesse de la réaction au clavier.

En plus du fait que vous sachiez lorsque vous appuyez sur la touche, le clavier envoie également le code de rupture lorsque la clé est libérée. En conséquence, le code principal et ne pas interrompre, correspond aux symboles de manière appropriée. Nous utilisons le code de numérisation pour l'indexation vers un tableau de caractères contenant le caractère correct de cette position.

Ainsi, pour rendre le code de numérisation dans le symbole, il suffit de faire une synchronisation permanente dans le tableau à l'aide du code de numérisation. Vous pouvez également configurer certains paramètres sur le clavier, y compris le délai entre les touches répétitives et la vitesse avec laquelle le clavier envoie les touches répétitives.

Je propose d'utiliser l'interruption ...

Contrôleur de broches acceptant CLK.(Synchropulse) du besoin de clavier personnaliser comme une interruption externe Quand la transition de haute condition à faible et dans le gestionnaire, lisez des bits de données avec Données. Algorithme de manipulation d'interruption devrait de manière borique ekmplivatb envoyé code de numérisation du clavier.

Voici quelques autres de nos vidéos dans lesquelles des interruptions sont utilisées. Comme vous pouvez le constater, ils sont très courants lors de la réalisation de tâches complexes. La définition de l'interruption, principalement, est une question de trouver les bons registres dans la table de données. Suite des informations détaillées À propos des interruptions peut être trouvée à partir de la page.

Une fois que l'interruption est activée, vous devez déterminer le gestionnaire d'interruption pour ce vecteur d'interruption particulier. Interruptions - tout ce dont vous avez besoin pour observer. Comme nous avons mentionné la vidéo en matière d'interruption, il y a plusieurs choses que vous devez savoir.

Code pour arduino, prise Données. à 2e pin CLK. Connecter K. 3 sa Pin.

const int datapin \u003d 2; // canal de données const int icqpin \u003d 3; // clavier clk clk clavier int circu \u003d 1; // comptoir du bit de courant du code 11 bits du clavier int m \u003d 0; // compteur du bit de courant de code de numérisation uint8_t scan_code \u003d 0; // Code de numérisation pressé VOID PS2IntERRT (VOID) (/ * Handlicateur d'interruption du clavier CLK * / / * Lisez le code de numérisation du clavier à l'aide du clavier sur la variable Scan_Code * / Si la variable ((nombre\u003e 1) et<11)) { /* вырезаем из 11-и битного кадра, 8-и битные скан код */ scan_code |=(digitalRead(2)<11) (SERIAL.PRINT (SCAN_CODE, HEX); / * Affichage * / SERIAL.PRINTLN (); M \u003d 0; Compte \u003d 1; scan_code \u003d 0;)) Void Configuration () (Délai (1000); Serial.begin (9600); Pinmode (Datapin, entrée); Pinmode (IRQPIN, entrée); Attachez-laRuption (1, PS2Interrupt, Falign); // Mettez une interruption à partir de 3 broches (CLK Keyboard Chanteur) Serial.Begin (9600); ) boucle vide () (délai (1000);)

Cela est nécessaire pour les variables globales pouvant être spécifiées par le gestionnaire d'interruption, puis lisez le code principal ou d'un autre gestionnaire d'interruption. Ce mot clé dit que le compilateur ne fait aucune hypothèse sur lorsque la variable peut changer. Chaque fois que vous traitez d'interruptions, vous devez penser à la durée de l'interruption. Par exemple, dans ce projet, le clavier envoie des données d'environ 10 kHz. Nous ne disons pas que cela ne vaut pas la peine de travailler avec une interruption d'interruption traitée beaucoup, mais il vous suffit de savoir combien de temps vous avez besoin pour le traitement et quel est l'effet de l'absence d'autres interruptions.

const int datapin \u003d 2; // clavier de canal de données

const int irqpin \u003d 3; // clavier clk clk

int compte \u003d 1; // Code de compteur de bits de courant à 11 bits du clavier

int m \u003d 0; // code de code de bit courant

uint8_t \u003d 0; // touches enfoncées du code de numérisation

vide ps2interrupt (vide) ( / * Hangler d'interruption de clavier CLK * /

/ * Lisez le code de numérisation du clavier par un peu dans la variable scan_code * /

Si possible, il est généralement préférable de continuer à interrompre les gestionnaires courts et précis. En particulier, vous devez savoir que si vous avez, par exemple, une interruption de la minuterie et une interruption d'interruption de contact, si le gestionnaire d'interruption de la minuterie fonctionne, les modifications de la broche seront toujours vues, ce qui permettra le drapeau. Ainsi, cela fait généralement ce que vous voulez, mais vous devez noter que pour chaque type d'interruption, un seul drapeau peut être enregistré, et s'il y a deux changements de code PIN dans le processeur de code de la minuterie, le gestionnaire de changement de contact continuera de fonctionner une seule fois .

si ((comptez\u003e 1) et (compte< 11 ) ) { / * Couper de l'image 11 bits, code de balayage 8 bits * /

| \u003d (DigitalRead (2)<< m ) ;

Mardi 04 février 2014 11:33 + en citation

Donc, il y avait une défaillance de la souris PS / 2. Les défauts peuvent être différents, tels que la souris commençaient avec un seul clic sur la touche pour produire deux pressions. Pourquoi ai-je donné ce défaut comme exemple? Parce que dans ce cas, il est difficile de jeter le dysfonctionnement du bouton. Et vous ne porterez pas une telle souris dans l'atelier, car les réparations de la souris coûteront au moins deux fois plus à l'achat d'une nouvelle. Alors, que pouvons-nous jeter une souris? Il n'est pas très nécessaire que vous avez des compétences en réparation (par exemple, la capacité de dépenser attentivement la soudure) ou si vous avez un ami qui possède ces compétences et qu'il ne se sent pas désolé pendant dix minutes pour vous.

PS / 2 Mouse Connectant

N ° P / P

Signal

1 Données.
2 Non impliqué
3 Terre.
4 + 5V.
5 L'HORLOGE.
6 Non impliqué

Réparation de souris d'ordinateur PS / 2

La principale raison de tous les défauts de la souris est la détérioration de la conductivité du fil. Le défaut est très facilement calculé à l'aide d'un ohmmètre. Sur le noyau réparable, le fil d'andouche montrent 1 à 10 ohms, et s'il a vécu en termes de 150 ohms et au-dessus.

Maintenant comment réparer. Le connecteur PS / 2 elle-même n'est pas pliable, mais comme il s'est avéré, ce n'est pas nécessaire pour nous. Comme il s'est avéré, la faille se situe sur la zone du fil du connecteur interne de la souris et avant la sortie du fil de la souris. (Pour une raison quelconque, tout le fabricant de relativement récemment a décidé que, dans cet endroit, il devrait y avoir une transition du câblage intérieur à l'extérieur + sur le site de la sortie du fil de la souris, il y a la charge la plus grande sur le fil) . En général, nous gémissons cette section du fil, (vous pouvez utiliser deux façons de mordre le bord du fil du côté de la souris et versez-la à nouveau dans la souris ou de révéler le site et souder le fil (i Préférez la deuxième option (toujours la jonction sera à l'intérieur de la souris)), nous déflectons et sortit le câble des veines et nous restauré l'intégrité du fil. (Au fait, immédiatement après la fausse couche, vérifiez l'intégrité du fil vivant)

Avez-vous aimé l'article? Partager avec des amis: