The mikroC PRO for PIC provides a Sound Library to supply users with routines necessary for sound signalization in their applications. Sound generation needs additional hardware, such as piezo-speaker (example of piezo-speaker interface is given on the schematic at the bottom of this page).
Library Routines
- Sound_Init
- Sound_Play
Sound_Init
Prototype void Sound_Init(char *snd_port, char snd_pin); Returns Nothing. Description Configures the appropriate MCU pin for sound generation.
Parameters :Requires Nothing. Example // Initialize the pin RC3 for playing sound Sound_Init(&PORTC, 3);
Sound_Play
Prototype void Sound_Play(unsigned freq_in_hz, unsigned duration_ms); Returns Nothing. Description Generates the square wave signal on the appropriate pin.
Parameters :freq_in_hz:
signal frequency in Hertz (Hz)duration_ms:
signal duration in miliseconds (ms)
Note : Frequency range is limited by Delay_Cyc parameter. Maximum frequency that can be produced by this function isFreq_max = Fosc/(80*3)
. Minimum frequency isFreq_min = Fosc/(80*255)
. Generated frequency may differ from thefreq_in_hz
parameter due to integer arithmetics.Requires In order to hear the sound, you need a piezo speaker (or other hardware) on designated port. Also, you must call Sound_Init to prepare hardware for output before using this function. Example // Play sound of 1KHz in duration of 100ms Sound_Play(1000, 100);
Code Example
The example is a simple demonstration of how to use the Sound Library for playing tones on a piezo speaker.Read more: Create Musical Tone using PIC Code