Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Programme PIC, convertir une valeur Héxadécimal en Décimal



  1. #1
    Quack_MD

    Programme PIC, convertir une valeur Héxadécimal en Décimal


    ------

    Salut à tous ! J'appelle à votre !

    J'ai fais un programme avec un PIC mais je veux convertir une valeur hexadécimal en décimal, comment fait-on ?????????

    -----

  2. Publicité
  3. #2
    vede

    Cool Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Bonjour,

    c'est pour quoi faire?

    car théoriquement ya rien à convertir...

    t'as une valeur (une variable byte)...

    disons :

    varbyte = 0xFF

    et ben c'est égal à :

    varbyte = 255

    et surtout égal à :

    varbyte = 0b11111111

    (le seul format que le pic "gère" réellement)

    vede
    ;O]
    ______________
    ...

  4. #3
    DAUDET78

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    varbyte = 0xFF

    Tu divises 0xFF par 100 (0x64 en héxa)
    Résultat : 2 reste égal 0x37 en héxa

    Tu divises 0x37 par 10 (0x0A en héxa)
    Résultat : 5 reste égal 0x05 en héxa

    Le reste est plus petit que 0x0A ? fin du traitement

    La valeur décimal de 0xFF est donc 2 5 5
    J'aime pas le Grec

  5. #4
    Quack_MD

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    sur la carte du pic, les bcd, c'est en héxa, alors comment on fait pour les convertir ?

  6. #5
    Quack_MD

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Citation Envoyé par vede Voir le message
    Bonjour,

    c'est pour quoi faire?

    car théoriquement ya rien à convertir...

    t'as une valeur (une variable byte)...

    disons :

    varbyte = 0xFF

    et ben c'est égal à :

    varbyte = 255

    et surtout égal à :

    varbyte = 0b11111111

    (le seul format que le pic "gère" réellement)

    vede
    ;O]
    ______________
    ...
    Merci, excuse moi j'avais répondu en reetard

  7. A voir en vidéo sur Futura
  8. #6
    Quack_MD

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    je suis désolé mais je ne vois pas comment tu fais ?

    varbyte = 0xFF

    Tu divises 0xFF par 100 (0x64 en héxa)
    Résultat : 2 reste égal 0x37 en héxa

    Tu divises 0x37 par 10 (0x0A en héxa)
    Résultat : 5 reste égal 0x05 en héxa

    Le reste est plus petit que 0x0A ? fin du traitement

    La valeur décimal de 0xFF est donc 2 5 5

  9. Publicité
  10. #7
    DAUDET78

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Si tu veux convertir un octet hexa (de 0x00 à 0xFF) en décimal, tu appliques mon algorithme. J'ai pris l'exemple de convertir l'Héxa 0xFF en valeur décimal (soit 255)
    J'aime pas le Grec

  11. #8
    Robert_Werlick

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    non, ça j'avais compris, mais comment tu fais pour trouver que 0xFF/100=0x64

  12. #9
    DAUDET78

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Citation Envoyé par DAUDET78 Voir le message
    Tu divises 0xFF par 100 (0x64 en héxa)
    Détails :
    Tu divises 0xFF par la valeur décimal 100 (qui est codée dans le µC par la valeur 0x64 en héxa ou 01100100 en binaire)
    J'aime pas le Grec

  13. #10
    Robert_Werlick

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Ah, OK, je pensais à un autre truc, désolée, Merci

  14. #11
    jyvoipabo

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Excusez, si je n'ai pas tout compris :

    La représentation d'un nombre est soit Binaire (=Hexa) soit BCD et je ne vois pas comment on peut passer simplement de l'un à l'autre.

    J'ai déjà eu l'occasion de faire ça en assembleur pour 0<N<9999 et cela ne m'a pas paru particulièrement simple.

    JP

  15. #12
    DAUDET78

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Citation Envoyé par jyvoipabo Voir le message
    La représentation d'un nombre est soit Binaire (=Hexa) soit BCD et je ne vois pas comment on peut passer simplement de l'un à l'autre.
    En fait, un nombre est toujour stocké en base 2. Mais si on veut visualiser 0xFF sur un afficheur LED ou LCD alphanumérique, on préfère voir 255 plutôt que FF Donc on utilise un algorithme (du genre de ma réponse #3) et on récupère successivement les valeurs (dans un octet) 0x02 0x05 0x05

    Affichage LED 7 segments
    L'octet (entre 0x00 et 0x09) est transcodé en 7 segments par une table LUT (solution soft) ou un 7447 (solution hard) et on attaque les LEDs

    Affichage LCD alphanumérique
    L'octet (entre 0x00 et 0x09) est transcodé en ASCII en lui rajoutant 0x30 . Donc on a un octet entre 0x30 et 0X39 qui est envoyé sur le LCD.

    PS : si le µC ne possède pas la division comme instruction, il faut la refaire par des soustractions successives

    Pour un nombre ente 0 et 9999, on soustrait "X" fois la valeur décimal 1000 (0x3E8) jusqu'à temps que le résultat soit négatif. On rajoute 1000. Le premier chiffre (entre 0x00 et 0x09) est alors la valeur de "X-1"

    On recommence avec soustraction successive de 100 (0x64)
    On recommence avec soustraction successive de 10 (0xA)

    CQFD
    J'aime pas le Grec

  16. Publicité
  17. #13
    RISC

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Salut,

    Quelques sites à connaitre pour trouver des "moulinettes" et des utilitaires tous faits dans différents langages pour éviter de réinventer la roue:

    1/ http://www.programmersheaven.com/
    2/ http://www.sourcecodeonline.com/
    3/ http://www.developpez.com/
    4/ http://www.planet-source-code.com/

    J'en oublie certainement

    a+

  18. #14
    jyvoipabo

    Re : Programme PIC, convertir une valeur Héxadécimal en Décimal

    Citation Envoyé par RISC Voir le message
    Salut,

    J'en oublie certainement

    a+
    Voui, et ce n'est pas une critique car on en trouve une grande variété sur le Web.

    Ici par exemple :
    http://www.piclist.com/techref/micro...adix/index.htm
    On trouve une multitude de méthode dont certaines sont très performantes :

    Par exemple celle ci :
    http://www.piclist.com/techref/micro...b2bu-16b5d.htm
    qui fonctionne en testant les bits 1 par 1.

    JP

Discussions similaires

  1. Convertir du decimal en hexa en c
    Par ElectroNoNo dans le forum Électronique
    Réponses: 4
    Dernier message: 26/02/2010, 12h56
  2. convertir un code ASCII en decimal
    Par fatenbenhamadi dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 25/11/2009, 09h56
  3. convertir binire en decimal (électronique)
    Par Netsend dans le forum Électronique
    Réponses: 10
    Dernier message: 29/10/2009, 11h53
  4. Réponses: 3
    Dernier message: 01/05/2008, 06h51
  5. convertion (decimal-hexadecimal)
    Par TaRiKq dans le forum Électronique
    Réponses: 1
    Dernier message: 29/02/2008, 21h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.