moyen le plus simple pour convertir binaire vers BCD

N

Nike

Guest
J'ai un compteur qui compte de 0 à 31 (sur la base de tranches optionnelles 1,2,4) en binaire.Puis j'ai besoin de convertir ce code en BCD (des dizaines et des unités à savoir: la valeur binaire de 17 est 10001 et j'ai besoin de le transformer en 0001 qui est decomal 1 et 0111 qui est décimal 7 avant de les afficher), puis-je besoin pour afficher la valeur décimale sur l'affichage à 7 segments.Et je suis en utilisant les schémas ISE6 Xilinx pour la conception du circuit.

Whats la meilleure façon de concevoir un circuit pour convertir cette valeur binaire en BCD?Ai-je besoin pour utiliser K-cartes ou tout simplement dessiner la table de vérité et d'écrire les fonctions de là.

 
vous mai simplement un code micro contrôleur pour convertir binaire à BCD.Êtes-vous familier avec microcontrôleur?

 
Je ne suis pas autorisé à utiliser n'importe quel code.Je suis seulement autorisé à utiliser la logique et, NAND, OR, XOR et des onduleurs ainsi que des tongs pour concevoir ce circuit.Fondamentalement, je besoin pour concevoir le circuit avec des portes logiques, si vous savez ce que je veux dire.

 
Je ne peux penser à aucune approche simple, sauf à utiliser une ROM 32x8 faible capacité contenant la table de vérité, mais que mai être contre les règles de votre projet.

Je pense que vous avez déjà la bonne idée: convertir la table de vérité à l'aide d'équations booléennes K-cartes, ou la simple inspection, ou le génie logiciel, ou quel que soit l'approche semble la plus facile pour vous.

 
En utilisant une technique Couleur's (BIDEC), un nombre binaire (bit le plus significatif, la DSG) est d'abord déplacé et transformés, tels que l'équivalent BCD est obtenu lorsque le bit binaire dernier est cadencé dans le registre.

La règle de base est la suivante: si un 4 ou moins se trouve dans une décennie, décalage avec l'horloge de l'impulsion suivante: si 5 ou plus en une décennie, ajouter 3 puis quart de travail à l'impulsion d'horloge suivant.

Pour plus d'informations:

BIDEC A Binary-to-Decimal ou Decimal-à-convertisseur binaire, JF Couleur, IRE Transactions on Electronic Computers, Vol.CE-7, pp313-316, IRE, 1958.

 
Non, je ne suis autorisé à utiliser la logique et, NAND, OR, XOR et des onduleurs ainsi que des tongs pour concevoir ce circuit.Et le K-carte va être extrêmement difficile à dessiner et prend beaucoup de temps car j'ai besoin d'un 5 bit K-carte ici.Connaissez-vous un logiciel sur internet qui ne le K-Emploi carte et montre aussi ce qu'il fait grâce à des schémas donc je sais whats happening et peut-il expliquer au moment de la démonstration?Parce que les dessinant à la main va être un enfer d'un emploi.et a un risque très élevé de commettre une erreur.En utilisant une technique Couleur's (BIDEC), un nombre binaire (bit le plus significatif, la DSG) est d'abord déplacé et transformés, tels que l'équivalent BCD est obtenu lorsque le bit binaire dernier est cadencé dans le registre.
La règle de base est la suivante: si un 4 ou moins se trouve dans une décennie, décalage avec l'horloge de l'impulsion suivante: si 5 ou plus en une décennie, ajouter 3 puis quart de travail à l'impulsion d'horloge suivant.Je ne comprends pas très bien ce que vous dites là, mais je pars du principe que je besoin d'une sorte de comparaison?Je ne peux pas utiliser tout de barrières ou de circuits logiques autres que celles que j'ai mentionnées.S'il vous plaît pourriez-vous expliquer cette méthode un peu plus si cette méthode est possible en utilisant ces portes dont j'ai parlé?

 
Pour un compteur simple, nous pouvons faire binaire bcd comme suit!

Code:

module bin_bcd_counter (/ * AUTOARG * /

/ / Outputs

comptoir,

/ / Entrées

CLK, reset_n, cnt_bcd

);

entrée CLK, reset_n;

cnt_bcd d'entrée;

sortie [7:0] en vente libre;

reg [7:0] en vente libre;

reg [7:0] counter_nx;

always @ (CLK posedge ou reset_n negedge) commencent

if (! reset_n) commencent

counter <= 0;

end else begin

counter <= counter_nx;

fin

finalways @ (/ * AS * / cnt_bcd ou guichet) commencent

counter_nx = counter 1;

if (cnt_bcd) commencent

if (counter_nx [3:0]> 9) commencent

counter_nx [3:0] = counter_nx [3:0] 6;

counter_nx [7:4] = counter_nx [7:4] 1;

fin

if (counter_nx [7:4]> 9)

counter_nx [7:4] = counter_nx [7:4] 6;

fin

fin/ endmodule / bin_bcd_counter
 
Retour à la conception numérique de base ....
31 bits à deux 7 segments fait K-Map et ne le booléen.

 
Nike,

Technique Le Couleur's (BIDEC) n'utilise que les bascules et la logique.
L'utilisation d'un PAL22v10 il est possible de convertir un 8-bit binaire à BCD.L'utilisation de deux PAL22V10 vous pouvez convertir 16 bits en BCD.
Si vous y réfléchissez, vous verrez que seul un registre à décalage spécial n'est nécessaire.

 

Welcome to EDABoard.com

Sponsor

Back
Top