Notaları Pwm çıkışına göre ayarlama ccs compiler
#include <12f683.h>
#fuses intrc_io,NOWDT,NOPROTECT,nomclr
#use delay(clock=8000000)
//her not için zamanlayıcı ölçekleme değerini tanımlayın
#define C 255 //DO
#define D 227 //RE
#define E 204 //Mİ
#define F 191 //FA
#define G 170 //SOL
#define A 153 //LA
#define B 136 //Sİ
#define C2 127 //DO#
#define x 26
int song[x] = {B, A, G, A, B, B, B, A, A, A, B, B, B, B, A, G, A, B, B, B, A, A, B, A, G, G};
int length[x] = {1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2};
/
//!#define x 25
//!int song[x] = {E, E, E, E, E, E, E, G, C, D, E, F, F, F, F, F, E, E, E, E, D, D, E, D, G};
//!int length[x] = {1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2};
//!
//!#define x 14
//!
//!//
//!int song[x]={C, C, G, G, A, A, G, F, F, E, E, D, D, C}; //insert notes of song in array
//!int length[x]={1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2}; //relative length of each note
int i;
Notaları Pwm çıkışına göre ayarlama ccs compiler
void main() {
setup_ccp1(CCP_PWM); // PWM output CCP1
set_pwm1_duty(30); // sayı piezo hoparlörün sesini değiştirir
for (i=0; i<x; i++) { // şarkı dizisi içinde x notaları çalar
setup_timer_2(T2_DIV_BY_16, song[i], 16);
// şarkı dizisindeki girişlere göre PWM frekansını ayarlayın
delay_ms(400*length[i]); // her nota 400 ms * göreceli uzunlukta çalınır
setup_timer_2(T2_DIV_BY_16, 1, 16); // PWM frekansı duyulabilir aralığın ötesinde ayarlanmış
// notlar arasında kısa bir sessizlik için
delay_ms(50); //50 ms sessizlik
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...