Adaptateur pour carte mère pour port LPT. Caractéristiques et principe de fonctionnement du port imprimante lpt. À propos des fonctionnalités du fonctionnement LPT

Téléchargez le brochage du port de l'imprimante :

IEEE 1284 (port imprimante, port parallèle, English Line Print Terminal, LPT) - norme internationale d'interface parallèle

Ce standard est basé sur l'interface Centronics et ses versions étendues (ECP, EPP).

Le nom « LPT » est dérivé du nom du périphérique d'impression standard « LPT1 » (Line Printer Terminal ou Line Printer) dans les systèmes d'exploitation de la famille MS-DOS. Interface Centronics et norme IEEE 1284

Port parallèle Centronics - un port utilisé depuis 1981 dans les ordinateurs personnels IBM pour connecter des périphériques d'impression, développé par Centronics Data Computer Corporation ; est depuis longtemps devenu une norme de facto, même si en réalité elle n'est pas officiellement normalisée pour le moment.

Ce port a été initialement conçu pour le transfert de données simplex (unidirectionnel) uniquement, puisque le port Centronics était destiné à être utilisé uniquement pour le fonctionnement de l'imprimante. Par la suite, différentes sociétés ont développé des extensions d'interface duplex (mode octet, EPP, ECP). La norme internationale IEEE 1284 a alors été adoptée, décrivant à la fois l'interface de base de Centronics et toutes ses extensions.

Types de connecteurs de port parallèle

Connecteur de câble Centronics à 36 broches pour la connexion de périphériques externes (IEEE 1284-B)

Connecteur DB-25 à 25 broches utilisé comme port LPT sur les ordinateurs personnels (IEEE 1284-A)

Le port côté dispositif de contrôle (ordinateur) est doté d'un connecteur DB-25-femelle à 25 broches et 2 rangées (IEEE 1284-A). À ne pas confondre avec un connecteur mâle similaire (« mâle »), installé sur des ordinateurs plus anciens et qui est un port COM à 25 broches.

Les périphériques utilisent généralement un connecteur Centronics (IEEE 1284-B) micro-ruban à 36 broches, de sorte que les câbles parallèles pour connecter des périphériques à un ordinateur sont généralement constitués d'un connecteur DB-25 mâle à 25 broches d'un côté et d'un connecteur IEEE à 36 broches. 1284-B à un autre (câble AB). Parfois, un câble secteur avec un connecteur MiniCentronics à 36 broches (IEEE 1284-C) est utilisé.

Il existe également des câbles CC dotés de connecteurs MiniCentronics aux deux extrémités pour connecter des appareils utilisant la norme IEEE 1284-II, rarement utilisée.

La longueur du câble de connexion ne doit pas dépasser 3 mètres. Conception du câble : paires torsadées dans un blindage commun ou paires torsadées dans des blindages individuels. Les câbles plats sont rarement utilisés.

Pour connecter un scanner et certains autres appareils, on utilise un câble doté d'un connecteur DB-25-mâle installé au lieu d'un connecteur (IEEE 1284-B). Généralement, le scanner est équipé d'une deuxième interface avec un connecteur DB-25-femelle (IEEE 1284-A) pour connecter une imprimante (puisqu'un ordinateur n'est généralement équipé que d'une seule interface IEEE 1284).

Le circuit du scanner est conçu de telle manière que lorsque vous travaillez avec une imprimante, le scanner transfère les données de manière transparente d'une interface à une autre. Interface physique

Interface du connecteur

L'interface de base Centronics est une interface parallèle unidirectionnelle et contient des lignes de signal caractéristiques d'une telle interface (8 pour la transmission de données, le stroboscope, les lignes d'état de l'appareil).

Les données sont transférées dans une seule direction : de l'ordinateur vers un périphérique externe. Mais cela ne peut pas être qualifié de complètement unidirectionnel. Ainsi, 4 lignes de retour sont utilisées pour surveiller l'état de l'appareil. Centronics vous permet de connecter un appareil, donc pour utiliser plusieurs appareils ensemble, vous devez également utiliser un sélecteur.

La vitesse de transfert des données peut varier et atteindre 1,2 Mbit/s.

Câbles de câble LPT pour imprimante Centronics IEEE 1284 standard :

Tableau simplifié - Schéma du signal de l'interface Centronics LPT - connecteur

Contacts
DB-25 IEEE 1284-A
Contacts
Centronique IEEE 1284-B
Désignation Note Fonction
1 1 Stroboscope Marqueur de cycle de transfert (sortie) Gestion informatique
2 2 Bit de données 1 Signal 1 (sortie) Ordinateur de données
3 3 Bit de données 2 Signal 2 (sortie) Ordinateur de données
4 4 Bit de données 3 Signal 3 (sortie) Ordinateur de données
5 5 Bit de données 4 Signal 4 (sortie) Ordinateur de données
6 6 Bit de données 5 Signal 5 (sortie) Ordinateur de données
7 7 Bit de données 6 Signal 6 (sortie) Ordinateur de données
8 8 Bit de données 7 Signal 7 (sortie) Ordinateur de données
9 9 Bit de données 8 Signal 8 (sortie) Ordinateur de données
10 10 Reconnaissance Volonté d'accepter (contribution) État de l'imprimante
11 11 Occupé Occupé (entrée) État de l'imprimante
12 12 Fin du papier Pas de papier (saisie) État de l'imprimante
13 13 Sélectionner Sélectionner (saisir) État de l'imprimante
14 14 Saut de ligne automatique Alimentation automatique (sortie) Gestion informatique
15 32 Erreur Erreur (saisie) État de l'imprimante
16 31 Initialisation Initialiser (quitter) Initialiser l'imprimante (primaire-bas) Gestion informatique
17 36 Sélectionnez Dans Contrôle d'impression (Sortie) Sélectionner l'entrée Gestion informatique
18-25 16-17, 19-30 GND Général Terre

Le câblage du câble d'imprimante Centronics IEEE 1284 lpt - port com9 peut également être affiché sous la forme d'une image

L'un des ports informatiques les plus anciens est le port LPT ou port parallèle. Et bien que le port LPT ne soit plus visible sur toutes les cartes mères, les lecteurs pourraient néanmoins être intéressés de savoir de quoi il s'agit.

Tout d’abord, regardons le nom du port. Peut-être que tout le monde ne sait pas ce que signifie l'abréviation LPT. En fait, LPT est l’abréviation de Line Print Terminal. Ainsi, il devient clair que le port LPT était principalement destiné à connecter des imprimantes. C'est pourquoi le port LPT a un autre nom : port d'imprimante. Bien qu'en théorie, d'autres appareils puissent être connectés au LPT.

Le port LPT a une longue histoire. Il a été développé par Centronics (c'est pourquoi ce port est souvent appelé port Centronics), qui fabriquait des imprimantes matricielles avant l'ère du PC, au début des années 1970. Et au début des années 1980, le port LPT a commencé à être utilisé par IBM dans ses ordinateurs et est devenu pendant un certain temps le port standard pour connecter des appareils à haut débit (à l'époque).

Apparition du port parallèle à l'arrière de l'ordinateur

L'interface LPT a existé dans plusieurs éditions. Dans la version originale, le port LPT était unidirectionnel, c'est-à-dire qu'il ne pouvait transmettre des données que dans une seule direction : vers un périphérique. Bien entendu, cette situation ne convenait pas aux utilisateurs, car certaines imprimantes nécessitaient un transfert de données dans les deux sens. Par conséquent, l'interface LPT a ensuite été améliorée à plusieurs reprises jusqu'à ce que sa norme internationale IEEE 1284 soit développée. Conformément à cette norme, l'interface du port parallèle prenait en charge plusieurs modes de fonctionnement et était également compatible avec les normes plus anciennes. De plus, l'interface dans sa version finale prenait en charge des taux de transfert de données relativement élevés - jusqu'à 5 Mb/s.

Comment fonctionne le port parallèle

Le port LPT est dit parallèle car le câble qui y est connecté transmet les données en parallèle, c'est-à-dire simultanément le long de plusieurs conducteurs. Cette propriété distingue un port parallèle d'un autre port d'ordinateur - un port COM série.

Il y a 8 conducteurs qui transmettent les données elles-mêmes dans le câble Centronics. De plus, le câble contient plusieurs lignes à travers lesquelles les signaux de commande sont transmis.

Bien que le port parallèle soit principalement utilisé pour connecter des imprimantes, il avait d’autres utilisations. Tout d'abord, en utilisant le port LPT, vous pouvez connecter directement deux ordinateurs à l'aide d'un câble Interlink spécial. Avant l'utilisation généralisée des cartes réseau Ethernet, une telle connexion, même si elle n'offrait pas à l'utilisateur des vitesses de transfert de données élevées, était néanmoins souvent le seul moyen de connecter deux ordinateurs. Il existe également des clés électroniques conçues pour se connecter au port LPT.

Câble pour le transfert de données entre ordinateurs - Interlink

Comme pour de nombreux autres périphériques de la carte mère, les modes de fonctionnement des ports parallèles peuvent souvent être configurés via la configuration du BIOS. En règle générale, les options du BIOS telles que Parallel Port, Parallel Port IRQ, Parallel Port DMA, etc. sont utilisées à cet effet.

Connecteur de port parallèle de la carte mère et câble Centronics

Le connecteur du port LPT est généralement situé directement sur la carte mère, jusqu'au milieu des années 1990. il était généralement présent sur une multicarte insérée dans un slot d'extension, sur lequel se trouvaient également d'autres ports de l'ordinateur. La sortie du port est un connecteur femelle à 25 broches appelé connecteur DB25.

Multicarte ISA avec LPT (DB25 - « mère ») et un port de jeu à bord.

Pour se connecter à l'imprimante, un câble spécial est utilisé - un câble Centronics. Une extrémité (fiche) du câble Centronics est connectée au port, l'autre (également fiche) est connectée à un connecteur spécial sur l'imprimante. Le dernier connecteur comporte 36 broches. La particularité du câble Centronics est donc qu'il possède des connecteurs différents des deux côtés.

Apparition du câble Centronics.

Bien que le connecteur du câble de la carte mère soit souvent appelé connecteur Centronics, à proprement parler, le connecteur Centronics n'est qu'un connecteur à 36 broches pour la connexion à l'imprimante et non à la carte mère. Le connecteur du câble permettant de se connecter au port est appelé connecteur Amphénolstacker, du nom du fabricant américain de connecteurs Amphénol qui l'a développé.

Caractéristiques du port parallèle

Étant donné que le port LPT prend en charge le transfert de données parallèle, ce port était considéré dans les premiers PC comme l'un des ports informatiques les plus rapides. La transmission de données sur plusieurs lignes rend l'interface LPT beaucoup plus proche en architecture des bus informatiques. Cependant, cette circonstance impose également une limitation de la longueur du câble qui, en raison des interférences se produisant dans le câble, ne peut excéder 5 m.

La tension maximale utilisée dans les lignes de signal du port est de +5 V. Pour une transmission de données simple, seules dix lignes de signal sont nécessaires - il s'agit de 8 lignes de données, une ligne de signal stroboscopique, c'est-à-dire un signal indiquant que le port est prêt à transmettre des données. , et une ligne occupée . Les lignes restantes sont utilisées pour la compatibilité avec la norme Centronics.

Port LPT de type « femelle » avec numérotation des contacts.

Brochage du connecteur de port parallèle DB25 :

  • 1 – Stroboscope de données
  • 2-9 – Données, bits 0-7
  • 10 – Accusé de réception (Confirmation de l'imprimante)
  • 11 – Occupé
  • 12 – Fin du papier
  • 13 – Sélectionner (Imprimante active)
  • 14 – Alimentation automatique
  • 15 – Erreur
  • 16 – Init (initialisation de l'imprimante)
  • 17 – Sélectionnez l'entrée
  • 18-25 – Terre

Conclusion

Le port LPT est une interface d'ordinateur personnel qui est désormais considérée comme obsolète et ne bénéficie pas d'un support significatif de la part des fabricants de matériel informatique et de logiciels. Cependant, le port parallèle est encore utilisé avec succès dans de nombreux anciens modèles d'ordinateurs et d'imprimantes.

L'ordinateur traite les signaux dans des flux parallèles, il lui est donc plus facile de « communiquer » avec des ports externes parallèles plutôt qu'avec des ports externes série. En 1984, le PC IBM introduisait pour la première fois un port parallèle. Il a été conçu comme un moyen de connecter des imprimantes matricielles, d'où le nom LPT - Line Printer ou Line Printer Terminal. Plus tard, l'interface USB haute vitesse a commencé à être utilisée pour les imprimantes et le port LPT a commencé à être progressivement remplacé par les spécifications informatiques. Les esprits comparent le LPT à une valise sans poignée - c'est dommage de la jeter et impossible à transporter. Cependant, le « vétéran » est encore capable de beaucoup de choses, si, bien sûr, il est présent dans un ordinateur particulier.

Le connecteur du port LPT possède 25 broches. La norme « de facto » est considérée comme une prise DB-25F dans l'ordinateur et une fiche DB-25M dans le câble de retour (Tableau 4.2). La numérotation des contacts des fiches et des prises est en miroir (Fig. 4.7, a, b).

Tableau 4.2. Disposition du signal dans le connecteur du port LPT à 25 broches

Décodage

Direction

Entrée/Sortie

Entrée/Sortie

Confirmation

Préparation

Pas de papier

Transfert automatique

Entrée/Sortie

Initialisation

Entrée/Sortie

Sélection d'entrée

Entrée/Sortie

Riz. 4.7. Vue de face des connecteurs du port LPT 25 broches : a) Prise DB-25F dans l'ordinateur ; b) Branchez le DB-25M dans le câble de connexion.

Initialement, les lignes portuaires LPT étaient des SPP (Standard Parallel Port) unidirectionnelles. Certains d'entre eux fonctionnaient uniquement pour l'entrée, d'autres uniquement pour la sortie, ce qui, en termes d'ensemble de signaux et de protocole d'échange, correspondait à l'interface de l'imprimante Centronics. En 1994, une nouvelle norme d'interface parallèle, IEEE 1284, a été approuvée, fournissant des lignes bidirectionnelles et trois modes de fonctionnement : SPP, EPP (Enhanced Parallel Port), ECP (Extended Capabilities Port).

Les niveaux de signal électrique du port LPT coïncident avec les puces logiques conventionnelles « cinq volts ». Auparavant, les ordinateurs utilisaient des puces tampon TTJl de la série 74LSxx, plus tard des puces CMOS et des LSI, à peu près équivalentes à la série 74ACxx. Dans ce dernier cas, nous pouvons grosso modo supposer que le niveau BAS est de 0,1 à 0,2 V et le niveau HAUT de 4,5 à 4,9 V.

La norme régule une charge de 14 mA pour chaque sortie tout en maintenant une tension d'au moins +2,4 V HIGH et d'au plus +0,4 V LOW. Cependant, sur différentes cartes mères, les tampons de sortie du port LPT peuvent avoir des capacités de charge différentes, y compris celles inférieures à la norme (port « faible »).

Conditions requises pour connecter les câbles connectés au port LPT :

Les fils de signal doivent être associés à un fil GND commun ;

Chaque paire doit avoir une impédance de 56 à 68 Ohms dans la plage de fréquences de 4 à 16 MHz ;

Si un câble plat est utilisé, les fils de signal doivent alterner physiquement avec le fil GND commun (blindages locaux) ;

Le niveau de diaphonie entre les signaux ne dépasse pas 10 % ;

Le câble doit avoir un blindage couvrant au moins 85 % de la surface extérieure. Aux extrémités du câble, le blindage doit être annelé et relié au contact de masse du connecteur ;

Dans le connecteur du câble, vous pouvez souder des résistances série C2-23 (OMJIT-O.125) avec une résistance de 100...300 Ohms sur les broches 1...17 (Fig. 4.8). Cela protégera l'ordinateur des courts-circuits accidentels dans la charge et réduira la « sonnerie » haute fréquence aux bords du signal.

Riz. 4.8. Schéma électrique d'un câble LPT avec résistances « anti-sonnerie ».

Les schémas de connexion de MK à un port LPT peuvent être divisés en trois groupes :

Réception de signaux d'un ordinateur (Fig. 4.9, a...h) ;

Transmettre des signaux à un ordinateur (Fig. 4.10, a...e) ;

Réception/transmission de signaux simultanément (Fig. 4.11, a…e).

Certaines simplifications ont été apportées aux schémas. Le signal d'entrée est principalement « DO » et le signal de sortie est « ASK », bien qu'il puisse y en avoir d'autres répertoriés dans le tableau. 4.2. Sur chaque ordinateur spécifique, les performances des circuits faits maison doivent être vérifiées expérimentalement, ce qui est dû à la présence de ports LPT « forts » et « faibles » en termes de capacité de charge.

Riz. 4.9. Schémas d'entrée des signaux du port LPT vers le MK (début) :

a) la résistance R1 limite le courant d'entrée. Les éléments R2, C1 peuvent être absents, mais ils réduisent la « sonnerie » sur les fronts de signal avec un long câble ;

b) le transistor tampon VT1 inverse le signal. La diode VD1 est facultative, mais elle protège le transistor contre l'application par erreur d'une tension négative importante. Si vous n'installez pas la résistance R2, le circuit restera opérationnel, cependant, lorsque le câble est débranché du port LPT, un faux déclenchement du transistor VT1 dû à des interférences externes et des interférences est possible ;

c) la diode VD1 coupe les interférences et augmente le seuil de réponse du transistor VT1. La résistance R1 ferme de manière fiable le transistor VT1 au niveau BAS du port LPT ;

d) l'élément logique tampon DD1 a une sortie à collecteur ouvert. Les fronts de signal sont formés par les éléments R1, C1. Vous pouvez remplacer l'onduleur DD1 par un répéteur K155LP9 en apportant les modifications appropriées dans le MK et le programme informatique ;

e) Le déclencheur Schmitt DD1 (remplacement - K555TL2) augmente l'immunité au bruit. Plus la résistance des résistances R1, R2 est faible, plus la raideur des fronts du signal est grande. Lorsque le câble du port LPT est déconnecté, la résistance R1 empêche l'entrée de la puce DD1 de « rester en l'air » ;

f) la connexion séquentielle de deux éléments logiques DD11, /)/)/.2 augmente (restaure) la raideur des fronts du signal. La résistance R1 élimine les émissions, les « sonneries » ;

Riz. 4.9. Schémas d'entrée des signaux du port LPT vers le MK (fin) :

g) les données provenant du port LPT sont préalablement placées dans le registre intermédiaire DD1. L'enregistrement s'effectue à un niveau HAUT à l'entrée « C » du microcircuit DD1, le stockage s'effectue à un niveau BAS. Cette solution élimine les interférences, puisque des données aléatoires peuvent être périodiquement émises vers le port LPT, en fonction des pilotes installés sur l'ordinateur. Ils sont éliminés par programme, par exemple en lisant à plusieurs reprises le signal d'entrée des lignes MK ;

h) mise en mémoire tampon du port LPT avec de puissants commutateurs à transistors situés dans la puce DA1 de Texas Instruments. Les résistances R1...R8 peuvent avoir une résistance 10...15 fois inférieure, ce qui vous permet de connecter des puces A4/d'autres composants de l'appareil en parallèle avec les sorties.

Riz. 4.10. Schémas de sortie des signaux du port MK vers le port LPT (début) :

a) connexion directe de la sortie MK sans éléments tampons. Les résistances R1, R2 réduisent la réflexion des signaux dans la ligne. De plus, la résistance R2 protège la sortie MK d'un court-circuit accidentel avec le circuit GND dans les fils du câble de connexion ;

b) Le déclencheur Schmitt DD1 sert de tampon de protection pour MK en cas d'urgence à la sortie (court-circuit ou haute tension) ;

c) la puce DD1 a une sortie à collecteur ouvert, qui la protège des courts-circuits dans les fils et les connecteurs du câble de connexion ;

d) fournir deux signaux antiphase à l'ordinateur. Objectif - nécessité logicielle ou organisation d'un canal de transmission de données de sauvegarde (contrôle) ;

e) optocoupleur sur les éléments HL1, BL1, qui sont utilisés dans les souris d'ordinateur mécaniques. Le KG/transistor amplifie et inverse le signal. Pour un fonctionnement normal de l'appareil, l'ordinateur doit régler la ligne « D8 » sur un niveau ÉLEVÉ.

Riz. 4.11. Circuits de signaux d'entrée/sortie combinés entre les ports MK et LPT (démarrage) :

a) si l'ordinateur règle la ligne « DO » sur un niveau ÉLEVÉ, alors MK en mode sortie peut générer un signal « ASK » via la résistance R1. Si MK est commuté en mode d'entrée, l'ordinateur peut lui transmettre des données via la ligne « DO » via la diode VD1, tandis que la résistance interne « pull-up » MK forme un niveau ÉLEVÉ ;

b) le signal du port LPT est entré dans le MK via un inverseur sur le transistor VT1. Dans ce cas, l'ordinateur doit régler la ligne « D2 » sur un niveau HAUT ; Les informations dans MK sont saisies à partir de la ligne « DO » via la résistance R1. La résistance élevée de la résistance R1 découple physiquement les canaux d'entrée et de sortie ;

Riz. 4.11. Circuits de signaux d'entrée/sortie combinés entre les ports MK et LPT (extrémité) :

b) le signal du port LPT est entré dans le MK via un inverseur sur le transistor VT1, tandis que l'ordinateur doit régler le niveau BAS sur la ligne « DO ». Les informations sont saisies dans le MK via les éléments R1, R3, VT2 ;

d) le signal du port LPT est entré dans le MK via un répéteur sur le transistor VT1, et l'ordinateur doit régler la ligne « DO » sur un niveau ÉLEVÉ. Les informations sont saisies dans MK via un répéteur sur la puce DD1\

g) les signaux "D0" ... "D3" sont entrés dans le MK à un niveau BAS sur la ligne "INIT", tandis que l'ordinateur doit configurer les lignes "D4" ... "D7" comme entrées. Dans les paramètres du BIOS de l'ordinateur, vous devez définir le mode bidirectionnel EPP ou ECP pour le port LPT. Les informations sont transmises à l'ordinateur depuis le MK le long des lignes « D4 » ... « D7 » à un niveau ÉLEVÉ sur la ligne « INIT ». La résistance R1 commute les sorties de la puce DD1 à l'état Z lorsque le câble du port LPT est déconnecté ;

e) le signal du MK au port LPT est entré via le répéteur DD1.2, et l'ordinateur doit régler le niveau HAUT sur la ligne « D2 » et le niveau BAS sur la ligne « D5 ». Les informations sont saisies dans le MK via le répéteur DD1.1 à un niveau BAS sur la ligne « D2 ». L'échantillonnage des signaux aux entrées «E1», «E2» du microcircuit DD1 augmente la fiabilité de la transmission des données.

Bonjour, codeurs et autres maniaques de l’industrie informatique. Aujourd'hui, je vais vous expliquer comment gérer un port LPT et l'utiliser à vos propres fins. Alors faites le plein de Snickers et soyez patient. À la fin, je montrerai un exemple intéressant de son utilisation.

Le port LPT dispose de 25 broches qui peuvent être réglées sur 0 ou +5V (0 ou 1). Les valeurs peuvent être définies par programme ou à l'aide d'un périphérique externe. Regardons la figure suivante pour nous aider dans notre travail.
(J'avoue tout de suite que le dessin n'est pas le mien, il est tiré du site www.pcports.ru, où il y a beaucoup d'informations sur ce sujet).

Comme nous pouvons le voir, les broches du port peuvent être divisées en quatre groupes. Les huit broches rouges appartiennent au registre de données. Pour le contacter, vous devez connaître son adresse : 378h – en hexadécimal ou 888 – en décimal. Les bits de ce registre peuvent être définis (ou effacés) soit par logiciel, soit par un périphérique externe.
Les broches marquées en noir sont des broches de terre. Ils sont tous interconnectés et pour nos besoins, nous pouvons en utiliser n’importe lequel.
Les contacts dont la valeur ne peut être définie que via un périphérique externe sont indiqués en vert. Autrement dit, nous ne pouvons pas les modifier par programme. Nous pouvons seulement lire leur statut. Ils appartiennent au registre des statuts, qui porte l'adresse 379h en hexadécimal ou 889 en décimal.
Et le registre de contrôle, dont les broches sont indiquées en bleu. Comme le registre Status, il est unidirectionnel, mais son état ne peut être modifié que par programme.
Eh bien, nous devons le mettre en pratique. Souvenons-nous du bon vieux Assembleur. Pour travailler avec les ports, il nous fournit deux commandes : in et out. La commande in charge les données dans l'accumulateur à partir du port du périphérique d'E/S. Exemple:

n batterie, port.

Dans ce cas, vous pouvez sortir à partir de ports avec des adresses jusqu'à 255. Cela ne nous suffit pas. En utilisant l'adressage de registre, vous pouvez sortir depuis des ports jusqu'à 65536. Voici un exemple :

dans l'accumulateur, dx .

Autrement dit, l'adresse du port doit être placée à l'avance dans le registre dx. La commande out est à l'opposé : elle place les données de l'accumulateur dans le port. Exemple : out dx , accumulateur. L'adressage des registres est également utilisé ici afin que vous puissiez travailler avec des ports dont les adresses vont jusqu'à 65536. Maintenant, nous lançons notre bien-aimé Delphi, mettons un bouton sur le formulaire et, lorsqu'on clique dessus, écrivons le code assembleur suivant (c'est ce qu'on appelle l'assembly insertion (note de Soffrick - Inline assembleur ) et c'est écrit entre les mots-clés asm et end) :
(Cet exemple ne fonctionnera pas sous Windows NT. Ensuite, je vais vous expliquer comment le surmonter)

procédure TForm1. Button1Click (Expéditeur : TObject ); asme// indique que le code assembleur viendra ensuite mouvement dx, 888//envoyer l'adresse de notre port dans le système à 10 chiffres au registre dx déménagement, 00000001b//envoie un « masque » à l'accumulateur du système binaire. dehors dx, al//sortie vers le port (plus précisément, vers la valeur du registre de données 00000001

fin ;

Le fait est que Windows NT (2000, XP), afin d'assurer la sécurité d'utilisation des ressources matérielles informatiques partagées, interdit l'accès direct à celles-ci depuis les programmes en mode utilisateur. Et pour accéder au port, toutes les opérations doivent être effectuées par l'intermédiaire du chauffeur. Je suggère d'utiliser la bibliothèque Inpout32.dll. Vous pouvez le télécharger ici http://www.pcports.ru/files/inpout32.rar. Cette bibliothèque, lorsque vous travaillez avec NT, convertit les appels en requêtes au pilote du système d'exploitation standard, via lequel les données sont échangées avec le port. Vous pouvez en savoir plus sur cette bibliothèque et son auteur ici : http://www.logix4u.net/inpout32.htm. Cette bibliothèque contient les deux fonctions suivantes qui nous seront utiles. Voici leur description :

Inp32(PortAdr : mot) : octet.

Il reçoit l'adresse du port et renvoie la valeur qui y est définie. Attention, la valeur est exprimée en système décimal. Fonction suivante :

Out32(PortAdr : mot ; Données : octet) : octet.

D'après la description, il est clair qu'il peut également renvoyer une sorte de résultat, mais nous n'en avons pas besoin. Il envoie la valeur spécifiée au port spécifié (également dans un système à 10 chiffres). Nous ouvrons à nouveau notre Delphi, qui était désespérément fermée après la première tentative, et procédons comme suit. Nous devons déclarer les fonctions de la bibliothèque. Pour ce faire, dans notre code source, après la liste des modules et avant la déclaration des types, nous écrivons ce qui suit :
...

utilise Windows, Messages, SysUtils, Variantes, Classes, Graphiques, Contrôles, Formulaires, Boîtes de dialogue, ExtCtrls, StdCtrls, jpeg ;

...
fonction Inp32(PortAdr: mot) : octet ;

appel standard ;

Nous compilons, lançons et voilà, notre LED s'allume. Rappelons maintenant le "masque" (00000001) de l'exemple précédent. Notre unité, qui est transmise dans le deuxième paramètre au port 888 (registre de données) dans le système 10 points. équivaut à 00000001 à 2 chiffres. Autrement dit, si vous prenez deux LED supplémentaires et mettez le « + » de l'une dans la 3ème broche du port LPT, et le « + » de l'autre, par exemple, dans la cinquième, et bien sûr mettez à la terre leurs inconvénients par en les connectant à la 25ème broche, puis pour les allumer tous, vous devez envoyer la fonction Out32 au port 11 dans le deuxième paramètre : Out32(888,11), car 11, dans le système binaire cela ressemblera à ceci 00001011. Ce n'est pas clair ? Essayez de superposer visuellement ces zéros et ces uns sur le dessin, à partir du neuvième contact et jusqu'au 2ème. Maintenant, il n'est pas difficile de deviner que la tension sera réglée sur +5V sur les broches 5,3 et 2 et que nos LED que nous y avons placées s'allumeront. Maintenant, nous pouvons faire quelque chose de plus intéressant, comme une lumière clignotante. En utilisant une minuterie, ce n’est pas difficile à faire. Essayez-le vous-même.

Eh bien, il semble que c'est tout ce que je voulais vous dire aujourd'hui. Dans le prochain article, je vais vous expliquer comment faire en sorte qu'une voiture radiocommandée soit contrôlée non pas depuis la télécommande, mais depuis le clavier. Bonne compilation.

Écrit par : Kastor