数电EDA简易电子琴Verilo_第1页
数电EDA简易电子琴Verilo_第2页
数电EDA简易电子琴Verilo_第3页
数电EDA简易电子琴Verilo_第4页
数电EDA简易电子琴Verilo_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数电EDA简易电子琴Verilog- 设计 数字电子技术课程设计 -简易电子琴设计 专业班级 : 电子 姓 名 : 学 号 : 日 期 : 2015.6.5 一、设计任务 用Verilog HDL语言设计简易电子琴。 (1)单独从左至右按下S1-S7每个按键后能够各自对应发出 “哆来咪发唆啦西”的音乐声; (2)按下最右边按键(S8),同时再配合按下S1-S7键后,发高八度的对应音; (3)按键需要进行“消抖”处理; (4)外部输入脉冲信号频率为1mhz; (5)扩展要求:自主设计(增加低8度功能)。 二、实验目的 1、学习verilogHDL语言的基本运用,能够利用其进行简单编程; 2、学

2、习使用Quartus7.0的基本操作,能够利用其进行简单的设计; 3、结合实践加深对理论知识的理解。 三、设计原理 1)喇叭的振动频率不同,导致产生不同的声音;振动频率越低,声音越低沉,振动频率越高,声音越尖锐。题目中音乐基本音的 “哆”对应频率为523Hz 、“来”对应频率为587Hz 、“咪”对应频率为659Hz 、“发”对应频率为698Hz 、“唆”对应频率为784Hz 、“啦”对应频率为880Hz 、“西”对应频率为998Hz。 低8度音:基本音频率/2,例如低音1的频率为523/2=261.5Hz。 高8度音:基本音频率2,例如高音1的频率为5232=1046Hz.。 不同的频率产生

3、利用给定的时钟脉冲来进行分频实现。 (2)消抖的原理:按键默认输入逻辑1,当有按键按下时对应的输入为逻辑0(但会存在抖动),当FPGA开始检测到该引脚从1变为0后开始定时(按键抖动时间大约10ms),定时时间结束后若该引脚仍然为0则表示确实发生按键按下,否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。 )原理框图3( 四、程序设计 消抖模块 module xiaodou(key_in,key_out,clk); input key_in; input clk; output key_out; reg key_out; reg 2:0presta; integer q; par

4、ameter s0=3b000, s1=3b001, s2=3b010, s3=3b011, s4=3b100, s5=3b101, s6=3b110, s7=3b111; always(posedge clk) begin case(presta) s0: begin key_out=0; q=0; if(key_in=1) presta=s0; else presta=s1; end s1: begin key_out9999) presta=s2; else q=q+1; end s2: begin key_out=0; q=0; if(key_in=1) presta=s0; else

5、 presta=s3; end s3: begin key_out=1; q=0; if(key_in=0) presta=s3; else presta=s4; end s4: begin key_out44444) presta=s5; else q=q+1; end s5: begin q=0; if(key_in=1) presta=s0; else presta=s3; end s6: begin presta=s0; end s7: begin presta=s0; end endcase end end module 按键模块 module anjian(a,b,c,d,e,f,

6、g,h,i,qout); input a,b,c,d,e,f,g,h,i; output 10:0 qout; reg 8:0 q; reg 10:0 qout; always(a or b or c or d or e or f or g or h or i) begin q0=i; q1=h; q2=g; q3=f; q4=e; q5=d; q6=c; q7=b; q8=a; end always(q) begin case(q) 9b100000000:qout=11b01110111100; 9b010000000:qout=11b01101010011; 9b001000000:qo

7、ut=11b01011110111; 9b000100000:qout=11b01011001100; 9b000010000:qout=11b01001111110; 9b000001000:qout=11b01000111000; 9b000000100:qout=11b00111110101; 9b100000010:qout=11b00111011110; 9b010000010:qout=11b00110101010; 9b001000010:qout=11b00101111011; 9b000100010:qout=11b00101100110; 9b000010010:qout=

8、11b00100111111; 9b000001010:qout=11b00100011100; 9b000000110:qout=11b00011111011; 9b100000001:qout=11b11101111000; 9b010000001:qout=11b11010100110; 9b001000001:qout=11b10111101110; 9b000100001:qout=11b10110011000; 9b000010001:qout=11b10011111100; 9b000001001:qout=11b10001110000; 9b000000101:qout=11b

9、01111101010; 9b000000011:qout=11b00000000000; 9b000000001:qout=11b00000000000; 9b000000000:qout=11b00000000000; 9b000000010:qout=11b00000000000; default:qout0) begin if(qyuzhi) begin q=q+1; pl_out=0; end else begin q=11b00000000000; pl_out=1; end end else begin q=11b00000000000; pl_out=1; end end endmodule 五、原理图及仿真波形图 六、 心得体会 由于之前对本次设计所需知识了解较少,所以在实验过程中遇到了很多的困难,真的很难,但是同样在解决各种困难的过程中也有所收获。从书本上获得的知识跟实践之间具有很大的差距,这要求我们要加强锻炼自己的实际操作 能力。首先,在课程设计之前,要先了解我们要完成什么功能,否则做的任何努力都是无用功。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论