ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:205.71KB ,
资源ID:4189665      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4189665.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用QuartusII设计电子琴.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用QuartusII设计电子琴.docx

1、用QuartusII设计电子琴 电子设计自动化课程设计报告院 系: 信息工程学院 专 业: 电子信息工程 学 号: 200811014 姓 名: 张晓坡 同 组 人: 孙成、吴杲 指导教师:段美霞、袁胜、张晓华 2011 年12月29日1.设计题目32设计任务及目的33程序设计 3.1硬件电子琴电路模块设计4 3.2完整程序代码5 3.3程序仿真及结果84总结体会9 用Quartus_II设计电子琴1.设计题目:用Quartus_II设计电子琴2.设计任务及要求: (1)设计一个八音电子琴。 (2)由键盘输入控制音响,同时可自动演奏乐曲。 (3)用户可以将自己编制的乐曲存入电子琴,演奏时可选择

2、键盘输入乐曲或者已存入的乐曲。3.程序设计3.1硬件电子琴模块设计 系统由数控分频器和乐曲存储模块组成。数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。(1)模块Speaker模块Speaker中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speaker由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。(

3、2)模块TONE 模块Tone是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如5,并由High输出指示音阶高8度显示。在原设计的基础上,增加一个Notetabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在Notetabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。3.2完整程序代码module songer(Clk1,Clk2,

4、Code1,High1,Spkout,reset); input Clk1,Clk2,reset; output3:0 Code1; output High1,Spkout; wire10:0 Tone; wire3:0 ToneIndex; wire Clk1,CLK2; NoteTabs u1( .Clk2(Clk2), .reset(reset), .ToneIndex(ToneIndex) ); ToneTaba u2( .Index(ToneIndex), .Code(Code1), .High(High1), .Tone(Tone) ); Speakera u3( .Clk1(Cl

5、k1), .Tone(Tone), .SpkS(Spkout) ); endmodulemodule Speakera(Clk1,Tone,SpkS); input Clk1; input10:0 Tone; output SpkS; reg PreClk; reg FullSpkS; reg3:0 Count4; reg10:0Count11; reg Count2; reg SpkS;always(posedge Clk1)begin if(Count411)begin PreClk=1b1; Count4=1; end else begin PreClk=1b0; Count4=11h7

6、FF) begin Count11=Tone; FullSpkS=1b1; end else begin Count11=Count11+11b1; FullSpkS=0; endendalways(posedge FullSpkS)begin Count2=Count2; if(Count2=1b1) SpkS=1b1; else SpkS=1b0; end endmodulemodule ToneTaba (Index,Code,High,Tone); input3:0 Index; output3:0 Code; output High; output10:0 Tone; reg3:0

7、Code=0; reg High=0; reg10:0 Tone=0; always begin case(Index) 4b0000 :begin Tone=11b11111111111;Code=4b0000;High=1b0;end/2047 4b0001 :begin Tone=11b01100000101;Code=4b0001;High=1b0;end/773 4b0010 :begin Tone=11b01110010000;Code=4b0010;High=1b0;end/912 4b0011 :begin Tone=11b10000001100;Code=4b0011;Hig

8、h=1b0;end/1036 4b0101 :begin Tone=11b10010101101;Code=4b0101;High=1b0;end/1197 4b0110 :begin Tone=11b10100001010;Code=4b0110;High=1b0;end/1290 4b0111 :begin Tone=11b10101011100;Code=4b0111;High=1b0;end/1372; 4b1000 :begin Tone=11b10110000010;Code=4b0001;High=1b1;end/1410; 4b1001 :begin Tone=11b10111

9、001000;Code=4b0010;High=1b1;end/1480; 4b1010 :begin Tone=11b11000000110;Code=4b0011;High=1b1;end/1542; 4b1100 :begin Tone=11b11001010110;Code=4b0101;High=1b1;end/1622; 4b1101 :begin Tone=11b11010000100;Code=4b0110;High=1b1;end/1668; 4b1111 :begin Tone=11b11011000000;Code=4b0001;High=1b1;end/1728; en

10、dcase endendmodulemodule NoteTabs(reset,Clk2,ToneIndex); input Clk2,reset; output3:0 ToneIndex; reg7:0 Counter; always(posedge Clk2 or negedge reset) begin if(!reset) Counter =138) Counter=8b00000000; else Counterstart-start annlysis & elaboration对程序进行初步的分析依次输入各个模块进行验证,最后将所有模块输入验证,最后不知是什么原因,speakera

11、无输出。本次试验并没有得到所需的试验结果。4试验小结 我在这一次电子琴的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,也从中得知了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。参考文献:(五号,宋体加粗)1潘松,EDA实用教程,科学出版社,2004年

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1