conversion avec un pic16F877
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

conversion avec un pic16F877



  1. #1
    invite817b2e6f

    conversion avec un pic16F877


    ------

    bonjour a tous
    j'utilise un pic pour piloter un afficheur lcd et transmettre des données qu'il recoit d'un convertisseur analogique numerique.
    les données qu'il recoit sont binaire et je souhaite que l'affichage du resultat soit decimal
    j'ai fais le programme qui initialise l'afficheur,initialise les entrées/sorties,et indique les tempos,il me manque juste la procedure de conversion binaire/decimal.
    si vous avez bessoin du programme,je peux vous l'envoyer.
    est ce que vous pouvez m'aider a cela,ca sera tres gentil de votre part.
    merci d'avance

    -----

  2. #2
    Toufinet

    Re : conversion avec un pic16F877

    Salut.

    Si tu veux afficher 0 sur ton LCD, tu dois envoyer 00110000
    Si tu veux afficher la valeur 1 sur ton LCD, tu dois envoyer 00110001
    Si tu veux afficher la valeur 2 sur ton LCD, tu dois envoyer 00110010
    etc...

    Conclusion : tu dois ajouter 00110000 à la valeur renvoyée par le CAN pour afficher sa valeur.

    Remarque : ATTENTION, cette règle ne marche que pour des CHIFFRES, et non pour des NOMBRES. Tu dois donc faire cette opération pour le chiffre des centaines, puis pour le chiffre des dizaines, etc ..

  3. #3
    invite03481543

    Re : conversion avec un pic16F877

    Oui, d'autant que je ne vois pas bien où se situe ton problème...
    Tu dois envoyer un ASCII vers l'afficheur, tu as juste à faire une conversion Hexa->ASCII ou décimale->ASCII.
    Ton afficheur sait traduire le code ASCII que tu lui envoies en décimale, c'est son controleur intégré qui s'en charge.
    L'avantage de l'ASCII c'est que tu as les chiffres, les lettres, et quelques symboles.
    Dans la datasheet de ton afficheur, tu trouveras la table de caractères correspondante.

    Exemple de conversions en C (décimal->ASCII et Hexa->ASCII):

    Code:
    /****************************************************************
    	Conversion Décimal -> ASCII (Max:999)
    ****************************************************************/
    void DecToAscii(ushort Decimal, uchar *Ascii)
    {
    	uchar reste;
    	
    	Ascii[0] = (uchar)(Decimal/100) + 0x30;
    	reste = (uchar)(Decimal%100);
    	Ascii[1] = (reste/10) + 0x30;
    	Ascii[2] = reste%10 + 0X30;
    }
    /****************************************************************
    	Conversion Hexa -> ASCII (Max:999)
    ****************************************************************/
    uchar HexToAscii(uchar hexa)
    {
    	hexa = hexa + 0x30 ;
    	if (hexa > 0x39)	hexa = hexa + 7 ;
    	return(hexa) ;
    }
    @+

  4. #4
    invite817b2e6f

    Re : conversion avec un pic16F877

    merci a vous.
    j'ai oublié de preciser que je travaille avec l'assembleur.
    j'ai seulement 11 valeurs a representer de 0 a 5v avec un pas de 0.5v
    les données que je recoit sont sur 8 bits et la sortie sur 4 bits,comment dois je proceder,masquer les bits de poids faible et envoyer puis masquer les bits du poids fort et envoyer?

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

    Re : conversion avec un pic16F877


Discussions similaires

  1. nombres réels avec pic16F877
    Par invite6d667fda dans le forum Électronique
    Réponses: 7
    Dernier message: 24/09/2007, 17h55
  2. connecter le pic16f877 avec un adaptateur usb bluetooth
    Par lm85 dans le forum Électronique
    Réponses: 0
    Dernier message: 04/06/2007, 08h42
  3. débuter avec PIC16f877
    Par sdow dans le forum Électronique
    Réponses: 3
    Dernier message: 03/12/2006, 15h56
  4. probleme avec le pic16F877
    Par invite55a85f97 dans le forum Électronique
    Réponses: 1
    Dernier message: 30/11/2006, 08h37
  5. Conversion A/D pic16F877
    Par solid_sneak06 dans le forum Électronique
    Réponses: 13
    Dernier message: 16/05/2006, 17h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...