Menú English Ukrainian Ruso Inicio

Biblioteca técnica gratuita para aficionados y profesionales. biblioteca técnica gratuita


ENCICLOPEDIA DE RADIOELECTRÓNICA E INGENIERÍA ELÉCTRICA
biblioteca gratis / Esquemas de dispositivos radioelectrónicos y eléctricos.

Otra vida del puerto LPT. Parte 2. Enciclopedia de radioelectrónica e ingeniería eléctrica.

biblioteca técnica gratuita

Enciclopedia de radioelectrónica e ingeniería eléctrica. / Компьютеры

Comentarios sobre el artículo Comentarios sobre el artículo

Para registrar señales en el puerto LPT, recomiendo ensamblar un circuito (Fig. 1) que consta de ocho interruptores y ocho resistencias con una resistencia de 270 Ohm - 1 kOhm. Con esta posición de los interruptores (botones) SW1-SW8, hay un "1" lógico en todos los contactos superiores, cuando alguno está cerrado, aparecerá un "0" lógico en el contacto correspondiente. Los pines se pueden conectar directamente al bus D0-D7 (pines 2-9, dirección &H378) o a ERROR, SELECT, PAPER END, ACK y -BUSY (pines 15, 13, 12, 10 y 11, dirección &H379) .

Otra vida del puerto LPT
La figura. 1

Para mostrar datos provenientes del puerto LPT, recomiendo el siguiente esquema.

Otra vida del puerto LPT
La figura. 2

Resistencias R1-R8 con un valor nominal de 270 - 330 ohmios, cualquier LED, digamos AL307B. Tal circuito no requiere energía, todo brillará de todos modos. Me traje todas las señales, todo es inmediatamente visible. En general, recomiendo descargar el programa LPT 3D HARD Analyzer en valery-us4leh.narod.ru/dlpt.html. Escrito por Valery Kovtun. Con la ayuda de este programa... en general, lo verás por ti mismo.

Ensamblemos un generador de pulso rectangular en un chip K561LA7. Generador de energía + 5V. El hecho es que es más conveniente ensamblar todos los dispositivos, por ejemplo, en las series 155, 555, para que las señales tengan un nivel TTL. Lógica "cero" 0-0,8V y registro "uno" 2,4-4,2V. La conveniencia de la serie 561 radica en la versatilidad de la fuente de alimentación: funciona igual de bien de + 3V a + 12V. Por lo tanto, la elección de los microcircuitos queda a su gusto, la única pregunta es obtener pulsos rectangulares con una amplitud de no más de + 5V. En la Figura 3 se muestra un diagrama de un generador de impulsos simple.

Otra vida del puerto LPT
La figura. 3

El generador en sí está ensamblado en los elementos D1.1-D1.3, y simplemente usé el elemento D1.4 para frentes más "hermosos" de los pulsos de salida. R1, R2, C1 - elementos de ajuste de frecuencia. Con estos parámetros de los elementos, la frecuencia de generación es de aproximadamente 5-7 Hz. Para mayor claridad, el funcionamiento del generador se puede representar en la forma del siguiente gráfico:

Otra vida del puerto LPT
La figura. 4

La salida del inversor D1.4 se conecta al pin 2 del conector LPT (bus D0). Antes de usar el generador, es necesario poner el bus D0-D7 en el modo de recepción de datos. Para ello, enviamos 37 a &H43A.
El código es el siguiente. Para aquellos que usan
entrada32.dll dlportio.dll DOS
Salida&H37A, 43 DlPortWritePortUchar &H37A, 43 SALIDA Y H37A, 43

Después de eso, comenzamos a sondear el puerto &H378.
El código es el siguiente. Para aquellos que usan
entrada32.dll dlportio.dll DOS
DimA como EnteroA = Inp(&H378) Dim A como IntegerDlPortReadPortUchar(&H378) DEFINIR A-ZA=ENTRADA(&H378)

Variable A tomará el valor 254 o 255. ¿Por qué?
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

El hecho es que después de que los buses D0-D7 se cambian al modo de recepción de datos, se configuran al nivel de una unidad lógica (fila amarilla).

Cuando el nivel D0 aparece en el bus D0, el registro "0" (fila azul) - el primer bit toma el valor de cero, lo que significa 2 + XNUMX1+22+23+24+25+26+27 = 254.

Por lo tanto, podemos rastrear el cambio en la señal en el bus D0, pero si contamos el número de cambios en 1 segundo, obtendremos... correcto: un contador de frecuencia digital. Conocimiento número impulsos entrantes por segundo se puede decir sobre frecuencia en hercios.

Entonces, el programa contador de frecuencia. El formulario debe tener 3 botones y una etiqueta. El botón 1 inicia el medidor de frecuencia, el botón 2 se detiene, el botón 3 - sale, la etiqueta - indica la frecuencia.

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

Para aquellos que usan inpout32.dll

Opción explícita

'declaración de biblioteca para trabajar con direcciones de puerto

Función de declaración privada 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)

'declaración de biblioteca para contar milisegundos

Función de declaración privada GetTickCount Lib "kernel32" () siempre que

Dim FTV As Long ' valor inicial de la hora del sistema

Dim STV As Long ' valor final de la hora del sistema

Dim FV As Integer 'FV es el estado inicial del puerto

Dim SV As Integer 'Estado de puerto comparable con SV

Dim cntr 'contador de pulsos

Dim J As Integer 'J=1 conteo permitido, J=0 conteo no permitido

Subcomando privado1_Click ()

Fuera &H37A, 43' ponemos neumáticos D0-D7 en modo lectura

FTV = GetTickCount 'hora recordada del sistema en milisegundos

J = 1 'contar - permitir

FV = Inp(&H378) 'leer estado del puerto

SV = FV 'SV es igual al estado del puerto

cntr = 0 'contador a cero

Hacer mientras J <> 0

DoEvents

STV = GetTickCount 'recuerda la hora actual del sistema

Si STV > FTV + 1000 Entonces FrequencyShow 'si ha pasado un segundo, muestra el resultado

FV = Inp(&H378) 'dirección de sondeo constante &H378

Si FV <> SV Entonces 'si el estado del puerto ha cambiado

SV = FV 'SV es igual al estado del puerto

cntr = cntr + 0.5 ' contador + 0.5

Si terminar

Si J = 0 Entonces Salir Hacer 'si el usuario presionó Parar

Red ISTE Loop

End Sub

Subcomando privado2_Click ()

'detener bucle

'si el usuario presionó Detener

J = 0

End Sub

Subcomando privado3_Click ()

J = 0 'cuenta - parada

Out &H37A, 0 'restaurar el estado del bus D0-D7

Descárgame 'salir del programa

End Sub

'Rutina de visualización de frecuencia

Espectáculo de subfrecuencia público ()

Label1.Caption = Int(cntr) & " Hz" 'mostrar resultado

cntr = 0 'contador a cero

Pausa (0.2) 'retraso. Necesario para medir bajas frecuencias

FTV = GetTickCount 'hora recordada del sistema en milisegundos

End Sub

Rutina de retraso. Formato de llamada: Pausa (número de segundos)

Pausa secundaria pública (valor como único)

Dim Comienzo, Fin

Inicio = Temporizador

Temporizador Do While < Inicio + Valor

DoEvents

Red ISTE Loop

Finalizar = Temporizador

End Sub

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

Para aquellos que usan dlportio.dll

Opción explícita

'declaración de biblioteca para trabajar con direcciones de puerto

Función de declaración privada 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)

'declaración de biblioteca para contar milisegundos

Función de declaración privada GetTickCount Lib "kernel32" () siempre que

Dim FTV As Long ' valor inicial de la hora del sistema

Dim STV As Long ' valor final de la hora del sistema

Dim FV As Integer 'FV es el estado inicial del puerto

Dim SV As Integer 'Estado de puerto comparable con SV

Dim cntr 'contador de pulsos

Dim J As Integer 'J=1 conteo permitido, J=0 conteo no permitido

Subcomando privado1_Click ()

DlPortWritePortUchar &H37A, 43' poner los buses D0-D7 en modo lectura

FTV = GetTickCount 'hora recordada del sistema en milisegundos

J = 1 'contar - permitir

FV = DlPortReadPortUchar (&H378) 'leer estado del puerto

SV = FV 'SV es igual al estado del puerto

cntr = 0 'contador a cero

Hacer mientras J <> 0

DoEvents

STV = GetTickCount 'recuerda la hora actual del sistema

Si STV > FTV + 1000 Entonces FrequencyShow 'si ha pasado un segundo, muestra el resultado

FV = DlPortReadPortUchar (&H378) 'dirección de sondeo constante &H378

Si FV <> SV Entonces 'si el estado del puerto ha cambiado

SV = FV 'SV es igual al estado del puerto

cntr = cntr + 0.5 ' contador + 0.5

Si terminar

Si J = 0 Entonces Salir Hacer 'si el usuario presionó Parar

Red ISTE Loop

End Sub

Subcomando privado2_Click ()

'detener bucle

'si el usuario presionó Detener

J = 0

End Sub

Subcomando privado3_Click ()

J = 0 'cuenta - parada

DlPortWritePortUchar &H37A, 0 'restaurar el estado del bus D0-D7

Descárgame 'salir del programa

End Sub

'Rutina de visualización de frecuencia

Espectáculo de subfrecuencia público ()

Label6.Caption = Int(cntr) & " Hz" 'mostrar resultado

cntr = 0 'contador a cero

Pausa (0.2) 'retraso. Necesario para medir bajas frecuencias

FTV = GetTickCount 'hora recordada del sistema en milisegundos

End Sub

Rutina de retraso. Formato de llamada: Pausa (número de segundos)

Pausa secundaria pública (valor como único)

Dim Comienzo, Fin

Inicio = Temporizador

Temporizador Do While < Inicio + Valor

DoEvents

Red ISTE Loop

Finalizar = Temporizador

End Sub

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

¿Y todo? Usted pregunta. Sí, eso es todo. Ese es todo el programa, que por alguna razón funciona.

Ø Como puede ver, el código es casi el mismo para diferentes bibliotecas, por lo tanto, en los siguientes ejemplos, consideraremos el código solo con la biblioteca dlportio.DLL

Si analiza cuidadosamente el código del programa del contador de frecuencia, notará que se agrega 0.5 al contador,

centro = centro + 0.5,

y no 1. El hecho es que este código de programa considera la transición del estado del puerto de 1 a 0 y viceversa de 0 a 1, por lo tanto, para contar la frecuencia, debe agregar 0.5 y luego generar

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

O agrega 1

centro = centro + 1,

Y luego salida

Etiqueta1.Caption = Int(ctr/2) & "hz"

Aquí están las matemáticas.

Por cierto, has probado a poner algún tipo de sensor en el eje giratorio de algún motor. Probablemente, con la ayuda de este programa obtendrás un maravilloso tacómetro J

Bueno, sigamos adelante.

Tomamos el mismo generador de pulsos y en lugar de la resistencia R2 o R1 soldamos el termistor (el autor del artículo fue a una tienda de automóviles y compró un sensor de temperatura de un VAZ-30 por 2101 rublos). Este sensor térmico cambia su resistencia en función de la temperatura (3200 ohmios a +140C y 143 Ohm a una temperatura de +1000C.) Dado que cambiamos la resistencia, la frecuencia del generador también cambia, lo que significa que obtenemos un convertidor temperatura-frecuencia, es decir. termómetro digital. Quiero llamar su atención sobre el hecho de que el cambio de resistencia en función de la temperatura no se da de forma lineal, como se puede observar en el siguiente gráfico,

Otra vida del puerto LPT
La figura. 5

por lo tanto, "explicar" a la computadora que 100 pulsos son 20 grados y 110 pulsos son 21 grados no será muy fácil, pero sin embargo posible. La pregunta está solo en el tamaño del código y el algoritmo.

Si en lugar de una resistencia colocamos un sensor de combustible del tanque de gasolina, obtenemos un indicador de nivel de líquido. Es más conveniente construir dicho indicador de la siguiente manera:

1. Medimos la frecuencia del pulso con el tanque vacío

2. Agregamos un poco de volumen (dependiendo de la gradación - precisión que desee obtener) y nuevamente medimos la frecuencia

3. Y así sucesivamente hasta la parte superior de su contenedor.

Y puede construir un indicador de nivel de líquido de acuerdo con un principio diferente, si ensambla la estructura en la figura a continuación.

Otra vida del puerto LPT
La figura. 6

Si el nivel del líquido cambia, la posición del flotador con el imán también cambia, por lo que los interruptores de láminas correspondientes se cierran (abre). Lo mejor es usar un tubo de plástico de paredes delgadas. El esquema de este dispositivo es el siguiente:

Otra vida del puerto LPT
La figura. 7

Puede procesar la información de dicho dispositivo de acuerdo con el siguiente algoritmo.

  1. Ponga los autobuses en la dirección &H378 en modo de lectura.
  2. Depósito vacío - 255
  3. Una división desde abajo - 254
  4. Dos divisiones desde abajo - 252
  5. Tres divisiones - 248
  6. Cuatro divisiones - 240
  7. Cinco divisiones - 224, etc.

Ø Algunos pueden objetarme que no es necesario poner los buses D0-D7 en modo de lectura, y esto funcionará. A esto solo puedo responder lo siguiente: quien quiera, que no traduzca. No voy a discutir este tema. Si el puerto &H378 no está en modo de recepción de datos y el pin utilizado (en nuestro caso, 2 - D0) tiene un "1" lógico, entonces el generador no funciona. La corriente de salida del bus D0-D7 en el modo de transferencia de datos es mayor que la corriente de salida del chip CMOS (561LA7), por lo que no habrá generación. Por supuesto, si cortocircuita el contacto a tierra con unas pinzas, la corriente no será suficiente. Pero me parece que no es difícil escribir una línea adicional de código y hacer lo que aconsejan los desarrolladores de hardware de computadora.

Consideremos ahora el proceso inverso, es decir, el proceso de transferencia de datos desde una computadora a su dispositivo. Tomemos, por ejemplo, el mismo generador de pulsos, solo cambie un poco su circuito.

Otra vida del puerto LPT
La figura. 8

Después de aplicar energía al generador, de repente encontramos que el generador no funciona. Y funcionará solo cuando aparezca el nivel lógico "2" en la entrada 1.1 del elemento D1.

DlPortWritePortUchar &H378, 1

Y todo funcionó de inmediato. Aquí hay un generador controlado por computadora. Bueno, el generador es todo pequeño, aunque debemos rendir homenaje a este dispositivo: en tantos circuitos electrónicos, es el generador de pulsos el que se toma como base. ¿Por qué no conectamos algo más serio a la computadora?

Aquí hay tal esquema

Otra vida del puerto LPT
La figura. 9

Conectamos la entrada de este dispositivo a cualquier salida que nos guste, por ejemplo, a D3, conectamos la entrada GND al cable común del conector, pero habrá que tomar + 12V de una fuente de alimentación separada. El relevo se puede tomar automóvil. En general, todos los parámetros de los elementos pueden ser completamente diferentes (tomé lo que tenía a mano)

DlPortWritePortUchar &H378, 8

o

DlPortWritePortUchar &H378, 9

o

DlPortWritePortUchar &H378, 10

Lo principal es que debe haber un registro "3" en el bus D1. El relé funcionará, pero lo que usted recoja es asunto suyo. En general, al cambiar dispositivos de alto voltaje, es necesario (por si acaso) protegerse de cortocircuitos, de averías en el caso, en general, para hacerlo. Para que en caso de accidente tu maravilloso puerto LPT no se queme. Por eso, para este tipo de conexiones es conveniente utilizar el aislamiento galvánico del puerto y de tu dispositivo, por ejemplo, a través de un optoacoplador.

Otra vida del puerto LPT
La figura. 10

Si todo en su dispositivo "se quema", entonces a través de la luz, por desgracia, la corriente no pasará, todavía no se les ocurrió tal cosa.

Aquí es donde termina la segunda parte. ¿Habrá una tercera parte? Creo que sí, pero esto es de lo que se tratará...

Autor: Alexey Klyushnikov, Ivanovo; Publicación: cxem.net

Ver otros artículos sección Компьютеры.

Lee y escribe útil comentarios sobre este artículo.

<< Volver

Últimas noticias de ciencia y tecnología, nueva electrónica:

Cuero artificial para emulación táctil. 15.04.2024

En un mundo tecnológico moderno donde la distancia se está volviendo cada vez más común, mantener la conexión y la sensación de cercanía es importante. Los recientes avances en piel artificial realizados por científicos alemanes de la Universidad del Sarre representan una nueva era en las interacciones virtuales. Investigadores alemanes de la Universidad del Sarre han desarrollado películas ultrafinas que pueden transmitir la sensación del tacto a distancia. Esta tecnología de punta brinda nuevas oportunidades de comunicación virtual, especialmente para quienes se encuentran lejos de sus seres queridos. Las películas ultrafinas desarrolladas por los investigadores, de sólo 50 micrómetros de espesor, pueden integrarse en textiles y usarse como una segunda piel. Estas películas actúan como sensores que reconocen señales táctiles de mamá o papá, y como actuadores que transmiten estos movimientos al bebé. El toque de los padres sobre la tela activa sensores que reaccionan a la presión y deforman la película ultrafina. Este ... >>

Arena para gatos Petgugu Global 15.04.2024

Cuidar a las mascotas a menudo puede ser un desafío, especialmente cuando se trata de mantener limpia la casa. Se ha presentado una nueva e interesante solución de la startup Petgugu Global, que facilitará la vida a los dueños de gatos y les ayudará a mantener su hogar perfectamente limpio y ordenado. La startup Petgugu Global ha presentado un inodoro para gatos único que puede eliminar las heces automáticamente, manteniendo su hogar limpio y fresco. Este innovador dispositivo está equipado con varios sensores inteligentes que monitorean la actividad del baño de su mascota y se activan para limpiar automáticamente después de su uso. El dispositivo se conecta al sistema de alcantarillado y garantiza una eliminación eficiente de los residuos sin necesidad de intervención del propietario. Además, el inodoro tiene una gran capacidad de almacenamiento, lo que lo hace ideal para hogares con varios gatos. El arenero para gatos Petgugu está diseñado para usarse con arena soluble en agua y ofrece una gama de arena adicional ... >>

El atractivo de los hombres cariñosos. 14.04.2024

El estereotipo de que las mujeres prefieren a los "chicos malos" está muy extendido desde hace mucho tiempo. Sin embargo, una investigación reciente realizada por científicos británicos de la Universidad de Monash ofrece una nueva perspectiva sobre este tema. Observaron cómo respondieron las mujeres a la responsabilidad emocional y la voluntad de los hombres de ayudar a los demás. Los hallazgos del estudio podrían cambiar nuestra comprensión de lo que hace que los hombres sean atractivos para las mujeres. Un estudio realizado por científicos de la Universidad de Monash arroja nuevos hallazgos sobre el atractivo de los hombres para las mujeres. En el experimento, a las mujeres se les mostraron fotografías de hombres con breves historias sobre su comportamiento en diversas situaciones, incluida su reacción ante un encuentro con un vagabundo. Algunos de los hombres ignoraron al vagabundo, mientras que otros lo ayudaron, como comprarle comida. Un estudio encontró que los hombres que mostraban empatía y amabilidad eran más atractivos para las mujeres en comparación con los hombres que mostraban empatía y amabilidad. ... >>

Noticias aleatorias del Archivo

Mejora de la sensibilidad de los sensores de ondas de gravedad 12.03.2022

Físicos de la Universidad de Australia Occidental han desarrollado una nueva tecnología que tiene como objetivo aumentar aún más la sensibilidad de los sensores de ondas gravitacionales, que ya son los instrumentos científicos más precisos en la actualidad. La introducción de nueva tecnología elevará la sensibilidad a un nivel que anteriormente solo podía obtenerse mediante la construcción de nuevos sensores, cuyas dimensiones superan a las existentes.

La tecnología utiliza una "simbiosis" de cuasipartículas, que son cuantos de vibraciones de sonido llamadas fonones y fotones de luz de un láser especial. Las cuasi-partículas resultantes de un orden superior de complejidad hacen sus propias oscilaciones con una frecuencia de miles de millones de veces por segundo, todo esto sucede sin pérdida de energía y se utiliza para amplificar la señal de los sensores de ondas gravitacionales.

El principal problema que no permitió implementar algo similar anteriormente es que los fonones, que son portadores de información cuántica y actúan como amplificadores de señal, se pierden literalmente en una gran cantidad de fonones aleatorios, llamado fondo de ruido térmico.

La solución en este caso fue una tecnología llamada White Light Signal Recycling (WLSR), y el componente clave fue el llamado resonador de cristal fonónico (PNC), hecho de un cristal de cuarzo de alta pureza. Este resonador tiene una forma bastante compleja con orificios alternos de diferentes diámetros y protuberancias creadas en ciertos lugares. La vista y la estructura del resonador PNC se muestran más claramente en las imágenes que se presentan aquí.

El uso de un resonador PNC enfriado a una temperatura de 1 Kelvin y un sistema óptico bastante complejo, que incluye láseres, espejos, lentes y otros componentes, hizo posible crear un interferómetro WLSR y, al mismo tiempo, un amplificador de señal capaz de operar en un amplio rango de frecuencias, en el cual entran frecuencias de señales de ondas gravitacionales de varios tipos. Solo utilizando el nuevo interferómetro WLSR, la sensibilidad de los sensores de corriente se puede aumentar al menos 40 veces.

Otras noticias interesantes:

▪ Microcontroladores de 32 bits con un bajo consumo de energía récord

▪ Shampost - compost después de cultivar champiñones

▪ Toshiba TC3567x Bluetooth de bajo consumo 4.1 IC

▪ Las algas hacen nubes

▪ Refrigeración por láser

Feed de noticias de ciencia y tecnología, nueva electrónica

 

Materiales interesantes de la Biblioteca Técnica Libre:

▪ Sección del sitio Plantas cultivadas y silvestres. Selección de artículos

▪ artículo Preguntas malditas. expresión popular

▪ artículo ¿Quién es un animal y quién es una bestia? Respuesta detallada

▪ artículo Cálculo del estabilizador de corriente. Directorio

▪ artículo Filtro ante. recetas simples y consejos

▪ artículo Interruptores de tiristor de la serie KR1125KP2 y KR1125KPZ. Enciclopedia de radioelectrónica e ingeniería eléctrica.

Deja tu comentario en este artículo:

Nombre:


Email opcional):


comentar:





Todos los idiomas de esta página

Hogar | Biblioteca | Artículos | Mapa del sitio | Revisiones del sitio

www.diagrama.com.ua

www.diagrama.com.ua
2000 - 2024