欢迎来到天天文库
浏览记录
ID:56055186
大小:59.50 KB
页数:11页
时间:2020-06-19
《《友谊地久长》乐曲演奏电路设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《友谊地久天长》乐曲演奏电路设计1.实验任务音高与频率的对应关系见表1-1。表1-1音高频率对照表1234567低音262Hz294Hz330Hz349Hz392Hz440Hz494Hz中音532Hz578Hz659Hz698Hz784Hz880Hz988Hz高音1046Hz1175Hz1318Hz1397Hz1568Hz1760Hz1976Hz《友谊地久天长》乐谱见图1-1。友谊地久天长图1-1《友谊地久天长》乐谱注:N一拍;N两拍;N·四拍;N·八拍;N为音谱。此程序使用4MHz时钟,时钟不同则需要修改常数。总体框图如图1-2所示。图1-2总体框图2.模块及模
2、块功能模块TONE见图1-2。该模块控制每一个音的长短,送初值给SPEAK模块,从而控制音高。//**************************************************************////《友谊地久天长》乐曲////时钟:4MHz////**************************************************************////音高与频率的对应关系//---------------------------------------------------------------//
3、
4、
5、1
6、2
7、3
8、4
9、5
10、6
11、7
12、//
13、低音
14、262Hz
15、294Hz
16、330Hz
17、349Hz
18、392Hz
19、440Hz
20、494Hz
21、//
22、中音
23、523Hz
24、578Hz
25、659Hz
26、698Hz
27、784Hz
28、880Hz
29、988Hz
30、//
31、高音
32、1046Hz
33、1175Hz
34、1318Hz
35、1397Hz
36、1568Hz
37、1760Hz
38、1976Hz
39、//---------------------------------------------------------------//如果时钟不同则需改参数moduletone(clock,q);//I/O口声明inputclock;out
40、put[13:0]q;//I/O口寄存器reg[13:0]q_r;//内部寄存器reg[20:0]cnt1;//375ms计数器(一个节拍)reg[3:0]cnt2;//节拍计数器reg[5:0]n;//乐谱状态机//乐谱参数//参数由上表音高与频率对应关系计算得出。//公式为:D=F/K//其中D为参数值,F为时钟频率,K为音高频率//如(中音1)M_1=4000000/523=7648parameterL_5=14'd10204,//低音5L_6=14'd9090,//低音6M_1=14'd7648,//中音1M_2=14'd6920,//中音2M_3=14'
41、d6069,//中音3M_5=14'd5102,//中音5M_6=14'd4545,//中音6H_1=14'd3824;//高音1parameterTIME=1500000;//控制每一个音(节拍)的长短(375ms)assignq=q_r;always@(posedgeclock)beginif(cnt142、个节拍cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd1;endend6'd1:beginq_r<=M_1;if(cnt2<4'd6)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd2;endend6'd2:beginq_r<=M_3;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd3;endend6'd3:beginq_r<=M_2;if(cnt2<4'd3)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;43、n<=6'd4;endend6'd4:beginq_r<=M_1;n<=6'd5;end6'd5:beginq_r<=M_2;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd6;endend6'd6:beginq_r<=M_3;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd7;endend6'd7:beginq_r<=M_1;if(cnt2<4'd4)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd8;e44、ndend
42、个节拍cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd1;endend6'd1:beginq_r<=M_1;if(cnt2<4'd6)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd2;endend6'd2:beginq_r<=M_3;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd3;endend6'd3:beginq_r<=M_2;if(cnt2<4'd3)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;
43、n<=6'd4;endend6'd4:beginq_r<=M_1;n<=6'd5;end6'd5:beginq_r<=M_2;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd6;endend6'd6:beginq_r<=M_3;if(cnt2<4'd1)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd7;endend6'd7:beginq_r<=M_1;if(cnt2<4'd4)cnt2<=cnt2+4'd1;elsebegincnt2<=4'd0;n<=6'd8;e
44、ndend
此文档下载收益归作者所有