Menu English Ukrainian Russe ACCUEIL

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Une autre vie du port LPT. Partie 2. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / ordinateurs

Commentaires sur l'article Commentaires sur l'article

Pour enregistrer des signaux sur le port LPT, je recommande d'assembler un circuit (Fig. 1) composé de huit commutateurs et de huit résistances d'une résistance de 270 Ohm - 1 kOhm. Avec cette position des interrupteurs (boutons) SW1-SW8, il y a un "1" logique sur tous les contacts supérieurs, quand l'un est fermé, un "0" logique apparaîtra sur le contact correspondant. Les broches peuvent être connectées directement au bus D0-D7 (broches 2-9, adresse &H378) ou à ERROR, SELECT, PAPER END, ACK et -BUSY (broches 15, 13, 12, 10 et 11, adresse &H379) .

Une autre vie du port LPT
Fig. 1

Pour afficher les données provenant du port LPT, je recommande le schéma suivant.

Une autre vie du port LPT
Fig. 2

Résistances R1-R8 avec une valeur nominale de 270 à 330 ohms, toutes les LED, disons AL307B. Un tel circuit ne nécessite pas d'alimentation, tout brillera de toute façon. J'ai apporté tous les signaux à moi, tout est immédiatement visible. En général, je recommande fortement de télécharger le programme LPT 3D HARD Analyzer sur valery-us4leh.narod.ru/dlpt.html. Écrit par Valery Kovtun. Avec l'aide de ce programme ... en général, vous verrez par vous-même.

Assemblons un générateur d'impulsions rectangulaire sur une puce K561LA7. Groupe électrogène + 5V. Le fait est qu'il est plus pratique d'assembler tous les appareils, par exemple sur les séries 155, 555, afin que les signaux aient un niveau TTL. Logique "zéro" 0-0,8V et log "un" 2,4-4,2V. La commodité de la série 561 réside dans la polyvalence de l'alimentation - elle fonctionne aussi bien de + 3V à + 12V. Par conséquent, le choix des microcircuits reste à votre goût, la seule question est d'obtenir des impulsions rectangulaires d'une amplitude ne dépassant pas + 5V. Un schéma d'un simple générateur d'impulsions est illustré à la figure 3.

Une autre vie du port LPT
Fig. 3

Le générateur lui-même est assemblé sur les éléments D1.1-D1.3, et j'ai simplement utilisé l'élément D1.4 pour des fronts plus "beaux" des impulsions de sortie. R1, R2, C1 - éléments de réglage de fréquence. Avec ces paramètres des éléments, la fréquence de génération est d'environ 5-7 Hz. Pour plus de clarté, le fonctionnement du générateur peut être représenté sous la forme du graphique suivant :

Une autre vie du port LPT
Fig. 4

La sortie D1.4 de l'onduleur est connectée à la broche 2 du connecteur LPT (bus D0). Avant d'utiliser le générateur, il est nécessaire de mettre le bus D0-D7 en mode de réception de données. Pour ce faire, nous envoyons 37 à &H43A.
Le code est le suivant. Pour ceux qui utilisent
entrée32.dll dlportio.dll DOS
Out&H37A, 43 DlPortWritePortUchar &H37A, 43 OUT&H37A, 43

Après cela, nous commençons à interroger le port &H378.
Le code est le suivant. Pour ceux qui utilisent
entrée32.dll dlportio.dll DOS
DimA comme EntierA = Inp(&H378) Dim A comme IntegerDlPortReadPortUchar(&H378) DEFINT A-ZA=INP(&H378)

Variable A prendra la valeur 254 ou 255. Pourquoi ?
D0 D1 D2 D3 D4 D5 D6 D7  
20 21 22 23 24 25 26 27  
1 2 4 8 16 32 64 128  
1 1 1 1 1 1 1 1 255
0 1 1 1 1 1 1 1 254

Le fait est qu'une fois que les bus D0-D7 sont passés en mode de réception de données, ils sont définis sur un niveau d'unité logique (ligne jaune).

Lorsque le niveau D0 apparaît sur le bus D0, le log "0" (ligne bleue) - le premier bit prend la valeur zéro, c'est-à-dire 2 + XNUMX1+22+23+24+25+26+27 = 254.

Ainsi, nous pouvons suivre le changement du signal sur le bus D0, mais si nous comptons le nombre de changements en 1 seconde, nous obtiendrons ... à droite - un compteur de fréquence numérique. Connaissance nombre impulsions entrantes par seconde on peut dire de fréquence en Hertz.

Donc, le programme de compteur de fréquence. Le formulaire doit avoir 3 boutons et une étiquette. Le bouton 1 démarre le fréquencemètre, le bouton 2 s'arrête, le bouton 3 - quitte, l'étiquette - indique la fréquence.

*******************************************

Pour ceux qui utilisent inpout32.dll

Option explicite

'déclaration de bibliothèque pour travailler avec des adresses de port

Fonction de déclaration privée Inp Lib "inpout32.dll" Alias ​​​​"Inp32" (ByVal PortAddress As Integer) As Integer

Private Declare Sub Out Lib "inpout32.dll" Alias ​​​​"Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

'déclaration de bibliothèque pour compter les millisecondes

Fonction de déclaration privée GetTickCount Lib "kernel32" () As Long

Dim FTV As Long ' valeur initiale de l'heure système

Dim STV As Long ' valeur finale de l'heure système

Dim FV As Integer 'FV est l'état initial du port

Dim SV As Integer 'État du port comparable à SV

Dim cntr 'compteur d'impulsions

Dim J As Integer 'J=1 compte autorisé, J=0 compte non autorisé

Private Sub Command1_Click ()

Out &H37A, 43' on met les pneus D0-D7 en mode lecture

FTV = GetTickCount 'heure système mémorisée en millisecondes

J = 1 'compter - autoriser

FV = Inp(&H378) 'Lire l'état du port

SV = FV 'SV est égal à l'état du port

cntr = 0 ' compteur à zéro

Faire Tant que J <> 0

DoEvents

STV = GetTickCount 'se souvenir de l'heure système actuelle

If STV > FTV + 1000 Then FrequencyShow 'si une seconde s'est écoulée, affiche le résultat

FV = Inp(&H378) 'interroge constamment l'adresse &H378

If FV <> SV Then 'si l'état du port a changé

SV = FV 'SV est égal à l'état du port

cntr = cntr + 0.5 ' compteur + 0.5

Si fin

Si J = 0 Then Exit Do ' si l'utilisateur a appuyé sur Stop

boucle

End Sub

Private Sub Command2_Click ()

'arrêter la boucle

'si l'utilisateur a appuyé sur Stop

J = 0

End Sub

Private Sub Command3_Click ()

J = 0' comptage - stop

Out &H37A, 0 'restaure l'état du bus D0-D7

Déchargez-moi 'quittez le programme

End Sub

'Routine d'affichage de la fréquence

Public SubFrequencyShow()

Label1.Caption = Int(cntr) & " Hz" 'affiche le résultat

cntr = 0 ' compteur à zéro

Pause (0.2) 'délai. Nécessaire pour mesurer les basses fréquences

FTV = GetTickCount 'heure système mémorisée en millisecondes

End Sub

'Retarder la routine. Format d'appel : Pause (nombre de secondes)

Public Sub Pause (valeur unique)

Dim Début, Fin

Démarrer = Minuterie

Faire pendant que la minuterie < Début + Valeur

DoEvents

boucle

Fin=Minuteur

End Sub

*******************************************

Pour ceux qui utilisent dlportio.dll

Option explicite

'déclaration de bibliothèque pour travailler avec des adresses de port

Fonction de déclaration privée DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte

Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)

'déclaration de bibliothèque pour compter les millisecondes

Fonction de déclaration privée GetTickCount Lib "kernel32" () As Long

Dim FTV As Long ' valeur initiale de l'heure système

Dim STV As Long ' valeur finale de l'heure système

Dim FV As Integer 'FV est l'état initial du port

Dim SV As Integer 'État du port comparable à SV

Dim cntr 'compteur d'impulsions

Dim J As Integer 'J=1 compte autorisé, J=0 compte non autorisé

Private Sub Command1_Click ()

DlPortWritePortUchar &H37A, 43 'met les bus D0-D7 en mode lecture

FTV = GetTickCount 'heure système mémorisée en millisecondes

J = 1 'compter - autoriser

FV = DlPortReadPortUchar (&H378) 'Lire l'état du port

SV = FV 'SV est égal à l'état du port

cntr = 0 ' compteur à zéro

Faire Tant que J <> 0

DoEvents

STV = GetTickCount 'se souvenir de l'heure système actuelle

If STV > FTV + 1000 Then FrequencyShow 'si une seconde s'est écoulée, affiche le résultat

FV = DlPortReadPortUchar (&H378) 'interroge constamment l'adresse &H378

If FV <> SV Then 'si l'état du port a changé

SV = FV 'SV est égal à l'état du port

cntr = cntr + 0.5 ' compteur + 0.5

Si fin

Si J = 0 Then Exit Do ' si l'utilisateur a appuyé sur Stop

boucle

End Sub

Private Sub Command2_Click ()

'arrêter la boucle

'si l'utilisateur a appuyé sur Stop

J = 0

End Sub

Private Sub Command3_Click ()

J = 0' comptage - stop

DlPortWritePortUchar &H37A, 0 'restaure l'état du bus D0-D7

Déchargez-moi 'quittez le programme

End Sub

'Routine d'affichage de la fréquence

Public SubFrequencyShow()

Label6.Caption = Int(cntr) & " Hz" 'affiche le résultat

cntr = 0 ' compteur à zéro

Pause (0.2) 'délai. Nécessaire pour mesurer les basses fréquences

FTV = GetTickCount 'heure système mémorisée en millisecondes

End Sub

'Retarder la routine. Format d'appel : Pause (nombre de secondes)

Public Sub Pause (valeur unique)

Dim Début, Fin

Démarrer = Minuterie

Faire pendant que la minuterie < Début + Valeur

DoEvents

boucle

Fin=Minuteur

End Sub

*******************************************

Et tout? Tu demandes. Oui c'est tout. C'est tout le programme qui, pour une raison quelconque, fonctionne.

Ø Comme vous pouvez le voir, le code est presque le même pour différentes bibliothèques, donc, dans les exemples suivants, nous considérerons le code uniquement avec la bibliothèque dlportio.dll

Si vous analysez attentivement le code de programme du compteur de fréquence, vous remarquerez que 0.5 est ajouté au compteur,

centr = centr + 0.5,

et non 1. Le fait est que ce code de programme considère la transition de l'état du port à la fois de 1 à 0, et vice versa de 0 à 1, par conséquent, pour compter la fréquence, vous devez soit ajouter 0.5, puis sortir

Label1.Caption = Int(cntr) & "hz"

Ou ajouter 1

centr = centr + 1,

Et puis sortie

Label1.Caption = Int(cntr/2) & "hz"

Voici le calcul.

Au fait, avez-vous essayé de mettre une sorte de capteur sur l'arbre rotatif d'un moteur. Probablement, avec l'aide de ce programme, vous obtiendrez un merveilleux tachymètre J

Eh bien, passons à autre chose.

Nous prenons le même générateur d'impulsions et au lieu de la résistance R2 ou R1, nous soudons la thermistance (l'auteur de l'article est allé dans un magasin de voitures et a acheté un capteur de température d'un VAZ-30 pour 2101 roubles). Ce capteur thermique change sa résistance en fonction de la température (3200 ohms à +140C et 143 Ohm à une température de +1000C.) Puisque nous changeons la résistance, la fréquence du générateur change également, ce qui signifie que nous obtenons un convertisseur température-fréquence, c'est à dire. thermomètre digital. Je tiens à attirer votre attention sur le fait que le changement de résistance en fonction de la température ne se produit pas de manière linéaire, comme on peut le voir sur le graphique suivant,

Une autre vie du port LPT
Fig. 5

par conséquent, "expliquer" à l'ordinateur que 100 impulsions correspondent à 20 degrés et que 110 impulsions correspondent à 21 degrés ne sera pas très facile, mais néanmoins possible. La question n'est que dans la taille du code et de l'algorithme.

Si au lieu d'une résistance, nous mettons un capteur de carburant du réservoir d'essence, nous obtenons alors un indicateur de niveau de liquide. Il est plus commode de construire un tel indicateur comme suit :

1. Nous mesurons la fréquence d'impulsion avec un réservoir vide

2. Nous ajoutons du volume (en fonction de la gradation - précision que vous souhaitez obtenir) et mesurons à nouveau la fréquence

3. Et ainsi de suite jusqu'au sommet de votre conteneur.

Et vous pouvez construire un indicateur de niveau de liquide selon un principe différent, si vous assemblez la structure de la figure ci-dessous.

Une autre vie du port LPT
Fig. 6

Si le niveau de liquide change, la position du flotteur avec l'aimant change également, de sorte que les interrupteurs à lames correspondants se ferment (s'ouvrent). Il est préférable d'utiliser un tube en plastique à paroi mince. Le schéma de cet appareil est le suivant :

Une autre vie du port LPT
Fig. 7

Vous pouvez traiter les informations d'un tel appareil selon l'algorithme suivant.

  1. Mettez les bus à l'adresse &H378 en mode lecture.
  2. Réservoir vide - 255
  3. Une division du bas - 254
  4. Deux divisions du bas - 252
  5. Trois divisions - 248
  6. Quatre divisions - 240
  7. Cinq divisions - 224, etc.

Ø Certains pourront m'objecter qu'il n'est pas nécessaire de mettre les bus D0-D7 en mode lecture, et cela fonctionnera. À cela, je ne peux que répondre à ce qui suit - qui veut, qu'il ne traduise pas. Je n'aborderai pas ce sujet. Si le port &H378 n'est pas en mode de réception de données et que la broche utilisée (dans notre cas 2 - D0 ) a un "1" logique, alors le générateur ne fonctionnera pas. Le courant de sortie du bus D0-D7 en mode transfert de données est supérieur au courant de sortie de la puce CMOS (561LA7), il n'y aura donc pas de génération. Bien sûr, si vous court-circuitez le contact à la terre avec des pincettes, aucun courant ne suffira. Mais il me semble qu'il n'est pas difficile de taper une ligne de code supplémentaire et de faire ce que conseillent les développeurs de matériel informatique.

Considérons maintenant le processus inverse, c'est-à-dire le processus de transfert de données d'un ordinateur vers votre appareil. Prenons par exemple le même générateur d'impulsions, il suffit de changer un peu son circuit.

Une autre vie du port LPT
Fig. 8

Après avoir mis le générateur sous tension, nous constatons soudainement que le générateur ne fonctionne pas. Et cela ne fonctionnera que lorsque le niveau logique "2" apparaîtra à l'entrée 1.1 de l'élément D1.

DlPortWritePortUchar &H378, 1

Et tout a immédiatement fonctionné. Voici un générateur contrôlé par ordinateur. Eh bien, le générateur est tout petit, même s'il faut rendre hommage à cet appareil - dans tant de circuits électroniques, c'est le générateur d'impulsions qui sert de base. Pourquoi ne pas connecter quelque chose de plus sérieux à l'ordinateur.

Voici un tel schéma

Une autre vie du port LPT
Fig. 9

Nous connectons l'entrée de cet appareil à n'importe quelle sortie que nous aimons, par exemple, à D3, nous connectons l'entrée GND au fil commun du connecteur, mais le + 12V devra être prélevé sur une source d'alimentation séparée. Le relais peut être pris en automobile. En général, tous les paramètres des éléments peuvent être complètement différents (j'ai pris ce qui était sous la main)

DlPortWritePortUchar &H378, 8

ou

DlPortWritePortUchar &H378, 9

ou

DlPortWritePortUchar &H378, 10

L'essentiel est qu'il y ait un journal "3" sur le bus D1. Le relais fonctionnera, mais ce que vous captez vous regarde. En général, lors de la commutation d'appareils haute tension, il est nécessaire (au cas où) de se protéger des courts-circuits, de la panne au boîtier, en général, de le faire. Ainsi, en cas d'accident, votre merveilleux port LPT ne s'éteindra pas. Par conséquent, pour de telles connexions, il est pratique d'utiliser l'isolation galvanique du port et de votre appareil, par exemple via un optocoupleur.

Une autre vie du port LPT
Fig. 10

Si tout dans votre appareil "brûle", alors à travers la lumière - hélas, le courant ne passera pas, ils n'ont pas encore trouvé une telle chose.

C'est là que se termine la deuxième partie. Y aura-t-il une troisième partie - je pense que oui, mais voici de quoi il s'agira...

Auteur : Alexey Klyushnikov, Ivanovo ; Publication : cxem.net

Voir d'autres articles section ordinateurs.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Tablette Eewrite Janus avec E Ink et écrans LCD 09.05.2019

Eewrite a annoncé la tablette Janus. La tablette est équipée d'un écran LCD couleur de 9,7 pouces avec une résolution de 2408 x 1536 pixels et d'un écran E Ink Carta avec la même diagonale et une résolution de 1200 x 825 pixels. Prise en charge déclarée de la saisie au stylet numérique Wacom (4096 niveaux de sensibilité à la pression).

Janus est basé sur un processeur MediaTek MT8176 à six cœurs avec 2 Go de RAM, 32 Go de stockage flash et un emplacement pour cartes mémoire microSD jusqu'à 128 Go.

Les spécifications de l'appareil incluent Wi-Fi, Bluetooth, récepteur GPS, appareil photo 8 mégapixels, batterie 5000 mAh, port USB Type-C, connecteur HDMI et haut-parleurs stéréo. L'épaisseur du boîtier de la tablette est de 9,8 mm. La prise en charge facultative de la 4G LTE est également signalée.

En plus des boutons d'alimentation et de volume situés d'un côté du boîtier de la tablette, de l'autre côté se trouve un bouton spécial pour basculer entre les écrans couleur et noir et blanc.

Bientôt, la nouveauté sera disponible en pré-commande au prix de 399 $.

Autres nouvelles intéressantes :

▪ Les vers contre le vieillissement

▪ Améliorer la qualité du sol martien

▪ La télévision empêche les bébés d'apprendre à parler

▪ Expression du visage de chat

▪ Les nanotubes repoussent l'eau

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section des descriptions de poste du site Web. Sélection d'articles

▪ article Rire, vraiment, n'est pas un péché pour tout ce qui semble drôle. Expression populaire

▪ Que s'est-il passé aux États-Unis au XIXe siècle ? Réponse détaillée

▪ article En service du panneau de commande pour la réception des signaux. Instruction standard sur la protection du travail

▪ article Conseils technologiques. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Stabilisateur de tension pour 35 volts. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024