电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

乐曲自动演奏器VIP免费

乐曲自动演奏器_第1页
乐曲自动演奏器_第2页
乐曲自动演奏器_第3页
乐曲自动演奏器一、功能介绍使用FPGA设计一个乐曲自动演奏控制器,将源程序下载至FPGA器件中,实现乐曲自动演奏。(本设计的乐曲是《友谊天长地久》的部分音乐)乐曲演奏的原理是:由于组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是乐曲演奏的2个基本数据,因此需要控制输出到扬声器的激励信号的频率高低和该频率信号持续的时间。频率的高低决定了音调的高低,而乐曲的简谱与各音名的频率之间也有固定的对应关系。所有不同频率的信号都是从同一基准频率分频而得来的,由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算的到的分频数进行四舍五入取整,基准频率和分频系数应综合考虑加以选择,从而保证音乐不会走调。如在4MHz时钟下,中音1(对应的频率值为523.3Hz)的分频系数应该为:4000000/(2*523.3)=0xd3821,这样只需对系统时钟进行3821次分频即可得到所要的中音1。至于其他音符,同样可求出对应的分频系数,这样利用程序可以很轻松地得到对应的乐声。此外,在程序中设置了一个状态机,每250ms改变一个状态(即一个节拍),组成乐曲的每个音符的频率值(音调)相对应于状态机的每一个状态。只要让状态机的状态按顺序转换,就可以自动播放音乐了。《友谊天长地久》乐谱见下表(注:N一拍;N两拍;N﹒四拍;N﹒八拍;N为乐谱。由于芯片存储容量太小,源程序只加入乐谱的一部分音符)《友谊天长地久》乐谱05.|1.113|2.123|1.135|6.6|5.331|2.123|1.6.65..|1.6|5.331|2.126|5.335|6.1|5.331|2.123|1.6.65..|1.0?简谱中的音名与频率的关系音名频率/Hz分频数低音539216’d5102低音644016’d4545中音1523.516’d3821中音2587.316’d3373中音3659.316’d3033中音578416’d2551高音588016’d2273高音6176016’d1913二、硬件设计(电路图、原器件清单)实物元件清单:印刷电路板一个;电阻(10KΩ的10个,200Ω的8个,1KΩ的14个,50Ω的1个);三极管3个;发光二极管(红黄绿各三个);蜂鸣器1个;8段显示器2个;按键4个;4M晶振1个;电容(104的6个,10μ的1个);电源线1个;芯片底座1个;电路图:功率放大显示部分:核心控制部分:三、软件设计(流程图、源程序)流程图一个完整的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。其大致的设计流程包括:设计输入、综合、适配、时序仿真和功能仿真、编程下载、硬件测试的步骤。对于目前流行的EDA工具软件,图1-1的设计流程具有一般性[3]。图1-1应用FPGA/CPLD的EDA开发设计流程框图各部分源程序及说明modulesong(clk,beep);//模块名称song//I/O口说明inputclk;//系统时钟4MHzoutputbeep;//蜂鸣器输出端//内部寄存器regbeep_r;//寄存器reg[3:0]state;//乐谱状态机reg[15:0]count,count_end;reg[17:0]count1;//参数--分频系数parameterL_5=16'd5102,//低音5L_6=16'd4545,//低音6M_1=16'd3821,//中音1M_2=16'd3405,//中音2M_3=16'd3033,//中音3M_5=16'd2551,//中音5M_6=16'd2273,//中音6H_1=16'h1913;//高音6parameterTIME=1000000;//控制每个音的长短(250ms)assignbeep=beep_r;//输出音乐//上升沿脉冲计数always@(posedgeclk)begincount<=count+1'b1;//计数器加1if(count==count_end)begincount<=16'h0;//计数器取0beep_r<=!beep_r;//输出取反endend//上升沿脉冲计数always@(posedgeclk)beginif(count1

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文库响当当+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群