Datasheet

Tone1(); Tone2(); Tone3();
Tone1(); Tone2(); Tone3(); Tone3();
Tone1(); Tone2(); Tone3();
Tone3(); Tone3(); Tone2(); Tone2(); Tone1();
end;
procedure ToneA(); // Tones used in Melody2 function
begin
Sound_Play(1250, 20);
end;
procedure ToneC();
begin
Sound_Play(1450, 20);
end;
procedure ToneE();
begin
Sound_Play(1650, 80);
end;
procedure Melody2(); // Plays Melody2
var counter : byte;
begin
for counter := 9 downto 1 do
begin
ToneA();
ToneC();
ToneE();
end;
end;
begin
DDRB := 0x00; // Configure PORTB as input
Delay_ms(2000);
Sound_Init(); // Initialize sound pin
Sound_Play(2000, 1000); // Play starting sound, 2kHz, 1 second
while TRUE do // endless loop
begin
if (PINB.B7 <> 0) then // If PORTB.7 is pressed play Tone1
begin
Tone1();
while (PINB.B7 <> 0) do nop; // Wait for button to be released
end;
if (PINB.B6 <> 0) then // If PORTB.6 is pressed play Tone2
begin
Tone2();
372
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6