Étape 9: Source Code
Le code source est écrit dans l’assembly, à l’aide de l’outil gratuit de MPASM de Microchip.Le fichier *.asm contient tout le code utilisé pour créer le fichier *.hex attaché à l’étape 1. Vous devriez pouvoir Assemblée le fichier *.asm et obtenir un fichier *.hex qui fonctionnera exactement comme celui que j’ai fixé initialement.
À un niveau élevé, le programme contient le code pour effectuer les opérations suivantes :
* Code pour le processus de programmation.
* Code pour détecter que la réception de la chaîne programmée des chiffres DTMF.
* Code de l’algorithme de Goertzel simplifiée.
* Code pour analyser les résultats de l’algorithme de Goertzel pour déterminer si une tonalité DTMF valide est présente.
Périphériques :
Le code utilise les périphériques suivants du processeur PIC 12F683 :
* A/D converter
* Timer1 (16 bit timer)
* EEPROM interne, pour storaging la séquence DTMF programmée.
Il n’y a aucun périphérique série harware sur ce processeur, donc j’ai dû mettre en œuvre dans le logiciel ("bit cogné")
Autres détails :
Le code est conçu pour être utilisé avec un oscillateur à quartz externe 8MHz.
Ce qui donne une fréquence de 2MHz instruction cycle, chaque cycle d’instruction est 0,5 microsecondes depuis longtemps. L’oscillateur interne de 8MHz a une tolérance trop élevée (jusqu'à 2 %) à utiliser pour cette application.
Si vous avez l’intention de ce port à un autre processeur PIC, vous devrez vous assurer que tous les périphériques, les registres et autres détails sont configurés correctement. Il peut y avoir des légères différences entre autres PICs très similaires.