Étape 9: Sept segments décodeur
Le module décodeur 7 segments affiche à l’utilisateur ce que le panneau solaire est la lecture des tensions. Il prend de la valeur de l’ADC en tant qu’entrée et sorties deux signaux qui alimenter le segment sever affichent sur la carte et. Le premier signal est de permettre à un nombre de 4 bits, c’est une basse active qui est utilisé pour déterminer lequel des quatre zones de l’écran doivent être activé pour afficher la valeur. L’autre signal est un nombre 8 bits qui est aussi un actif enable faible. Il est utilisé pour activer les segments sur la zone individuelle.
La façon dont le Conseil est conçu le rend donc celui qu’une zone peut être activée à la fois. Cela rend donc que vous deviez modifier rapidement la zone dans laquelle est en cours d’activation. Si vous faites cela à la bonne vitesse, il semble que les affichages sont tous sur simultanément quand vraiment ils sont juste allumer et hors si vite que c’est imperceptible.
Voici la description de l’entité pour le décodeur 7 segments.
sseg_dec de l’entité est
Port (ALU_VAL : au std_logic_vector (9 downto 0) ;
SIGNE : dans std_logic_vector ;
VALIDITÉ : en std_logic_vector ;
CLK : dans std_logic_vector ;
DISP_EN : dehors std_logic_vector (3 downto 0) ;
SEGMENTS : out std_logic_vector (7 downto 0)) ;
fin sseg_dec ;
Comme le servo-pilote, le décodeur 7 segments est défini aussi structurellement avec deux autres composants. La première composante est le cheval de bataille du module. C’est le fichier binaire pour convertisseur décimal. Cela prend la ALU_VAL de 10 bits et émet des 4 signaux qui correspondent aux valeurs binaires des nombres décimaux qui composent ALU_VAL. Par exemple, si ALU_VAL = 110001011 = 395, alors le fichier binaire pour convertisseur décimal serait sortie 0000 0011, 1001 et 0101. Ceux-ci correspondent à 0, 3, 9 et 5 respectivement. Parce que ALU_VAL est un nombre de 10 bits, la valeur maximale, qu'il peut représenter est 1023. La deuxième composante est un diviseur d’horloge qui permet de multiplexer de l’écran à un rythme qui le fait apparaître comme il n’y a plus d’un segment sur.
Ce module a été créé par Prof Bryan Mealy. Elle est exposée à l’origine jusqu'à un nombre 8 bits (0-255), mais nous avons modifié afin qu’il peut afficher jusqu'à un nombre de 10 bits (0-1023).