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

[PIC] Question Programmation en C18 : Conversion binaire / Décimale



  1. #1
    lcoulon

    [PIC] Question Programmation en C18 : Conversion binaire / Décimale


    ------

    Bonjour,


    Je voudrais transformer une variable 16 bits binaire en une donnée décimale afin de l'afficher ensuite sur un écran LCD.

    Pourriez vous m'indiquer quel code écrire pour transformer du binaire en décimal ?

    Je vous remercie,

    -----

  2. #2
    Seb.26

    Re : [PIC] Question Programmation en C18 : Conversion binaire / Décimale

    Bon ... si ce que tu veux, c'est afficher en décimal une variable, ça donnerait ça :

    Code:
    unsigned char ma_valeur = 0x5E;
    char temp_string[4];
    sprintf(temp_string,"%d", ma_valeur);
    affiche_lcd(ma_valeur);
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    PA5CAL

    Re : [PIC] Question Programmation en C18 : Conversion binaire / Décimale

    Bonjour

    Si l'afficheur LCD est un modèle alphanumérique, alors la fonction itoa() (signé) ou ultoa() (non signé) disponible dans les librairies C18 peut faire l'affaire :

    Code:
    #include <stdlib.h>
    
    char ascii[7];    /* signe + 1 a 5 chiffres ASCII + zero final */
    
    char * bin2ascii(short bin)
    {
        return itoa( bin, ascii );
    }
    Code:
    #include <stdlib.h>
    
    char ascii[6];    /* 1 a 5 chiffres ASCII + zero final */
    
    char * bin2ascii(unsigned short bin)
    {
        return ultoa( (unsigned long)bin, ascii );
    }


    En revanche, si l'afficheur LCD est de type 7-segments, le résultat (chiffres BCD stockés sur 4 ou 8 bits) peut être obtenu par des divisions par 10 successives, avec modulo (C) ou reste (assembleur). Par exemple :

    Code:
    char digits[5];   /* 5 digits BCD sur 8 bits chacun */
    
    void bin2dec(unsigned short bin)
    {
        int i = 5;
        do {
            i--;
            digits[i] = (char) (bin % 10);
            bin /= 10;
        } while (i);
    }
    Il existe plusieurs autres méthodes.


    .
    Dernière modification par PA5CAL ; 27/04/2009 à 12h00.

Discussions similaires

  1. programmation d'un convertisseur decimale binaire en C
    Par rachid223 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 12/03/2009, 16h29
  2. decimale en binaire
    Par sdow dans le forum Électronique
    Réponses: 15
    Dernier message: 17/09/2006, 16h25
  3. Conversion Binaire-Decimale
    Par EaGle58 dans le forum Technologies
    Réponses: 4
    Dernier message: 10/01/2006, 11h49
  4. Décimale - Binaire
    Par Tix dans le forum Logiciel - Software - Open Source
    Réponses: 29
    Dernier message: 03/09/2005, 19h22
  5. Décimale Binaire ...
    Par Tix dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 31/08/2005, 15h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.