Paso 9: Decodificador de siete segmentos
El módulo decodificador de siete segmentos muestra al usuario qué voltajes el panel solar está leyendo. Toma el valor de ADC como entrada y y dos señales de que el segmento de sever de alimentación pantalla en el tablero. La primera señal es un número de 4 bits, que es un bajo activo permiten que se utiliza para determinar cuál de las cuatro zonas de la pantalla se enciende para mostrar el valor. La otra señal es un número de 8 bits que es también un activo bajo habilitar. Se utiliza para activar los segmentos de la zona individual.
La forma de que la Junta es diseñada hace que esa solo zona puede ser activada a la vez. Esto hace que usted necesita cambiar rápidamente la zona que está siendo activado. Si haces esto a la velocidad correcta, parecerá como la muestra son todos al mismo tiempo cuando realmente sólo encender y apagar tan rápido es imperceptible.
Aquí está la descripción de la entidad para el decodificador de siete segmentos.
sseg_dec entidad es
Puerto (ALU_VAL: en información (9 p 0);
SIGNO: en RAMB16_S36;
VÁLIDO: en RAMB16_S36;
CLK: en RAMB16_S36;
DISP_EN: a la información (3 p 0);
SEGMENTOS: a información (7 p 0));
end sseg_dec;
Como el controlador del servo, el decodificador de siete segmentos se define estructuralmente con dos otros componentes. El primer componente es del módulo. Es el binario a decimal convertidor. Toma el ALU_VAL de 10 bits y emite 4 señales que corresponden a los valores binarios de los números decimales que conforman ALU_VAL. Por ejemplo, si ALU_VAL = 110001011 = 395, luego el binario a decimal convertidor salida 0000 0011, 1001 y 0101. Estos corresponden a 0, 3, 9 y 5 respectivamente. Porque ALU_VAL es un número de 10 bits, el valor máximo que puede representar es 1023. El segundo componente es un divisor de reloj que se utiliza para conectar la pantalla a una velocidad que lo hace parecer que hay más de un segmento en.
Este módulo fue creado originalmente por el profesor Bryan Mealy. Que originalmente aparece hasta un número de 8 bits (0-255), sin embargo hemos modificado para que pudiera mostrar hasta un número de 10 bits (0-1023).