- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                vhdl实验报告--蜂鸣器
                    VHDL实验报告
 
一、实验目的
掌握蜂鸣器的使用;
通过复杂实验,进一步加深对VHDL语言的掌握程度。
二、实验原理
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让蜂鸣器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。
乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音。另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音l至高音1之间每个音符的频率,如表2.1所示。
音名	频率/Hz	音名	频率/Hz	音名	频率/Hz		低音1	261.6	中音1	523.3	高音1	1045.5		低音2	293.7	中音2	587.3	高音2	1174.7		低音3	329.6	中音3	659.3	高音3	1318.5		低音4	349.2	中音4	698.5	高音4	1391.1		低音5	392	中音5	784	高音5	1568		低音6	440	中音6	880	高音6	1760		低音7	493.9	中音7	987.8	高音7	1975.5		表2.1  简谱音名与频率的对应关系
产生各音符所需的频率可用一分频器实现,由于各音符对应的频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若分频器时钟频率过低,则由于分频系数过小,四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但分频数将变大。1为例,对应的频率值为523.3Hz,它的分频系数应该为:
至于其他音符,同样可由上式求出对应的分频系数,这样利用程序可以很轻松地得到相应的乐声。
音名	频率/Hz	分频系数	音名	频率/Hz	分频系数		低音1	261.6	1911	高音1	1045.5	478		低音2	293.7	1702	高音2	1174.7	425		低音3	329.6	1517	高音3	1318.5	379		低音4	349.2	1431	高音4	1391.1	359		低音5	392	1276	高音5	1568	319		低音6	440	1136	高音6	1760	284		低音7	493.9	1014	高音7	1975.5	253		中音1	523.3	956	中音2	587.3	851		   中音3         659.3         758            中音4        698.5        716           
   中音5         784          638             中音6        880         568           
中音7          987.8         506
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity tone is
	port(
			index: in std_logic_vector(15 downto 0);    --音符输入信号
			tone0: out integer range 0 to 2047          --音符的分频系数
		);
end tone;
architecture behavioral of tone is
begin
	search :process(index)  --此进程完成音符到音符的分频系数译码,音符的显示,高低音阶
	begin
		case index is
			when 0000000000000001 = tone0=1433;
			when 0000000000000010 = tone0=1277;
			when 0000000000000100 = tone0=1138;
			when 0000000000001000 = tone0=1074;
			when 0000000000010000 = tone0=960;
			when 0000000000100000 = tone0=853;
			when 0000000001000000 = tone0=759;
			when 0000000010000000 = tone0=716;
			when 0000000100000000 = tone0=358;
                您可能关注的文档
最近下载
- 2023年资料员资格考试题库答案下载.docx
 - 人教版小学语文四年级上册第二单元试卷及答案.pdf VIP
 - 安全与急救(四川警察学院)超星尔雅学习通网课章节测试答案.doc VIP
 - 铁总工电〔2018〕125号普速铁路桥隧建筑物修理规则.docx VIP
 - 煤岩复合体能量传递特性与动力灾害关联性.docx VIP
 - 高血压的危害及有效的降压方法.pptx VIP
 - 生涯发展报告.pdf VIP
 - 数学活动 月历中的奥秘及和为定值的两数积的规律 2025-2026学年人教版数学八年级上册.docx
 - 2026教育部教育技术与资源发展中心(中央电化教育馆)招聘3人(非事业编)笔试备考试题及答案解析.docx VIP
 - 弱电施工方案.doc VIP
 
原创力文档
                        

文档评论(0)