Étape 4: continuer...
Quatrième étape :
Maintenant la seule chose que vous avez à faire c’est mettre dehors un de cette valeur sur avec le haut-parleur à l’intervalle de 125uSecs. C’est 8khz de fréquence c’est ce que nous avons nos fichiers compressés à.
Vous avez besoin de deux minuteries pour cette tâche. On en fait générer la forme d’onde et l’autre à temps exactement le Putting ces valeurs de huit bits.
Voici la fonction d’initialisation où j’ai entamé la minuterie de 8 bits à déborder à 8khz. Et un autre 16 bit timer pour générer le PWM signal de sortie correspondant. Et aussi initiés Timer interrupt de débordement permettent au masque de minuterie.
DDRB = _BV(PB4) | _BV(PB5) ;
TCCR1A = _BV(COM1A1) | _BV(WGM10) ; TCCR1B = _BV(WGM12) | _BV(CS10) ;
OCR1A = 0 ;
TCCR0| =(1<
J’ai 8Mhz interne fondu brûlé et les calculs ont été désadaptation. Donc, j’ai fait le code pour entrer dans l’ISR à 32khz et il descendit à l’aide d’un drapeau en 4 pour le rendre 8Khz.
Voici le rapport de recherche internationale pour notre code.
ISR(TIMER0_OVF_vect) {sample_count--; if (sample_count == 0) {sample_count = 4; drapeau = 0 ; OCR1A = pgm_read_byte (& zero_samples[sample++]) ; if(Sample>zero_length) échantillon = 0, drapeau = 1 ; } }
ce qu’il fait est il lit une par une valeur à partir du tableau zero_samples [] et de le mettre dehors sur sortie comparer broche. Générer une forme d’onde équivalent au fichier zero.wav.
Étape cinq :
La forme d’onde générée est une onde carrée, et il ne sonne pas bien car il a des fréquences plus élevées qui lui sont associés. Comment faire pour que trier ? Passez-le à travers un filtre passe-bas et boom que le signal sera plus lisse sur, vérifiez vous-même sur une portée.
Utiliser la formule de Fc=1/(2*Pi*Rf*Cf). Mettre la Fc comme 8Khz et obtenir de la Fédération de Russie, et
Valeurs des FC. Et le mettre directement à l’orateur et vous allez entendre votre voix wav a déposé sur le haut-parleur. Utiliser un amplificateur audio pour la voix plus fort. Utilisez vos variantes et nous disent à quel point il est sorti pour être.
Je joins ici un zip avec un code compilé de dire les chiffres de 0 à 9. Utilisez-le comme un échantillon.
Merci.