基于verilog语言简易电子琴设计-数字电子技术课程设计报告.docx
上传人:天马****23 上传时间:2024-09-12 格式:DOCX 页数:30 大小:2.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于verilog语言简易电子琴设计-数字电子技术课程设计报告.docx

基于verilog语言简易电子琴设计-数字电子技术课程设计报告.docx

预览

免费试读已结束,剩余 20 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数字电子技术课程设计报告基于verilogHDL语言的简易电子琴设计学院:__信息与控制工程学院________专业班级:___电气11级四班______________姓名:___商玉玺________________________学号:___11053421_____________________指导教师:___________________________________一、实验目的1、学习verilogHDL语言的基本运用,能够利用其进行简单编程;2、学习使用QuartusⅡ7.0的基本操作,能够利用其进行简单的设计;3、结合实践加深对理论知识的理解。二、设计题目用verilogHDl语言设计简易电子琴。三、题目要求(1)单独从左至右按下S1-S7每个按键后能够各自对应发出“哆来咪发唆啦西”的音乐声;(2)按下最右边按键(S8),同时再配合按下S1-S7键后,发高八度的对应音;(3)按键需要进行“消抖”处理;(4)外部输入脉冲信号频率为1mhz;(5)扩展要求:自主设计(增加低8度功能,自动播放一段音乐)。四、设计原理(1)喇叭的振动频率不同,导致产生不同的声音;振动频率越低,声音越低沉,振动频率越高,声音越尖锐。题目中音乐基本音的“哆”对应频率为523Hz、“来”对应频率为587Hz、“咪”对应频率为659Hz、“发”对应频率为698Hz、“唆”对应频率为784Hz、“啦”对应频率为880Hz、“西”对应频率为998Hz。低8度音:基本音频率/2,例如低音1的频率为523/2=261.5Hz。高8度音:基本音频率×2,例如高音1的频率为523×2=1046Hz.。不同的频率产生利用给定的时钟脉冲来进行分频实现。(2)消抖的原理:按键默认输入逻辑‘1’,当有按键按下时对应的输入为逻辑‘0’(但会存在抖动),当FPGA开始检测到该引脚从‘1’变为‘0’后开始定时(按键抖动时间大约10ms),定时时间结束后若该引脚仍然为‘0’则表示确实发生按键按下,否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。(3)原理框图四、管脚对应表信号名称对应FPGA管脚名说明1MHzL2基准时钟OUF3音频输出S1F8基本功能按键S2A14S3F10S4B16S5F12S6B17S7F15S8B18BT1M1扩展功能按键BT2M2BT3U12BT4U11五、实验过程1、设计按键防抖模块(1)设计程序modulexiaodou(rst,clk_1M,out);inputclk_1M;inputrst;outputout;wirerst;regout;reg[24:0]cnt;reg[2:0]state;parameterstate0=3'b000,state1=3'b001,state2=3'b010,state3=3'b011,state4=3'b100,state5=3'b101;always@(posedgeclk_1M)begincnt<=24'd0;case(state)state0:if(!rst)beginout=0;state<=state1;endelsestate<=state0;state1:beginout=0;cnt<=cnt+1;if(cnt==10000)state<=state2;elsebegin//out=1;state<=state1;endendstate2:if(!rst)state<=state3;elsestate<=state0;state3:if(!rst)beginout=1;cnt<=0;//state<=state3;endelsestate<=state4;state4:begincnt<=cnt+1;if(cnt==200000)beginout=1;state<=state5;endelsebeginout=1;state<=state4;end