Paso 4: Ejemplo #2: [entrada]
Tan extraño como suena, manejo de múltiples entradas digitales con un registro de cambio es casi lo mismo que manejo varias salidas. Vamos a ver el circuito en primer lugar, por lo que puedo explicar cómo funciona.
Diodos se agregan para proteger las salidas del registro de desplazamiento, puesto que la múltiples entradas alta pueden causar un corto circuito. Pb3 está conectado a la tierra a través de un resistor de 10K (0 lógico cuando no hay coincidencia encontrada).
La idea general es enviar un determinado conjunto de bits de datos para el registro de desplazamiento y si hay una coincidencia bit a bit con la entrada - nos pondremos alta señal en PB3. Por ejemplo, tenemos una entrada de 8 bits 0x91, que es 10010001 en binario.
Comenzamos con el envío de 0 x 01 para el registro de desplazamiento (0b00000001) y ver si el primer bit es 1. Si tenemos un partido (PB3 es alta), realizamos la operación de la entrada al resultado. A continuación, nos cambio los datos de prueba 1 bit a la izquierda, así que conseguir 0 x 02 (0b00000010) y repita el procedimiento para adquirir el segundo bit, que no da a ningún partido y los resultados en 0 lógico... y así sucesivamente hasta que probamos todos los 8 bits.
Registro de desplazamiento | Pb3 | Resultado |
---|---|---|
00000001 | 1 | 00000001 |
00000010 | 0 | 00000001 |
00000100 | 0 | 00000001 |
00001000 | 0 | 00000001 |
00010000 | 1 | 00010001 |
00100000 | 0 | 00010001 |
01000000 | 0 | 00010001 |
10000000 | 1 | 10010001 |
Esta técnica permite para leer razonablemente gran variedad de insumos a costa de la velocidad de solamente. No requiere ningún clavijas adicionales, por lo que es una solución perfecta para aplicaciones de baja velocidad, como teclados, centralitas, sensores digitales incluso a baja velocidad. El número de pernos usados se puede reducir, si alternamos pin de datos Serial del microcontrolador entre salida digital y entrada digital (en lugar de PB3).
En el siguiente ejemplo vamos a utilizar circuito casi idéntico, pero en vez de transistores y entradas digitales utilizamos simples Interruptores táctiles.