中国高校课件下载中心 》 教学资源 》 大学文库

《数字电路与逻辑设计》课程实验指导(可编程逻辑实验)实验十一 电子琴电路设计

文档信息
资源类别:文库
文档格式:DOC
文档页数:4
文件大小:23.5KB
团购合买:点击进入团购
内容简介
《数字电路与逻辑设计》课程实验指导(可编程逻辑实验)实验十一 电子琴电路设计
刷新页面文档预览

实验十一电子琴电路设计 1.实验目的 学习利用数控分频器设计硬件电子琴。 2.实验原理 主系统由3个模块组成,例3是顶层设计文件,其内部由两个功能模块(如图1-所示): TONE.VHD(例2)和SPEAKER VHD(例I)。 模块TONE是音阶发生器,当8位发生控制输入NDEXZHONG中某一位为高电平时, 则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值:同时由CODE 输出对应该音阶简谱的 示数码,如“5 并由HⅢGH输出指示音节高8度显示。由例 可见,其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,例 Tone∝=l290是根据产生该音阶频率所对应的分频比获得的。 模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器 构成,。当模块SPEAKER由端口TONE获得一个2进制数后,将以此值为计数器的预置数, 对端口CLK12M业输入的频率进行分频,之后由SPEAKER向扬声器输出发声, 例1 SPEAKER数控分颜器设计。 源程序: Library ieee; Use iece.std_logic_1164.all; Entity speaker Port(clkl:in std_logic: Tonel:in integer range 0 to 16#7FF#; spks:out std logic; End: Architecture rtl of speaker is Signal preclk,fullspks:std logie. begin divideclk:Proces(clk1) variable count4:integer range 0 to 15; Begin preclks='0'. if count4>11 then preclk<= ount4:-0: elsif(clkl'event and clkl='1)then count4:=count4+1; end if. end process genspks:process(preclk,tonel)

实验十一 电子琴电路设计 1.实验目的 学习利用数控分频器设计硬件电子琴。 2.实验原理 主系统由 3 个模块组成,例 3 是顶层设计文件,其内部由两个功能模块(如图 11-所示): TONE.VHD(例 2)和 SPEAKER.VHD(例 1)。 模块 TONE 是音阶发生器,当 8 位发生控制输入 INDEXZHONG 中某一位为高电平时, 则对应某一音阶的数值将从端口 TONE 输出,作为获得该音阶的分频预置值;同时由 CODE 输出对应该音阶简谱的显示数码,如“5”,并由 HIGH 输出指示音节高 8 度显示。由例 2 可见,其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,例 Tone11 then preclk<=’1’; count4:=0; elsif( clk1'event and clk1='1')then count4:=count4+1; end if; end process; genspks:process(preclk,tone1)

variable count11:integer range 0 to 16#7FF#; Begin if count11=16#7FF#then countll:=tonel: fullspkstonetonetone<=1036:code<=3:high<='0

variable count11:integer range 0 to 16#7FF#; Begin if ( preclk'event and preclk='1')then if count11=16#7FF# then count11:=tone1; fullspkstonetonetone<=1036;code<=3;high<=’0’;

when“00001000"=>tone=1116:code=4:hightone1197,codetone=1290codetone=1372:codetonetoneindexl,tone=>tone2, code=>codel.high=>high1): u2:speaker port map(clkI=>clk12MHz.tonel=>tone2. spks->spkout): End; 3.实验内容 3.1编译适配以上3个示例文件,给出仿真波形,最后进行下载和硬件测试实验

When “00001000”=>tonetonetonetonetonetoneindex1,tone=>tone2, code=>code1,high=>high1); u2:speaker port map(clk1=>clk12MHz,tone1=>tone2, spks=>spkout); End; 3.实验内容 3.1 编译适配以上 3 个示例文件,给出仿真波形,最后进行下载和硬件测试实验

3.2在原设计的基础上,增加一个NOT正TABS模块(如图12-所示),用于产生节拍 控制(INDEX数据存留时间)和音阶选择信号,即在NOTETABS模块放置一个乐曲曲谱真 一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐 值表,风可个吸的东演泰定取收武,报 EDA实验系统上的FPGA目标器件中实现。 3.3利用核LPM_ROM和FPGA中的EAB设计一个ROM,用于存储演奏歌曲的曲谱, 重新设计此实验,争取可以在一个ROM装上多首歌曲 4.注意事项 电路工作之前应进行初始化 5.预习要求 (1)完成实验内容。的电路设计任务。 (2)分析本实验例1中的进程delayspks对扬声器的影响。 (3)分析怎样用数字器件直接输出的方波驱动扬声器发生 6.实验报告 用仿真波形和电路原理图,详细叙述硬件电子琴的工作原理及其3个VHDL文件中项关 语句的功能,叙述硬件实验情况,提出硬件乐曲演奏电路的设计和实验方案

3.2 在原设计的基础上,增加一个 NOTETABS 模块(如图 12-所示),用于产生节拍 控制(INDEX 数据存留时间)和音阶选择信号,即在 NOTETABS 模块放置一个乐曲曲谱真 值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐 曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。完成此项设计,并在 EDA 实验系统上的 FPGA 目标器件中实现。 3.3 利用核 LPM_ROM 和 FPGA 中的 EAB 设计一个 ROM,用于存储演奏歌曲的曲谱, 重新设计此实验,争取可以在一个 ROM 装上多首歌曲。 4.注意事项 电路工作之前应进行初始化。 5.预习要求 (1)完成实验内容。的电路设计任务。 (2)分析本实验例 1 中的进程 delayspks 对扬声器的影响。 (3)分析怎样用数字器件直接输出的方波驱动扬声器发生。 6.实验报告 用仿真波形和电路原理图,详细叙述硬件电子琴的工作原理及其 3 个 VHDL 文件中项关 语句的功能,叙述硬件实验情况,提出硬件乐曲演奏电路的设计和实验方案

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档