进程7 蜂鸣器实现演奏《光阴的故事》(自创哦)
乐曲演奏的两个基本参数是每个音符的频率值(音调)及其持续的时间(音长)。因此只要控制输出到扬声器的激励信号的频率和持续时间,就可以发出连续的音乐声。音调的控制频率的高低决定音调的高低。简谱中从低音1到高音1 的每个音名对应的频率如下表所示。
为了减小输出的偶次谐波分量,输出到扬声器的波形应为对称方波,因此在扬声器前要加一个二分频。表中给出了各音阶频率时计数器不同的预置数。采用加载预置数实现分频的方法比采用反馈复零法节约资源,实现起来也容易些。对于乐曲中的休止符,只要令分频系数设为0,即初始值为2e14-1=16383即可,此时扬声器将不会发出声。音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。 本例演奏的是最近正火着的《中国合伙人》的主题曲即罗大佑的《光阴的故事》片段,最短的音符为16分音符,经过不同16分音符的时间长度的比较,选择0.25s时长的16音符比较好。
考虑到如果基频过低,则由于分频比太小,造成四舍五入后误差较大;如果基频过高,虽然误差减小了,但是分频数变大。综合以上两个因素,选择5MHz作为基频。由于实验板上没有5MHz的时钟频率,所以必须先分频。 本实验要演奏的《光阴的故事》,各音阶频率及分频比见下表。
该演奏程序详见附件。附件中还带有笔者参考的一篇《ep2c35实验板蜂鸣器实验》文章、《怎样识谱》文章以及其他相关资料,供大家参考。
蜂鸣器相关资料.rar