Spartan 3 affichage

H

Hammer111

Guest
Salut les gars

J'ai besoin d'aide avec 7 seg affichage.Comment puis-je utiliser 2 écrans de 4 pour des objectifs différents.Je sais comment utiliser tous les écrans, mais pour un seul but.

J'ai besoin de compter
jusqu'à 9, à chacun des 2 écrans, mais à différentes vitesses.

Premier affichage devrait compter avec la vitesse de 1 / 10 sec et le deuxième devrait compter à chaque seconde.

 
Habituellement, vous utilisez l'affichage 7 segments dans un multiplex manière.Voilà, vous disposez d'un démultiplexeur à sélectionner ce que l'actif chiffres de l'écran est.Votre fréquence de rafraichissement doit être suffisamment élevé afin d'éviter que l'effet de regarder l'écran clignote.
L'autre partie, c'est ce que vous affichez sur chaque chiffre ne représente
qu'une partie de votre logique.Vous aurez besoin de deux guichets et une autre de contrôle de sorte que chaque FSM 1 / 10 de seconde, vous l'augmentation de votre première sortie compteur dont vous convertir à la BCD et d'affichage sur 2 chiffres, et, lors d'un second
s'est écoulé vous incrémentez la fois la première et de seconde, et la sortie de la seconde vous permettra également de convertir des BCD et d'affichage sur les 2 autres chiffres de la LED 7-segment de l'affichage.

Ce dont vous avez besoin est une horloge en fait, du seul fait
qu'il tourne à des fréquences différentes.Vous pouvez parcourir le net pour des exemples sur ce point.Je suis sûr que vous trouverez de nombreux exemples, et nous l'espérons, une mise en oeuvre sur le bord de Spartan-3.
Si non,
faites le moi savoir.

 
Pensez-vous vraiment besoin d'count taux?Peut-être que vous avez seulement besoin d'un affichage à deux chiffres qui compte 00 à 99 avec des taux de 0,1 secondes.

Êtes-vous à l'aide de la populaire Xilinx / Digilent Spartan-3 Starter Kit?Quelqu'un mai ont un exemple de code.

 
Salut,
J'ai fait le multiplexage ..Je
vais vous envoyer le code ..avec la division de 1 sec .. si vous utilisez Spartan-3 Starter Kit.

Observe.

 
En fait je dois faire une ou deux boucles qui sera actualisée chaque fois ou de l'affichage

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Question" border="0" />Si
j'écris dans une boucle anode <= "1101"
et dans l'autre boucle anode <= "1110"
une boucle désactiver le deuxième écran et en face.

Aussi je ne dois pas écrire anode <= "1100", car il se positionnera sur les deux écrans en même temps et envoyer les données seront sur les deux écrans (par exemple, secondes)

 
Dites-moi, êtes-vous Spartan-3 en utilisant un kit de démarrage?
Juste pour être sûr.Donnez-moi un peu de temps et je
vais essayer de vous envoyer le code vhdl pour ce que vous chronomètre.J'ai déjà le code pour le multiplexage 7-segments.
Permettez-moi de le trouver et je
vais vous l'envoyer par week-end.Est-ce OK?

S'il vous plaît de me donner votre adresse e-mail.Vous pouvez
m'envoyer un mail à mendozaulises78 (at) gmail.com

Observe,

Ulises

 
Citation:

En fait je dois faire une ou deux boucles qui sera actualisée chaque fois ou de l'affichageSi j'écris dans une boucle anode <= "1101"

et dans l'autre boucle anode <= "1110"

une boucle désactiver le deuxième écran et en face.Aussi je ne dois pas écrire anode <= "1100", car il se positionnera sur les deux écrans en même temps et envoyer les données seront sur les deux écrans (par exemple, secondes).
 
Hammer111 a écrit:

Salut les garsJ'ai besoin d'aide avec 7 seg affichage.
Comment puis-je utiliser 2 écrans de 4 pour des objectifs différents.
Je sais comment utiliser tous les écrans, mais pour un seul but.J'ai besoin de compter jusqu'à 9, à chacun des 2 écrans, mais à différentes vitesses.Premier affichage devrait compter avec la vitesse de 1 / 10 sec et le deuxième devrait compter à chaque seconde.
 
Salut,
Le code pour le multiplexage 7-seg visualisation:

Process (clk1KHZ)
variable c: entier de 0 à 3;
commencer
Si clk1KHZ'event et clk1KHZ ='1 'alorsAjouté après 5 minutes:Désolé .. ce le code complet:

Process (clk1KHZ)
variable c: entier de 0 à 3;
commencer
Si clk1KHZ'event et clk1KHZ ='1 'alors
si c = 3 alors
c: = 0;
autre
c: = c 1;
fin si;

cas, c est quand
quand 0 => anode <= "0111";
cathode <= dig1;
où 1 => anode <= "1011";
cathode <= dig2;
lorsque 2 => anode <= "1101";
cathode <= dig3;
lorsque 3 => anode <= "1110";
cathode <= dig4;
end case;
fin si;
fin de processus;

----
où dig1, dig2, dig3, et dig4 sont des signaux.

observe.Ajouté après 2 minutes:s'il vous plaît vérifier l'erreur de syntaxe lors de la supprimer ... (cas c est)

 

Welcome to EDABoard.com

Sponsor

Back
Top