// Eine Melodie mit dem Piepser abspielen
// ACHTUNG: Die Bibliothek PRO-BOT128_Lib_V2.cc ändern!
/*
void BEEP(word Tone, word Periode)
{
Timer_T0FRQ(Tone,PS_64);
DELAY_MS(Periode);
//Timer_T0Stop();
Timer_Disable(0);
}
*/
// Symbolische Konstanten definieren
#define C1 210
#define D1 190
#define E1 165
#define F1 155
#define G1 135
#define A1 120
// Notenlängen definieren
#define A 200 // Achtelnoten
#define V 400 // Viertelnoten
#define H 800 // Halbe Noten
#define PAUSE 50 // Kurze Pause zwischen den Tönen
#define ANZAHL 11 // Anzahl der Noten im Song
void main(void)
{
PRO_BOT128_INIT();
LCD_Init();
DELAY_MS(100);
// Platz für eigene Programmteile, die einmalig ausgeführt werden:
// Begrüßung
LCD_Locate(1,1);
LCD_WriteText("Beeper-Programm");
// Lass es piepen
// ARRAY mit Noten definieren:
int Noten[ANZAHL]= {C1, D1, E1, F1, G1, G1, A1, A1, A1, A1, G1};
int Laenge[ANZAHL]={A, A, A, A, V, V, A, A, A, A, H};
// Endlos-Schleife
do
{
if (SW2!=0)
{
int i; // Notenzähler
for(i=0; i<ANZAHL; i++)
{
BEEP(Noten[i], Laenge[i]);
DELAY_MS(PAUSE);
}
SW2=0;
}
}
while(1);
}