下载此文档

《友谊地久天长》乐曲演奏电路设计-word资料(精).doc


文档分类:文学/艺术/军事/历史 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
《友谊地久天长》乐曲演奏电路设计 1. 实验任务音高与频率的对应关系见表 1-1 。表 1-1 音高频率对照表 1234567 低音 262Hz 294Hz 330Hz 349Hz 392Hz 440Hz 494Hz 中音 532Hz 578Hz 659Hz 698Hz 784Hz 880Hz 988Hz 高音 1046Hz 1175Hz 1318Hz 1397Hz 1568Hz 1760Hz 1976Hz 《友谊地久天长》乐谱见图 1-1 。友谊地久天长图 1-1 《友谊地久天长》乐谱注: N一拍; N两拍; N·四拍; N·八拍; N为音谱。此程序使用 4MHz 时钟,时钟不同则需要修改常数。总体框图如图 1-2 所示。 clock q[13..0] tone inst4 clock a[13..0] q speak inst VCC clock INPUT speak OUTPUT图 1-2 总体框图 2. 模块及模块功能模块 TONE 见图 1-2 。该模块控制每一个音的长短,送初值给 SPEAK 模块,从而控制音高。//**************************************************************// //《友谊地久天长》乐曲// //时钟: 4MHz // //**************************************************************// //音高与频率的对应关系//--------------------------------------------------------------- //| |1|2|3|4|5|6|7| //| 低音| 262Hz | 294Hz | 330Hz | 349Hz | 392Hz | 440Hz | 494Hz | //| 中音| 523Hz | 578Hz | 659Hz | 698Hz | 784Hz | 880Hz | 988Hz | //| 高音|1046Hz |1175Hz |1318Hz |1397Hz |1568Hz |1760Hz |1976Hz | //--------------------------------------------------------------- //如果时钟不同则需改参数 module tone(clock,q); //I/O 口声明 input clock; output[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 = 7648 p arameter L_5 = 14'd10204, //低音 5 L_6 = 14'd9090, //低音 6 M_1 = 14'd7648, //中音 1 M_2 = 14'd6920, //中音 2 M_3 = 14'd6069, //中音 3 M_5 = 14'd5102, //中音 5 M_6 = 14'd4545, //中音 6 H_1 = 14'd3824; //高音 1 parameter TIME = 1500000; //控制每一个音(节拍)的长短(375ms) assign q= q_r; always @(posedge clock) begin t1 < TIME) //控制每一个音(节拍)的长短(375ms) cnt1 <= cnt1 + 21'd1; else t1 <= 21'd0; case(n) 6'd0: begin q_r <= L_5; //此值为低音 5的计数初值,送给 SPEAK 模块 t2 < 4'd1) //t2 <= cnt2 + 4'd1; else t2 <= 4'd0; n <= 6'd1; end end 6'd1: begin q_r <= M_1; t2 < 4'd6) cnt2 <= cnt2 + 4'd1; else t2 <= 4'd0; n <= 6'd2; end end 6'd2: begin q_r <= M_3; t2 < 4'd1) cnt2 <= cnt2 + 4'd1; else t2 <= 4'd0; n <= 6'd3; end end 6'd3: begin q_r <= M_2; t2 < 4'd3) cnt2 <= cnt2 + 4

《友谊地久天长》乐曲演奏电路设计-word资料(精) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2768573384
  • 文件大小0 KB
  • 时间2016-07-07