电子实验
硬件电子琴电路设计实验
一、实验要求:
设计一个简单的硬件电子琴,当按下某键时发出该键对应的音调,并显示对
应的音名。
二、实验目的:
学习使用数控分频器设计实用电路。
三、硬件要求:
主芯片EPF10K10LC84-4。
可变时钟源。
8 位按键开关。
两位7 段数码管。
扬声器。
四、实验原理:
1.音名与频率的关系:
音乐的十二平均率规定:每两个八度音(如简谱中的中音1 与高音1)之间的频率相差一倍。在两个八度音之间,又可分为十二个半音,每两个半音的频率比为。另外,音名A(简谱中的低音6)的频率为440Hz,音名B 到C 之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1 至高音1 之间每个音名的频率,如表5 所示。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。本实验中选取5MHZ 的基准频率。若无5MHz 的时钟频率,则可以先分频得到4MHz 或换一个新的基准频率。实际上,只要各个音名间的相对频率关系不变,C 作1 与D 作1 演奏出的音乐昕起来都不会“走调”。
.. 表:5 简谱中音名与频率的关系
2.系统设计:
主系统如图所示,其内部有4 个功能模块预制数计数器、初始计数值、二分频器和音名译码电路。当8 位发声控制键输入中某一位为高电平时,则对应某一音阶的初始计数值作为获得该音阶的分频预置值将送入预制数计数器;预制数计数器输出相应的频率同时输出对应该音阶简谱的显示数码;该频率经二分频器后送入扬声器,同时在数码管上显示该音名的键码。
五、实验内容:
1.示例程序顶层文件如图所示。模块DZQS 是音阶发生器,当8 位发声控制输入DAIN 中某一位为高电平时,则对应某一音阶的数值将从端口DOUT 输出,作为获得该音阶的分频预置值;同时由CODE 输出对应该音阶简谱的显示数码,如‘5’,并由HIGH 输出指示音阶高8 度显示。
图:23 硬件电子琴电路结构
2.模块DZQC 中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块DZQC 由端口DIN 获得一个2 进制数后,将以此值为计数器的预置数,对端口CLK 输入的频率进行分频,之后由SP 向扬声器输出发声。
3.编译适配以上3 个示例文件,给出仿真波形,最后进行下载和硬件测试实验。建议用8 位拨码开关作为DA[7..0]输入信号控制各音阶;选择2 个数码管分别显示显示琴音简谱码和高8 度。
4.建议CLK 接5MHz 时钟,CP 接1KHz 时钟,SP 接扬声器输入端,DA[7..0]
接8 位拨码开关,SEL[2..0]和SEG[6..0]分别接7 段码对应的SEL[2..0]和g~a。
注:示例程序在文件夹EXAMPLE13 中,DZQ.GDF 文件是示例程序的顶层文件。
六、实验报告:
用仿真波形和电路原理图,详细叙述硬件电子琴的工作原理及其3 个VHDL文件中相关语句的功能,叙述硬件实验情况,提出硬件乐曲演奏电路的设计和实验方案。
回答下面的思考题:
思考题1:考虑二分频器对扬声器发声有什么影响?
思考题2:电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声?
全部0条评论
快来发表一下你的评论吧 !