![]() |
| |
| ||
Como ya es sabido, el puerto paralelo estándar sólo tiene 4 entradas digitales. Algunas aplicaciones pueden necesitar más de las 4 entradas. En este caso es posible expandir las entradas mediante un sencillo circuito basado en un componente electrónico como el buffer 74LS157 para alimentar los datos en forma de dos nibbles (medio byte, 4 bits) mediante las entradas del registro de estado (4 o 5 líneas) hacia el puerto paralelo. Se puede usar el registro de datos o el registro de control para seleccionar el nibble.
Descripción del buffer 74LS157

Fig. El buffer 74LS157
Referencias
Entradas Salidas
I0a Entrada 0a Qa Salida Qa
I0b Entrada 0b Qb Salida Qb
I0c Entrada 0c Qc Salida Qc
I0d Entrada 0d Qd Salida Qd
I1a Entrada 1a
I1b Entrada 1b
I1c Entrada 1c
I1d Entrada 1d
Alimentación y operación
S Selección de nibble. (Bajo selecciona I0. Alto selecciona I1)
-Enable Habilitación del componente (mantener señal en bajo)
Vcc 5 voltios
Gnd Tierra
La fuente de 5 voltios para alimentar este circuito se puede obtener directamente de la fuente de poder del PC, o del puerto de juegos (ver fuente de alimentación).
Modo de operación
Con el 74LS157 la selección se realiza a través del registro de control o de datos. En la figura que está a continuación se muestra en caso de que la selección sea a través del registro de control.
|
Fig. Conexión sugerida del 74LS157
|
Programación
El siguiente algoritmo permite leer los ocho bits de la entrada del 74LS157
/* Inicio */
/* Selección del primer nibble */
Colocar 0 en el bit C3- para seleccionar el nibble N1
Leer el registro de estado en una variable, por ejemplo d_leido
Realizar la operación d_leido XOR con 128, para corregir el signo de S7-
Este resultado operar con AND 240, para descargar bits no deseados
Desplazar a la derecha 4 bits para colocarlo en el nibble de abajo
Almacenar el resultado de un lado
/* Selección del segundo nibble */
colocar 1 en el bit C3-, para seleccionar el nibble N2
Leer el registro de estado en una variable, por ejemplo d_leido
Realizar la operación d_leido XOR con 128, para corregir el signo de S7-
Este resultado operar con AND 240, para descargar bits no deseados
Realizar la operación OR del resultado con el nibble almacenado previamente
En el resultado final están los 8 bits leídos.
/* Fin */
Novedades en nuestro Blog:
Blog Puerto
Paralelo
Comentarios, aportes, consultas, visite nuestro Foro:
Foro Puerto Paralelo