乐曲硬件演奏电路的EDA设计(7)

2018-12-22 21:58

沈阳工程学院课程设计(论文)

附 录

程序1 顶层设计 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY Songer IS -- 顶层设计 PORT ( CLK12MHZ : IN STD_LOGIC; --音调频率信号 CLK8HZ : IN STD_LOGIC; --节拍频率信号 CODE1 : OUT INTEGER RANGE 0 TO 15;--音节输出 HIGH1 : OUT STD_LOGIC; --高音输出 SPKOUT : OUT STD_LOGIC );---扬声器 END;

ARCHITECTURE one OF Songer IS COMPONENT NoteTabs ---定义模块 PORT ( clk : IN STD_LOGIC;

ToneIndex : OUT INTEGER RANGE 0 TO 15 ); END COMPONENT; COMPONENT ToneTaba

PORT ( Index : IN INTEGER RANGE 0 TO 15; CODE : OUT INTEGER RANGE 0 TO 15; HIGH : OUT STD_LOGIC;

Tone : OUT INTEGER RANGE 0 TO 16#17FF# ); --13位2进制数 END COMPONENT; COMPONENT Speakera

PORT ( clk : IN STD_LOGIC;

Tone : IN INTEGER RANGE 0 TO 16#1FFF#; --13位2进制数 SpkS : OUT STD_LOGIC ); END COMPONENT;

SIGNAL Tone : INTEGER RANGE 0 TO 16#7FF#; SIGNAL ToneIndex : INTEGER RANGE 0 TO 15; BEGIN

-- 安装U1, U2, U3

- 24 -

沈阳工程学院课程设计(论文)

u1 : NoteTabs PORT MAP (clk=>CLK8HZ, ToneIndex=>ToneIndex);

u2:ToneTaba PORT MAP (Index=>ToneIndex, Tone=>Tone,CODE=>CODE1,HIGH=>HIGH1); u3 : Speakera PORT MAP(clk=>CLK12MHZ,Tone=>Tone, SpkS=>SPKOUT ); END;

------------------------------------------------------------------------------------------------------------------- 程序1 音乐节拍 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY NoteTabs IS

PORT ( clk : IN STD_LOGIC;

ToneIndex : OUT INTEGER RANGE 0 TO 15 ); END;

ARCHITECTURE one OF NoteTabs IS

SIGNAL Counter : INTEGER RANGE 0 TO 145; BEGIN

CNT8 : PROCESS(clk) BEGIN

IF Counter = 138 THEN Counter <= 0; ELSIF (clk'EVENT AND clk = '1') THEN Counter <= Counter + 1; END IF; END PROCESS;

Search : PROCESS(Counter) BEGIN

CASE Counter IS -- 译码器,查歌曲的乐谱表,查表结果为音调表的索引值

WHEN 00 => ToneIndex <= 5; WHEN 01 => ToneIndex <= 3; WHEN 02 => ToneIndex <= 5; WHEN 03 => ToneIndex <= 3; WHEN 04 => ToneIndex <= 2;

- 25 -

沈阳工程学院课程设计(论文)

WHEN 05 => ToneIndex <= 2; WHEN 06 => ToneIndex <= 2; WHEN 07 => ToneIndex <= 6; WHEN 08 => ToneIndex <= 8; WHEN 09 => ToneIndex <= 8; WHEN 10 => ToneIndex <= 8; WHEN 11 => ToneIndex <= 9; WHEN 12 => ToneIndex <= 6; WHEN 13 => ToneIndex <= 8; WHEN 14 => ToneIndex <= 5; WHEN 15 => ToneIndex <= 5; WHEN 16 => ToneIndex <= 12; WHEN 17 => ToneIndex <= 12; WHEN 18 => ToneIndex <= 12; WHEN 19 => ToneIndex <= 15; WHEN 20 => ToneIndex <= 13; WHEN 21 => ToneIndex <= 12; WHEN 22 => ToneIndex <= 10; WHEN 23 => ToneIndex <= 12; WHEN 24 => ToneIndex <= 9; WHEN 25 => ToneIndex <= 9; WHEN 26 => ToneIndex <= 9; WHEN 27 => ToneIndex <= 9; WHEN 28 => ToneIndex <= 9; WHEN 29 => ToneIndex <= 9; WHEN 30 => ToneIndex <= 9; WHEN 31 => ToneIndex <= 0; WHEN 32 => ToneIndex <= 9; WHEN 33 => ToneIndex <= 9; WHEN 34 => ToneIndex <= 9; WHEN 35 => ToneIndex <= 10; WHEN 36 => ToneIndex <= 7; WHEN 37 => ToneIndex <= 7;

- 26 -

沈阳工程学院课程设计(论文)

WHEN 38 => ToneIndex <= 6; WHEN 39 => ToneIndex <= 6; WHEN 40 => ToneIndex <= 5; WHEN 41 => ToneIndex <= 5; WHEN 42 => ToneIndex <= 5; WHEN 43 => ToneIndex <= 6; WHEN 44 => ToneIndex <= 8; WHEN 45 => ToneIndex <= 8; WHEN 46 => ToneIndex <= 9; WHEN 47 => ToneIndex <= 9; WHEN 48 => ToneIndex <= 3; WHEN 49 => ToneIndex <= 3; WHEN 50 => ToneIndex <= 8; WHEN 51 => ToneIndex <= 8; WHEN 52 => ToneIndex <= 6; WHEN 53 => ToneIndex <= 5; WHEN 54 => ToneIndex <= 6; WHEN 55 => ToneIndex <= 8; WHEN 56 => ToneIndex <= 5; WHEN 57 => ToneIndex <= 5; WHEN 58 => ToneIndex <= 5; WHEN 59 => ToneIndex <= 5; WHEN 60 => ToneIndex <= 5; WHEN 61 => ToneIndex <= 5; WHEN 62 => ToneIndex <= 5; WHEN 63 => ToneIndex <= 5; WHEN 64 => ToneIndex <= 10; WHEN 65 => ToneIndex <= 10; WHEN 66 => ToneIndex <= 10; WHEN 67 => ToneIndex <= 12; WHEN 68 => ToneIndex <= 7; WHEN 69 => ToneIndex <= 7; WHEN 70 => ToneIndex <= 9;

- 27 -

沈阳工程学院课程设计(论文)

WHEN 71 => ToneIndex <= 9; WHEN 72 => ToneIndex <= 6; WHEN 73 => ToneIndex <= 8; WHEN 74 => ToneIndex <= 5; WHEN 75 => ToneIndex <= 5; WHEN 76 => ToneIndex <= 5; WHEN 77 => ToneIndex <= 5; WHEN 78 => ToneIndex <= 5; WHEN 79 => ToneIndex <= 5; WHEN 80 => ToneIndex <= 3; WHEN 81 => ToneIndex <= 5; WHEN 82 => ToneIndex <= 3; WHEN 83 => ToneIndex <= 3; WHEN 84 => ToneIndex <= 5; WHEN 85 => ToneIndex <= 6; WHEN 86 => ToneIndex <= 7; WHEN 87 => ToneIndex <= 9; WHEN 88 => ToneIndex <= 6; WHEN 89 => ToneIndex <= 6; WHEN 90 => ToneIndex <= 6; WHEN 91 => ToneIndex <= 6; WHEN 92 => ToneIndex <= 6; WHEN 93 => ToneIndex <= 6; WHEN 94 => ToneIndex <= 5; WHEN 95 => ToneIndex <= 6; WHEN 96 => ToneIndex <= 8; WHEN 97 => ToneIndex <= 8; WHEN 98 => ToneIndex <= 8; WHEN 99 => ToneIndex <= 9; WHEN 100 => ToneIndex <= 12; WHEN 101 => ToneIndex <= 12; WHEN 102 => ToneIndex <= 12; WHEN 103 => ToneIndex <= 10;

- 28 -


乐曲硬件演奏电路的EDA设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外国文学_在线作业一及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: