Escolar Documentos
Profissional Documentos
Cultura Documentos
Page 1 of 6
/******************************************************************
*
*
*
Librera de control de Altavoz
*
*
*
*
Autor:
ngel Hernndez Mejas (Mif)
*
*
Contacto:
angeldpe@hotmail.com
*
*
Fecha:
22/08/2007
*
*
Versin:
1.0
*
*
*
*******************************************************************
*
*
*
Licencia
*
* Esta librera est publicada bajo la licencia Creative
*
* Commons en la versin de Attribution and Share Alike. Es decir, *
* se permite copiar, modificar y distribuir este material
*
* siempre que se reconozca al autor y se mantenga la misma
*
* licencia.
*
*
*
*******************************************************************
*
*
* Esta librera sirve para Manejar de un modo sencillo y limpio *
* un altavoz tpico de PC generando notas musicales "afinadas"
*
* asi como algunas melodas sencillas.
*
*
*
* Es recomendable usar el sistema Skypic para evitar problemas
*
* en la electrnica al hacer montajes bsicos.
*
*
*
* Equivalencia entre Notas y Frecuencias
*
* ----------------------------------------------------------------*
* | Nombre Do Do# Re Re# Mi Fa Fa# Sol Sol# La Si b Si Do |*
* | Hz
261 277 294 311 330 349 370 392 415 440 466 494 523 |*
* ----------------------------------------------------------------*
*
*
* Requisitos:
*
* -El Altavoz se colocar entre RB5 y Masa
*
*
*
******************************************************************/
#define Altavoz
PIN_B5
Page 2 of 6
delay_us(1916);
Output_bit(Altavoz, 0);
delay_us(1916);
}
}
}
void Altavoz_Re(int Duracion)
{
int i;
int j;
for (j=0; j<=Duracion; j++)
{
for (i = 0;i<=27;++i)
{
Output_bit(Altavoz, 1);
delay_us(1700);
Output_bit(Altavoz, 0);
delay_us(1700);
}
}
}
//
//
//
//
Re es un tono de 294Hz
1seg / 294Hz = 3401us
TH = TL = 3401us / 2 = 1700
Tiempo de sonido = 294Hz / 11 = 27
//
//
//
//
Mi es un tono de 330Hz
1seg / 330Hz = 3030us
TH = TL = 3030us / 2 = 1515
Tiempo de sonido = 330Hz / 11 = 30
//
//
//
//
Fa es un tono de 349Hz
1seg / 349Hz = 2865us
TH = TL = 2865us / 2 = 1433
Tiempo de sonido = 349Hz / 11 = 32
//
//
//
//
Page 3 of 6
}
}
}
void Altavoz_La(int Duracion)
{
int i;
int j;
for (j=0; j<=Duracion; j++)
{
for (i = 0;i<=40;++i)
{
Output_bit(Altavoz, 1);
delay_us(1136);
Output_bit(Altavoz, 0);
delay_us(1136);
}
}
}
//
//
//
//
La es un tono de 440Hz
1seg / 440Hz = 2272us
TH = TL = 2272us / 2 = 1136
Tiempo de sonido = 440Hz / 11 = 40
//
//
//
//
Si es un tono de 494Hz
1seg / 494Hz = 2024us
TH = TL = 2024us / 2 = 1012
Tiempo de sonido = 494Hz / 11 = 45
//
//
//
//
// **************************************************************
// ******************* Galera de Melodas***********************
// **************************************************************
// *** Cumpleaos Feliz ***
void Altavoz_Cumple()
{
Altavoz_Do(2);
delay_ms(1);
Altavoz_Do(1);
delay_ms(1);
Altavoz_Re(2);
delay_ms(1);
Altavoz_Do(2);
delay_ms(1);
Page 4 of 6
Page 5 of 6
Page 6 of 6