嵌入式LINUX蜂鸣器奏乐编程练习

2025-11-19 12:25:16

1、硬件控制原理

    开发板的蜂鸣器SPEAKER 是通过PWM 控制的,原理图如下所示,其中GPB0 可通过软件设置为PWM 输出。

嵌入式LINUX蜂鸣器奏乐编程练习

2、蜂鸣器控制函数一:

(1)open_buzzer(void) //打开蜂鸣器

(2)close_buzzer(void) //关闭蜂鸣器

     

嵌入式LINUX蜂鸣器奏乐编程练习

3、蜂鸣器控制函数二:

(3)et_buzzer_freq(int freq) //设置蜂鸣器频率

(4)void stop_buzzer(void) //停止蜂鸣器播放函数

嵌入式LINUX蜂鸣器奏乐编程练习

4、 主程序过程如下:

(1) 打开蜂鸣器

(2)设置蜂鸣器的频率

(3)从键盘获取数据

(4)控制驱动蜂鸣器发声

  

嵌入式LINUX蜂鸣器奏乐编程练习

5、运行结果

(1)在宿主机编辑调试程序

(2)在超级终端上挂载宿主机到开发板上

(3)在开发板相应目录运行蜂鸣器测试程序

   可以根据设定的频率奏出乐曲。

嵌入式LINUX蜂鸣器奏乐编程练习

嵌入式LINUX蜂鸣器奏乐编程练习

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 );

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢