Ce Fréquencemètre est un projet dont la principale difficulté, si difficulté il y a, réside dans le logiciel. En effet le PIC16F84 utilisé ici, effectue tant la mesure proprement dite, que l'interface avec l'afficheur et se charge de la gestion de son alimentation.
Afin de mettre le dispositif sous tension l'utilisateur presse le bouton poussoir (voir schéma). Ceci a pour effet de court-circuiter le commutateur, qui était jusqu'a présent ouvert et ne permettait pas l'alimentation du montage. Le PIC commence donc à executer son programme. La broche RA2, passe à l'état haut et force le commutateur à conduire. Le montage est maintenant sous tension, même lorsque l'utilisateur relâche le bouton poussoir. Le but de tout ceci est de permettre l'arrêt automatique (le microcontrôleur passe RA2 à 0) du montage lorsque la fréquence mesurée est de 0 Hz pendant plus de 4 minutes.
Le prédiviseur interne fonctionne, selon une note d'application de Microchip, jusqu'a 50 MHz. En realité cela depend surtout du type de préamplificateur que vous placerez en entrée du montage, sachant qu'il faudra nécessairement un compromis entre gain et bande passante. La lecture du prédiviseur n'est pas possible, il faut donc utiliser une astuce qui consiste à fournir des impulsions via RA3, jusqu'a débordement du prédiviseur. A la lecture de ces lignes le processus ne vous semble peut être pas évident, je vous recommande d'étudier attentivement le code fourni (freq32.asm) et plus particulièrement la routine Readprescal. La méthode de mesure utilisée est dite de "durée de porte". Elle consiste en un recensement des impulsions du signal d'entrée pendant 1 seconde (durée de porte). La mesure obtenue est ainsi directement en Hertz. | ![]() |
L'interface utilisateur est confiée à un afficheur intelligent de 16 caractéres. Le PIC fait appel à différentes routines qui permettent de dialoguer avec celui-ci. L'initialisation est ainsi effectuée par INIT_LCD, l'envoi de caractéres par SEND_CHAR et les commandes par SEND_CMD. Physiquement le bus de données d'une largeur de 4 bits relie RB4 à RB7,à D4 à D7 sur l'afficheur. Les signaux Enable et RS (commande/donnée) sont respectivement reliés à RA0 ET RA1 sur le PIC.
Le programme principal (freq32.asm) est disponible sous forme d'archive zip, comprenant également les divers fichiers inclus (*.sub, *.lib), pour plus d'information voir le fichier lisezmoi.txt dans l'archive.