Le programme est assez classique
:
-
- Initialisation des variables
- Déclararation des deux
routines d'interruptions (mémorisation de la distance
toutes les deux secondes pour le calcul de la vitesse et sauvegarde
des compteurs quand la tension d'alimentation baisse)
-
Boucle principale qui lance les procédures de calcul
des distances et d'affichage en fonction des valeurs
- Collection de procédures qui gère l'affichage,
les compteurs, le clavier...
Pour
le développement, j'utilise l'environnement intégré
en C++ PCWH de chez CCS.
Il est assez bon et offre pas mal de fonctionnalitées.
Pour
la programmation du PIC, lassé de sortir le PIC du montage
pour le programmer, j'ai opté pour la fonctionnalité
LVP (Low Volt Programmation) des PIC 18 qui permet de le programmer
en place. J'ai trouvé sur la toile le site de Florent
Bedoiseau qui propose un programmateur LVP sur port parallèle.
Il marche très bien et je l'utilise depuis presque 2 ans.
De plus, il est petit et en modifiant le typon, je l'ai inclu
dans le capot d'une DB25.
Comme
logiciel, j'utilise PP18 du site Softelec,
il est fiable, l'auteur m'a spécialement développé
la DLL pour le PIC18F2620. Dommage qu'il n'ai pas développé
la gestion de la programmation de l'eeprom interne du PIC. C'est
la raison pour laquelle il était nécessaire de prévoir
une routine d'initialisation (Touche 1 au démarrage nécessaire
après une programmation) car sinon les valeurs de l'EEPROM
ne pouvant pas être initialisées, le programme démarrait
de façon aléatoire.
Par contre, une anomalie que je n'ai pas résolue, la valeur
du WatchDog mise dans le programme (2048) n'arrive pas à
passer en paramètre lors de la programmation. Il faut forcer,
dans les bits de paramétrages du PIC sous PP18, la valeur
2048 car sinon il y a la valeur 8 et là le programme ne
fonctionne pas.
|