samedi 6 juillet 2013

msp430 launchpad, partie 3

Une simple modification au programme démo version 2 de la partie 2 de cette série. J'ai remplacé l'affichage binaire par un affichage BCD.

BCD signifie Binary Coded Decimal. Ça consiste à grouper les bits par 4 et à limiter la valeur de chaque groupe à un chiffre entre 0 et 9. Par exemple en binaire le chiffre 52 = 0011 0100 mais en BCD ce serais 0101 0010. Alors qu'en binaire un octet permet de compter de 0 à 255, en BCD on ne peut compter que de 0 à 99.

Le voltage Vdd sur le launchpad est de 3,6 volt. Cette version du programme affiche le voltage à l'entrée P1.3 avec seulement 2 chiffres BCD. Par rapport à la version 2 on perd en résolution mais comme il ne s'agit que d'un démo du principe.

code source voltmètre à affichage BCD:

Le port P1 n'est plus utilisé pour l'affichage, puisque le voltage maximal est inférieur à 4 volt on peut représenté le chiffre le plus significatif avec seulement 2 bits, P2.4-P2.5 et la fraction décimale utilise les bits P2.0-P2.3.

Comme on travaille avec des entiers et qu'on veut conserver la première décimale de la fraction on multiplie la valeur de la lecture par 36 au lieu de 3,6 ensuite on divise par 1023. Donc la variable v contient le voltage multiplié par 10. On divise donc v par 10 pour obtenir le chiffre le plus significatif qu'on conserve dans la variable d1. Pour obtenir la fraction décimale on prend le modulo de 10 de cette même variable v et on conserve le résultat dans d2. On met ensuite ces 2 digits dans la variable P2 en décalant vers la gauche de 4 bits la valeur de d1. Il ne reste plus qu'à assigner P2 à P2OUT pour afficher le résultat.

Pour quelqu'un qui a l'habitude de lire des nombres binaires en groupant les bits par 4, lire un affichage BCD est presque aussi facile que de lire un affichage 7 segments, surtout si on prend soin de laisser un espace entre chaque groupe de 4 bits.

Aucun commentaire:

Enregistrer un commentaire