ABCelectronique : portail d'information dans le domaine de l'électronique
Recherche sur le site
Circuits et composants Guide d'achat Emplois Resources externe Forum de discussion Annonces Divers
Connexion | Datasheet | Equiv.
Nouv. | Cat. | Boitiers | Broches
Audio-Vidéo | Téléphonie
Informatique
Offres | Ajout
CVs | Ajout
Cours | Montages | Logiciels
Sociétés | Livres | Ajout lien
Electronique | Informatique
Dépannage | Hors Elec.
Liste annonces
Ajouter annonce
Actualités | Barre d'outils
Connecteurs | Contact
  Home » Diverses rubriques » Archive forum sujets  
 
     
   LCD et prog PIC  
Salut !
Peut être que quelqu'un peut me renseigner.

Je doit contrôler un afficheur LCD alphanumérique 4*16. Pour cela,
j'uilise un pic 16f877. Je le programme en C avec le compilateur cc5x.
Sur l'afficheur, je dois afficher des valeurs de paramètres et des mots.
Je reçois en entrée du pic des données MIDI images des valeurs de
paramètre.

Un exemple pour mieux comprendre
le pic reçois une donnée MIDI (sur 8 bits) : 0100 0000
cette donnée correspond au paramètres de fréquence de valeur 20.16 Hz. Je
veux donc afficher sur l'écran:
"F = 20.16 Hz "
Je recherche une fonction qui me permette de convertir une variable de
type float en une chaîne de caractère. Il faut bien sur que cette fonction
soit compatible avec cc5x.

Si quelqu'un a compris et peut me renseigner...

Merci.




Numéro de l'article: 79369   |  De: jean   |  Date: 2002-06-14 15:47:57
   Re: LCD et prog PIC  

===========
"0100 0000" : 64 en décimal à peu de rapport direct avec 20 point 16 , il
faudrait commencer par décoder la donnée MIDI
( par exemple , par la fonction typique "c" : switch ( x) ... case ...
après quoi ce compilateur dispose probablement d'une fonction de formatage
du genre <printf([fonction],string,[valeur])
sans quoi , il faut la construire.
bonne soirée




Numéro de l'article: 79399   |  De: maioré   |  Date: 2002-06-14 20:27:55
   Re: LCD et prog PIC  

Je ne connais pas ton compilateur, mais tu devrais avoir la fonction
sprintf(). Cette fonction se comporte comme printf(), mais au lieu
d'afficher a l'ecran, elle affiche... dans une chaine de caractere.

char mon_affichage[17];
float data;

sprintf(mon_affichage,"F=%f Hz",data);

Tu as maintenant dans ta chaine de caractere "F=20.16 Hz". Si tu veux
choisir precisement l'affichage, remplace le "%f" par "%5.2f" par exemple (5
caracteres en tout, dont 2 apres la virgule. ca fait 2 avant la virgule + la
virgule + 2 apres la virgule).

Essaie-ca !

gUI




Numéro de l'article: 79428   |  De: Guillaume Betous   |  Date: 2002-06-15 10:38:58