课程设计十一 乐曲演奏电路设计
一、设计任务及要求
(1)能够自动播放设计好的乐曲;
(2)至少能选择播放二个以上的乐曲;
(3)进行需求分析,确定总体框架;
(4)分模块具体设计,给出源文件(VHDL 或 Verilog 源程序);
(5)对设计电路进行软件仿真与硬件测试;
二、方案设计及论证
1.设计原理
与利用微处理器(CPU 或 MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻
辑要复杂得多,仅凭传统的数字逻辑技术,很难完成简单的演奏电路,但是借助于功能强大
的 EDA 工具与硬件描述语言,就相对简单,很容易实现。
实验箱上有 1 个交流蜂鸣器 BUZZER,从能量的角度来说,这个脉冲信号占空比最好为
1:1,此时蜂鸣器的发声强度最大。
乐曲演奏的原理:由于组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是
乐曲演奏的两个基本数据,因此需要控制输出到蜂鸣器的激励信号的频率和该频率信号持续
的时间。
频率的高低决定了音调的高低,而乐曲的简谱与各个音名的频率对应关系如实验表 1 所
示,所有不同频率的信号都从同一基准频率分频而来。由于音节频率为非整数,而把分频系
数作为小数处理又太麻烦,故需将计算得到的分频数进行四舍五入取整处理,并且其基准频
率和分频系数应综合考虑加以选择,从而保证音乐不会走调。
实验表 1 简谱中的音名与频率的关系 (单位:Hz)
低音部
1
2
3
4
5
6
7
频率
261.63
293.67
329.63
349.23
391.99
440.00
493.88
中音部
1
2
3
4
5
6
7
频率
523.25
587.33
659.25
698.46
783.99
880
987.76
高音部
1
2
3
4
5
6
7
频率
1046.50
1174.66
1381.51
1396.92
1567.98
1760
1975.52
注:中音频率为低音的 2 倍,高音频率为中音的 2 倍
本次实验在 6MHz 的时钟下,中音 1(对应的频率值为 523.25Hz)的分频系数应该为
6 000 000/(2*523.25) =10647,这样只须对系统的时钟进行 10647 次分频,然后再进行
占空比为 1:1 的二分频即可得到所要的中音 1,至于其他音符,同样可以求出其对应的分频
系数。
实验表 2 不同音符对应的预置数
音名
预置数
中音 1
8749
中音 2
9275
中音 3
9832
中音 4
10088
中音 5
10556
中音 6
10950
高音 1
11516
休止符
14383