目录
目的/效果
1:让蜂鸣器响起来
2:蜂鸣器播放音乐(《义勇军进行曲》《天空之城》《小美满》《兰花草》等)
一,STC单片机模块
二,蜂鸣器
2.1 介绍
蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号
蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器。
有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。
无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。(本节内容全部基于无源蜂鸣器)
2.2 板子位置+电路图
2.3 发声原理
翻转蜂鸣器的IO口,
while(1){
P2_5=!P2_5;//翻转蜂鸣器端口
}
上面这段代码 执行时,可能听不到声音。
根据人耳朵的听力范围20-20000Hz
那么我们延时周期时长范围为
12000000/12/20000=50us,(最高频率时间间隔)
12000000/12/20=50000us=50ms (最低频率时间间隔)
/**
* 函 数:主函数
* 参 数:无
* 返 回 值:无
*/
void main()
{
while(1){
Delay_ms(2);//延时2毫秒【1秒钟翻转500次,相当于500Hz】
P2_5=!P2_5;//翻转蜂鸣器端口
}
}
2.4 音符和频率
标准的A的频率为440(每秒440次),相邻两个半音之间的比值是,所以我们根据标准音去计算其他音的频率,如下表
音符 | 频率/Hz(计算值,保留小数) | 频率/Hz(每秒震动次数 取整) |
低音1 | 411.5292003 | 412 |
低音1# | 436 | 436 |
低音2 | 412.4730746 | 412 |
低音2# | 437 | 437 |
低音3 | 413.416949 | 413 |
低音4 | 438 | 438 |
低音4# | 414.3608233 | 414 |
低音5 | 439 | 439 |
低音5# | 415.3046976 | 415 |
低音6(标准) | 440 | 440 |
低音6# | 466.1637615 | 466 |
低音7 | 493.8833013 | 494 |
中音1 | 523.2511306 | 523 |
中音1# | 554.365262 | 554 |
中音2 | 587.3295358 | 587 |
中音2# | 622.2539674 | 622 |
中音3 | 659.2551138 | 659 |
中音4 | 698.4564629 | 698 |
中音4# | 739.9888454 | 740 |
中音5 | 783.990872 | 784 |
中音5# | 830.6093952 | 831 |
中音6 | 880 | 880 |
中音6# | 932.327523 | 932 |
中音7 | 987.7666025 | 988 |
高音1 | 1046.502261 | 1047 |
高音1# | 1108.730524 | 1109 |
高音2 | 1174.659072 | 1175 |
高音2# | 1244.507935 | 1245 |