# 18 entradas por puerto paralelo



## josejms (Mar 4, 2009)

Buenas, lo primero presentarme ya que es la primera vez que escribo en este foro, aunque os leo desde hace tiempo. 

Estoy realizando para un trabajo el control de una lavadora por e puerto paralelo de un PC. El control de la lavadora dispone de 18 entradas y 25 salidas. Al disponer únicamente de 5 entradas en el puerto paralelo utilizo las líneas de control, pero como éstas también las utilizo para las salidas, tengo que multiplexar las líneas de control para tener 8. Utilizo 74ls244 para las entradas, y al estar multiplexadas me surge la siguiente duda: ¿Qué he de hacer para que al pulsar cualquier pulsador me lo reconozca la señal de control y el PC sepa exactamente que pulsador se ha pulsado?, ya que al seleccionar una señal de control sólo estarían activados 5 pulsadores y deberían estar los 18.

No se si me he explicado bien. 

Gracias.


----------



## Dr. Zoidberg (Mar 4, 2009)

josejms dijo:
			
		

> Estoy realizando para un trabajo el control de una lavadora por e puerto paralelo de un PC. El control de la lavadora dispone de 18 entradas y 25 salidas. Al disponer únicamente de 5 entradas en el puerto paralelo utilizo las líneas de control, pero como éstas también las utilizo para las salidas, tengo que multiplexar las líneas de control para tener 8. Utilizo 74ls244 para las entradas, y al estar multiplexadas me surge la siguiente duda: ¿Qué he de hacer para que al pulsar cualquier pulsador me lo reconozca la señal de control y el PC sepa exactamente que pulsador se ha pulsado?, ya que al seleccionar una señal de control sólo estarían activados 5 pulsadores y deberían estar los 18.
> 
> No se si me he explicado bien.



No...no te has explicado bien. Como acá no tenemos la bola de cristal, deberías hacer un esquema que muestre todos los dispositivos que quieres leer y como están conectados, por que al menos yo, no se que ni cuales son los 5 pulsadores y los 18 de los que hablás ni como están conectados a algo...

Segundo, para leer no se usan las líneas de control...*se usan las líneas de estado.*

Tercero, de todas maneras, la unica forma de leer 18 líneas en el puerto paralelo es multiplexar en tiempo como estas haciendo, leyendo grupos de a cuatro por ejemplo. Ahora no entiendo cual es el problema que tenés para saber cuales son las líneas activadas. Cada bloque de 4 (o 5 o 3 o lo que quieras, pero yo usaría 4) bits que lees tiene un "numero" que corresponde a su posición en la secuencia de lectura, así que rearmando el bloqe completo de entrada jugando con la secuencia de los nibbles,  podes identificar perfectamente cuales se han activado y cuales no. Claro que la unica forma simple de hacer esto es por polling de la secuencia completa cada unos pocos milisegundos.


A menos que expliques mejor cual es el problema va a ser dificil ayudarte.

Saludos!


----------

