j'aimerai avoir un petit renseignement concernant ma programmation.
Pour ce qui ne save pas je préfère répéter :
En fait, je cherche à contrôler mon PIC18F2525 de façon à ce qu'il fasse ceci:
1. 8 Conversions analogiques/digitales
2. La moyenne des 8 conversions
1 et 2 tournent en boucle
Interruption du TIMER0 : Toutes les 20 ms survient l'interruption du timer0 permettant l'affichage sur deux 7 segments de la moyenne préalablement calculée par le PIC.
Interruption du TIMER2 : En fait c'est là où c'est un peu spécial, et où je ne suis pas sûr de moi.
Cette interruption consiste à contrôler la fréquence d'un haut parleur en fonction de la tension du signal.
Je m'explique:
J'ai un capteur de pression qui fait varier la tension dans mon circuit de 0 à 4,5V.
Le but du projet est de donner un feedback de la force exercée sur les capteurs à l'utlisateur. Donc 2 interfaces sont utilisées : visuelle (les 7 segments) et auditive (pour les mal voyants).
Donc j'ai décidé (pour le moment) de diviser mon signal en 10 fréquence.
De 0 à 9 : aucun son
de 10 à 19 : son de 500hz
de 20 à 29 : son de 600 hz
de 30 à 39 : son de 700hz
de 40 à 49 : son de 800hz
de 50 à 59 : son de 900hz
de 60 à 69 : son de 1000hz
de 70 à 79 : son de 1100 hz
de 80 à 89 : son de 1200hz
de 90 à 99 : son de 1300hz
Pour ce faire, j'utilise le mode PWM du PIC. Ce mode est lié au TIMER2 qui arrivé à une certaine valeur passe la pin de sortie correspondante à 1 (donc sous tension) et arrivé à une deuxième valeur de comparaison repasse la pin à 0.
Donc il est possible de faire varier la fréquence du signal de cette pin de sortie en jouant sur les deux valeurs qui sont contenues dans les registres PR2 et CCPR2L.
PR2 permet lorsqu'il est atteint de mettre la pin sur 1, et CCPR2L (accompagné de deux autres bits faibles contenus dans le registre de contrôle CCP2CON) permet lrosqu'il est atteint de mettre la pin sur 0.
Donc toute ma routine est programmée selon cette logique, cependant je ne suis pas sûr de moi car je ne sais pas comment simuler la mise sous tension de la pin en question afin de vérifier qu'elle s'y mette bien...
Est ce que vous croyez que j'ai fait toutes les étapes ? Je me pause cette question car je n'ai pas écrit de sous routine d'interruption du Timer2. Je crois comprendre que tout se fait automatique mais je n'en suis pas sûr... Qu'en pensez vous ?
-----