|
samsung
10 messages
 De passage
|
10-02-2010 18:26
BONJOUR A TOUS ET TOUTE
JE SUIS NOUVEAU SUR FORUM ET J 'AI UN PETIT PROBLEME A RESOUDRE POUR LA PROGRAMMATION DE MON PIC16F84 QUI VA ME SERVIR POUR LA REALISATION D'UN COMPTEUR DE MOBYLETTE
JE BUT SUR LE CONVERSION EN DECIMAL DE 2 OCTECTS
EXEMPLE: LE CALCUL POUR LA VITESSE EST SUR 2 OCTECTS
LE PREMIER EST LE POIDS FORT : EXEMPLE 03 H
LE DEUXIEME EST LE POIDS FAIBLE : EXEMPLE DC H
SI ON CALCUL , CELA NOUS DONNE 988 D
LA VITESSE REEL EST 98,8 KM/H
MERCI DE M'AIDER POUR POUVOIR AFFICHER CE RESULTAT
JE SAIS QU'IL EXISTE DES ROUTINES TOUTES PRETES, MAIS JE N'AI PAS ENCORE TROUVE !
Modifié par samsung
le 10-02-2010 18:36
|
|
PPA94
68 messages
 Visiteur occasionnel
|
10-02-2010 18:47
Modifié par PPA94
le 10-02-2010 18:50
|
|
YMasquel
2503 messages
 Expert
|
10-02-2010 19:28
Bonjour Tony,
Je ne vois pas vraiment où se trouve ton problème car les informations que tu donnes montrent simplement que tu as un facteur d'erreur de 10 donc, soit tu utilises un délai de comptage 10 fois trop élevé, soit ton capteur fournit 10 impulsions alors que tu en attends une seule.
Ou alors ton compteur sur deux octets contient bien la valeur que tu attends (en centaines de mètres à l'heure) et ton seul problème est la pure conversion d'hexadécimal en décimal tout en sachant où placer la virgule. Dans ce cas la première adresse fournie par Philippe (PPA94) est excellente.
Amicalement, Yves.
|
|
antonin cangemi
3 messages
 De passage
|
12-02-2010 17:25
bonjour,
je pense que ma question n'a pas etait bien comprise , enfin bref...
Mon resultat cité dans l'exemple est sur 2 octets differents, le probleme que je rencontre c'est de convertir ces 2 octects en un seul nombre decimal
1er octect 03 H ou 3 en decimal
2eme octects DC ou 220 en decimal
avec ces 2 octects comment obtenir un mot de 16bits 03DC ou 988 en decimal
je ne vois pas comment faire ....
Merci d'avance
cordialement
|
|
antonin cangemi
3 messages
 De passage
|
12-02-2010 17:27
bonjour,
je pense que ma question n'a pas etait bien comprise , enfin bref...
Mon resultat cité dans l'exemple est sur 2 octets differents, le probleme que je rencontre c'est de convertir ces 2 octects en un seul nombre decimal
1er octect 03 H ou 3 en decimal
2eme octects DC ou 220 en decimal
avec ces 2 octects comment obtenir un mot de 16bits 03DC ou 988 en decimal
je ne vois pas comment faire , car le 16F84 contient des memoires 8 bits
Merci d'avance
cordialement
|
|
Loblick
447 messages
 Habitué
|
12-02-2010 19:22
Bonjour,
C'est très simple : à l'adresse N tu stockes 0x03, à l'adresse N+1, tu stockes 0xDC...
Le tout est ensuite de ressortir ces données sur des afficheurs 7 segments je pense? il y a un petit algo à écrire pour former 3 octects (9, 8, 8 à partir de 0x03DC) à partir des deux ci-dessus si j'ai bien compris?
Loïc
|
|
antonin cangemi
3 messages
 De passage
|
13-02-2010 10:12
Merci pour le renseignement
Tu as tapé dans le mille , je vais maintenant voire ce que mon cerveau me donne comme matiere grise
Cordialement
|