蜂鸣器歌唱原理以及代码
3.3 蜂鸣器播放歌曲原理一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示
3.3 蜂鸣器播放歌曲原理 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅 度的谐波频率。因此单片机奏乐只需弄清楚两个概念即可,也就是“音 调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音 符唱多长的时间。 1)音调的确定 音调就是我们常说的音高。它是由频率来确定的!我们可以查出 各个音符所对应的相应的频率,那么现在就需要我们来用51来发出 相应频率的声音!我们常采用的方法就是通过单片机的定时器定时中 断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置 位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我 们只需将定时器予置不同的定时值就可实现。 2)节拍的确定 一般说来,如果乐曲没有特殊说明,一拍的时长大约为 400—500ms 。 3.3 蜂鸣器播放歌曲程序 #include <reg52.h> sbit speaker =P1^5; //定义蜂鸣器端口 unsigned char timer0h, timer0l, time; //-------------------------------------- //单片机晶振采用11.0592MHz

