[Exercices] exo : faire un additionneur + décodeur + afficher le résultat
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

exo : faire un additionneur + décodeur + afficher le résultat



  1. #1
    cosmoff

    exo : faire un additionneur + décodeur + afficher le résultat


    ------

    Bonjour a tous,

    je suis en 2ème année prépa et je dois via un logiciel créer un additionneur 3 bits + un décodeur + l'afficher sur un afficheur 7 segments via le décodeur.

    j'ai terminé mon additionneur 3 bits mais je seche pour le décodeur. Mon décodeur dois prendre le resultat de mon addition sur 4 bits et retourner 5 bits en sortie: 1 bit pour les dizaines + 4bits pour les unités ? c'est ca un décodeur ?

    Et comment avec mon décodeur à 5 sorties j'affiche mes leds ?

    merci pour vos éclaircissements

    -----

  2. #2
    Jack
    Modérateur

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    Pas très clair, ce qui est attendu. A priori, il s'agirait d'un décodeur, ou plutôt d'un transcodeur binaire / BCD.

    Tu prends tes 4 bits d'entrée comme variable et tu en déduis les équations de chacune des 5 sorties. Commence par faire une table de vérité.

  3. #3
    bobflux

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    Citation Envoyé par cosmoff Voir le message
    je suis en 2ème année prépa et je dois via un logiciel
    Quel logiciel ? Langage VHDL, verilog ?

    Ton "codeur" doit être un codeur BCD, ou binaire codé décimal.

    https://fr.wikipedia.org/wiki/D%C3%A...%C3%A9_binaire

    Par exemple, en binaire, 17 = 16+1 = 10001

    En BCD, on fonctionne par paquets de 4 bits qui représentent chacun un chiffre en base 10, donc 17 donnera 0001 0111

    Si tu envoies chaque paquet de 4 bits sur un décodeutr BCD-7 segments, tu peux commander un afficheur numérique standard.

  4. #4
    cosmoff

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    c'est vraiment pas clair l’énoncé surtout que j'ai pas eu beaucoup de cours en élec numérique mais bon...
    le logiciel que j'utilise est multisim.
    Je pense qu'il s'agit d'un décodeur BCD, et je ne vois pas l'interet de ce type de décodeur pour mon afficheur 7 segments. Car comment avec seulement mes 5 sorties de mon BCD je peux afficher mon résultat sur deux afficheurs 7 segments?

  5. A voir en vidéo sur Futura
  6. #5
    PIXEL

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    BCD : Codage Décimal Binaire : (traduction) chaque mot de 4 bits va de 0 à 9

    ce qui permet l'affichage par un décodeur idoine pour les afficheurs
    Dernière modification par PIXEL ; 07/05/2016 à 08h00.

  7. #6
    bobflux

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    Citation Envoyé par cosmoff Voir le message
    Je pense qu'il s'agit d'un décodeur BCD, et je ne vois pas l'interet de ce type de décodeur pour mon afficheur 7 segments. Car comment avec seulement mes 5 sorties de mon BCD je peux afficher mon résultat sur deux afficheurs 7 segments?
    Comme tu as seulement des nombres de 0 à 15, ton afficheur des dizaines n'aura pas besoin de décodeur : il affichera soit rien, soit "1". Comme le chiffre de gauche sur un multimètre 2000 points, qui va de 0 à 1999... Donc il suffit de piloter le "1" avec ton bit de poids fort.

    L'afficheur des unités sera piloté par les 4 bits de poids faible.

    Le codage BCD vient du fait qu'avant l'ère des microcontroleurs, il était beaucoup plus facile de piloter un afficheur avec du BCD qu'avec du binaire, surtout pour des nombres à plusieurs chiffres. En effet, pour afficher un nombre binaire en base 10, il faut faire des divisions et des modulos :

    Exemple pour afficher 357 :
    357 divmod 10 => 35*10 + 7 (division et modulo par 10)
    35 divmod 10 => 3*10 + 5
    3 < 10 donc on a fini, on a nos 3 chiffres.

    Faire des divisions en hardware est compliqué, donc avant les microcontroleurs, on a des compteurs BCD, additionneurs BCD, etc. Le fait de devoir afficher le nombre oblige à l'encoder sous cette forme. Par exemple, dans une horloge, les heures, minutes et les secondes seraient gérées par des compteurs BCD.

    Bien sûr, avec un uC, on peut facilement convertir du binaire en décimal, donc le problème ne se pose plus. Il revient par la porte de derrière cependant, pour l'arithmétique des grands nombres. Si tu veux faire des calculs sur des entiers avec des millions de chiffres sur ton PC, ce sera plus rapide en binaire... mais si tu veux afficher ces nombres en base 10, t'as plutôt intérêt à les stocker dans une variante de BCD.

    Bref, je digresse

  8. #7
    cosmoff

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    ok merci pour les infos, je sais comment marche un BCD dorénavant. Mais en sortie de mon BCD il me faut un autre décodeur pour faire le lien entre mon BCD et mes deux afficheurs 7 segments ?

  9. #8
    Jack
    Modérateur

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    C'est le même principe, il te faut maintenant un décodeur BCD -> 7 segments. Chaque sortie du décodeur correspond à l'état d'un segment, les entrées correspondant à la valeur codée en BCD à afficher.
    Par exemple, pour la valeur 1, donc 0001 en BCD, il faudra allumer les segments b et c.

  10. #9
    cosmoff

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    ok c'est compris, merci beaucoup pour votre aide

  11. #10
    freepicbasic

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    soustraire 10 du résultat
    Si dépassement => alors <10 et afficher 0 (ou rien) en dizaine
    Sinon >10 et afficher 1 en dizaine

    afficher le reste sur les unités en faisant un codage des leds allumées pour chaque chiffre dans un tableau.

    Comme ceci
    http://images.books24x7.com/bookimag.../fig346_01.jpg
    A+, pat

  12. #11
    Jack
    Modérateur

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    Citation Envoyé par freepicbasic Voir le message
    soustraire 10 du résultat
    Si dépassement => alors <10 et afficher 0 (ou rien) en dizaine
    Sinon >10 et afficher 1 en dizaine
    Il me semble que le problème doit être résolu en logique combinatoire.

  13. #12
    freepicbasic

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    de toute façon un simple tableau suffit.
    A+, pat

  14. #13
    Jack
    Modérateur

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    Citation Envoyé par freepicbasic Voir le message
    de toute façon un simple tableau suffit.
    C'est-à-dire?

  15. #14
    freepicbasic

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    pour seulement 16 chiffres on peut mettre les valeurs qui correspondent aux chiffres, pour 2 digits ça fait 32 octets.
    Méthode bourrin mais exécution rapide.

    exemple
    //affiche 0,0 0,1
    char tab[]={0,0xFC,0,0x3 etc...

    //num valeur à afficher
    digit[0]= tab[num*2];
    digit[1]= tab[ (num*2) + 1];
    A+, pat

  16. #15
    bobflux

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    L'OP le fait sous multisim donc je pense qu'il faut du hardware.

  17. #16
    Jack
    Modérateur

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    En effet. Il s'agit d'un problème de logique combinatoire, pas programmée.

  18. #17
    freepicbasic

    Re : exo : faire un additionneur + décodeur + afficher le résultat

    il doit réinventer le 7447 ou alors un codeur à diode ou encore une eprom 2716 , etc ...
    A+, pat

Discussions similaires

  1. [RF/Radioelec] Fabriquer son propre décodeur TNT HD à partir d'un décodeur TNT SD
    Par Olivier05 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/03/2016, 16h42
  2. 2 façons de faire et pas le même résultat...
    Par membreComplexe12 dans le forum Mathématiques du supérieur
    Réponses: 20
    Dernier message: 31/12/2015, 17h18
  3. additionneur
    Par invite7f58f807 dans le forum Matériel - Hardware
    Réponses: 0
    Dernier message: 18/03/2011, 11h47
  4. Afficher le résultat d'un calcul dans un formulaire web
    Par invite234d9cdb dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 20/08/2008, 10h38
  5. un additionneur ?
    Par inviteca570c2c dans le forum Électronique
    Réponses: 29
    Dernier message: 20/12/2005, 22h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.