- 1- Présentation
- 2- Schéma électrique
- 3- Principe de fonctionnement
- 4- Liste du matériel
- 5- Code source du microcontrôleur PIC
1- Présentation
Ce diapason permet de générer 3 notes :
- la3 (la de la troisième octave) : fréquence 440 hertz
- la2 (la de la deuxième octave) : fréquence 440 / 2 = 220 hertz
- la1 (la de la première octave) : fréquence 220 / 2 = 110 hertz
2- Schéma électrique
3- Principe de fonctionnement
La demi-période d'un signal de fréquence 440 Hz est 1,13636 ms ou 5681,8 cycles d'horloge d'un oscillateur à quartz de fréquence 20 MHz.
Le programme va donc créer une temporisation de 5682 cycles (439,986 Hz) en utilisant l'interruption TMR0 en mode timer.
Le signal de fréquence 440 Hz est disponible sur la sortie RA0 : il s'agit d'un signal rectangulaire 0 V / 5 V.
R1 limite le courant de sortie et C5 filtre la composante continue.
Le signal de fréquence 220 Hz (sortie RA1) est obtenu en divisant par deux (de manière logicielle) la fréquence du signal de la broche RA0.
Le signal de fréquence 110 Hz (sortie RA2) est obtenu en divisant par deux la fréquence du signal de la broche RA1.
- Résultats expérimentaux
440,0271 Hz (sortie RA0) ; 220,0136 Hz (RA1) ; 110,0068 Hz (RA2)
soit un écart de 0,01 % avec la valeur nominale (439,986 Hz).
Cet écart dépend directement de la tolérance sur la fréquence du quartz.
Il est très inférieur à la limite de résolution de l'oreille humaine.
4- Liste du matériel
- 1 programmateur pour flasher le programme du microcontrôleur PIC
- 1 résistance 1 k
- 1 microcontrôleur PIC 16F628A ou 16F84A (boîtier
PDIP)
- Remarque : Vous pouvez demander des échantillons gratuits chez Microchip :-)
- 1 quartz 20 MHz
- 1 condensateur électrochimique de 10 µF (filtrage)
- 1 condensateur de 2,2 µF
- 1 condensateur de 100 nF (filtrage)
- 2 condensateurs de 22 pF
- 1 source d'alimentation continue + 5 V
- 1 haut-parleur
5- Code source du microcontrôleur PIC
Le code source a été écrit en langage assembleur avec l'environnement de développement gratuit MPLAB IDE de Microchip.
- 16F628A : Télécharger le code source en assembleur (.asm)
- 16F628A : Télécharger le code objet (.HEX)
Aucun commentaire:
Enregistrer un commentaire