嵌入式LINUX蜂鸣器奏乐编程练习
1、硬件控制原理
开发板的蜂鸣器SPEAKER 是通过PWM 控制的,原理图如下所示,其中GPB0 可通过软件设置为PWM 输出。

2、蜂鸣器控制函数一:
(1)open_buzzer(void) //打开蜂鸣器
(2)close_buzzer(void) //关闭蜂鸣器

3、蜂鸣器控制函数二:
(3)et_buzzer_freq(int freq) //设置蜂鸣器频率
(4)void stop_buzzer(void) //停止蜂鸣器播放函数

4、 主程序过程如下:
(1) 打开蜂鸣器
(2)设置蜂鸣器的频率
(3)从键盘获取数据
(4)控制驱动蜂鸣器发声

5、运行结果
(1)在宿主机编辑调试程序
(2)在超级终端上挂载宿主机到开发板上
(3)在开发板相应目录运行蜂鸣器测试程序
可以根据设定的频率奏出乐曲。


6、演奏乐曲
如果想让蜂鸣器演奏乐曲,可以设置不同的音符频率,
while( 1 )
{
int key;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
freq = 294 ;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
freq = 330 ;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
freq = 330 ;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
freq = 294 ;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
freq = 262 ;
set_buzzer_freq(freq);
delay(1000);
stop_buzzer;
delay(50000 );
}