北邮数字逻辑课程设计_简易电子琴.doc

北邮数字逻辑课程设计_简易电子琴.doc

ID:50379429

大小:129.34 KB

页数:7页

时间:2020-03-05

北邮数字逻辑课程设计_简易电子琴.doc_第1页
北邮数字逻辑课程设计_简易电子琴.doc_第2页
北邮数字逻辑课程设计_简易电子琴.doc_第3页
北邮数字逻辑课程设计_简易电子琴.doc_第4页
北邮数字逻辑课程设计_简易电子琴.doc_第5页
资源描述:

《北邮数字逻辑课程设计_简易电子琴.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、简易电子琴实验报告综合设计:程序编写:实验报告撰写:北京邮电大学计算机学院某人一.实验目的1.掌握较复杂逻辑的设计和调试。2.掌握用VHDL语言设计数字逻辑电路。3.掌握ispLEVER软件的使用方法。4.掌握ISP器件的使用。5.用途:有电子琴的基本功能,可弹奏出简单的乐曲。二.实验器材1.在系统可编程逻辑器件1032E2.示波器3.逻辑测试笔4.TEC-5实验系统三.实验内容设计一个简易电子琴,有两种模式,既可以音阶弹奏,也可以自动播放乐曲。要求音阶弹奏的时候,可以弹奏高音低音一共14个不同音符,

2、自动播放乐曲的时候,要求可以按一定节奏自动播放一首预存在系统中的乐曲。四.实验设计原理从试验系统外部接入一个时钟信号,对时钟信号进行分频,可以得到不同分频的脉冲信号。当这个分频值设定为一定的数值时,就可以使试验系统的喇叭发出不同的音符,从而完成音阶演奏。自动演奏时,除了对外部时钟进行分频得到不同的音符外,还需要通过时钟信号对节拍进行控制,设置该音乐最短的音符为基本单位,一步一步往后执行,根据某个音符的节拍数来确定执行时间,从而可以按照节奏将一段音乐自动演奏出来。五.设计方案1.一共有14个琴键,表示中

3、音的1-7到低音的1-7,按照电子琴的排列布局来...安排琴键位置。2.根据不同音符的频率,用多模计数器对时钟信号进行分频,得到特定的脉冲信号,为了使信号稳定,需要对其进行翻转得到2分频信号再输出。3.综合原理图4.外部输入50kHz的时钟信号,根据下表用多模计数器对时钟信号进行分频,得到分频系数。低音部分音符(C)1234567频率(Hz)262294330349392440494模191170151143128114101高音部分音符(C)1234567频率(Hz)5205816586947818

4、931000模96867672645650六.程序实现*********************************实体部分*************************************libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityOrgenisport(moderm:instd_logic;--模式选择,0为音阶自演奏模式,

5、1为自动播放模式clk:instd_logic;--时钟信号Index:instd_logic_vector(13downto...0);--琴键选择信号,1表示选择摸个琴键,共有14个琴键,可以选择14个音,分别是低音1-7和中音1-7Code:outstd_logic_vector(6downto0);--七段发光二极管编码,用于显示弹奏的音符high:outstd_logic;--如果是中音,小灯亮,反之不亮tone0:inoutintegerrange0to2047;--分频系数result:

6、inoutstd_logic--输出音频信号);endOrgen;*******************************结构体部分************************************architectureOrgen_PlayerofOrgenis--程序使用的是50kHz的时钟信号beginSearch:process(Index,clk,moderm)--Search进程,根据琴键选择信号得到不同的分频系数variablestep:integerrange0to2000

7、;variablecount2:integerrange0to2000;begin***************************音阶演奏模式部分**********************************ifModerm='0'then--手动音阶演奏模式caseIndexiswhen"00000000000001"=>tone0<=96;Code<="0000110";high<='0';--1when"00000000000010"=>tone0<=85;Code<="101101

8、1";high<='0';--2when"00000000000100"=>tone0<=76;Code<="1001111";high<='0';--3when"00000000001000"=>tone0<=72;Code<="1100110";high<='0';--4when"00000000010000"=>tone0<=64;Code<="1101101";high<='0';--5when"00000000100000"=>tone0<=5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。