Étape 12 : Source Code
********************************************************************************************************************************************************************************************************
Mise à jour importante 31 janvier 2011. S’il vous plaît lire!
Un spectateur a récemment tenté de l’Assemblée le fichier *.asm initialement inclus dans ce instructable, mais receieved « 118 » nombreuses erreurs de l’assembleur MPLAB. Ce problème est dû au fait que j’ai créé le code sur une ancienne version de MPLAB. Alors qu’il compilé correctement sur l’ancienne version, j’ai Il semble que les directives permettant de mettre en place et à réserver l’espace des variables dans la RAM a changé. J’ai également noté quelques autres cas où la nouvelle version de MPLAB n’aimait pas la syntaxe des expressions qui a bien fonctionné dans les anciennes versions. Aussi, n’oubliez pas de sélectionner « code absolu » quand essayant de monter le fichier *.asm fourni. J’ai mis à jour le fichier *.asm et joint ici. Les seules modifications apportées sont ceux qui sont tenus de se réunir sans erreurs. Le fichier mis à jour a « Nouveau » dans le nom de fichier. J’ai laissé l’ancien fichier attaché également, au cas où n’importe qui en a besoin, mais je vous avise que si vous utilisez la dernière MPLAB il va générer beaucoup d’erreurs si vous utilisez le fichier asm original, que j’ai joint. Le fichier *.hex généré à partir du code de mise à jour semble être identique à celui que j’ai joint à l’origine, donc je n’ai pas joint un autre fichier. Le fichier d’origine *.hex devrait fonctionner correctement pour programmer simplement une partie avec le code tel qu’il est configuré dans le fichier *.asm fourni.
Quand j’ai essayé sur une nouvelle version, a reçu les mêmes erreurs.
****************************************************************************************************
****************************************************************************************************
Le code source pour le fichier *.hex fourni est joint ci-dessous. Le programme a été écrit pour utiliser les processeurs de PIC 12F683 construits en oscillateur comme l’horloge, cadencé à 8MHz. Si vous projetez de réutiliser le code dans une application où vous envisagez d’utiliser une fréquence différente, alors vous devrez tenir compte de la différence dans le logiciel. Les paramètres que définir la fréquence d’échantillonnage devra être modifiée.
Si vous apportez une modification à la fréquence d’échantillonnage (qui est 4400Hz pour le programme comme il est écrit maintenant) alors vous devrez générer le nouveau look des tables pour les coefficients de sinus et cosinus, car ceux-ci dépendent de la fréquence d’échantillonnage.
Si vous modifiez le nombre d’échantillons utilisés dans l’algorithme (qui est de 200 pour le programme comme il est écrit maintenant), vous devrez générer une nouvelle table de choix pour la fonction de fenêtre.
Il est relativement facile de transférer ce code à un autre microprocesseur PIC de 8 bits. Les principales choses à garder à l’esprit sont la fréquence de l’oscillateur tel que décrit ci-dessus, et la configuration exacte des registres connexes avec les périphériques utilisés. Elles sont habituellement très semblables entre les processeurs PIC de 8 bits, mais ils peuvent très un petit peu. Le processeur choisi doit avoir un convertisseur A/D pour la lecture des entrées analogiques et une minuterie de 16 bits pour définir la fréquence d’échantillonnage.