Paso 2: Ejemplo #1 [salida]
Código
Vamos a leer un valor de 8 bits de ADC3 (bits más significativos) y luego pasar el valor de salida correspondiente a nuestro registro de desplazamiento.
Para ser más específico que he hecho una tabla de valores para Estados de I/O:
Valor ADC3 | Valor de salida | Segmentos de |
---|---|---|
0..40 | 0xFF | 0 |
41..80 | 0xFE | 1 |
81..120 | 0xFC | 2 |
121..160 | 0xF8 | 3 |
161..200 | 0xF0 | 4 |
201..255 | 0xE0 | 5 |
Nota: Debido a que es un indicador de LED de ánodo común necesitamos configurar el pin apropiado baja siempre que lo queremos para iluminar.
Ahora, vamos a escribir algo de código.
En definitiva, necesitamos establecer una interrupción desbordamiento de contador de tiempo, que leerá el estado actual de ADC3 y enviar el valor correspondiente a nuestro registro de cambio aproximadamente cada ~ 27ms.
SEND_BYTE subrutina envía una secuencia de 8 bits de datos y seguros en el registro de desplazamiento. Esto es un poco simplificado de la función, pero con algunas mejoras de menor importancia puede ser utilizado universalmente.
Escribí la mayoría números en formato binario, por lo que será más fácil (al menos para mí) ver que LEDs se activan y qué indicadores.