⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notetabs.vhd

📁 首先将核心板插在我们的EDA底板4.0上面,然后将板上的跳线J20 EXT_SEL跳到ON,也就是插上. 1。源文件保存在src目录
💻 VHD
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.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 138;
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 <= 3;       -- 简谱"3"音
            WHEN 01  => ToneIndex <= 3;       -- 发4个时钟节拍
            WHEN 02  => ToneIndex <= 3;
            WHEN 03  => ToneIndex <= 3;
            WHEN 04  => ToneIndex <= 5;       -- 简谱"5"音
            WHEN 05  => ToneIndex <= 5;       -- 发3个时钟节拍
            WHEN 06  => ToneIndex <= 5;
            WHEN 07  => ToneIndex <= 6;       -- 简谱"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;
            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;
            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;

            WHEN 104 => ToneIndex <= 9;
            WHEN 105 => ToneIndex <= 9;
            WHEN 106 => ToneIndex <= 10;
            WHEN 107 => ToneIndex <= 9;
            WHEN 108 => ToneIndex <= 8;
            WHEN 109 => ToneIndex <= 8;
            WHEN 110 => ToneIndex <= 6;
            WHEN 111 => ToneIndex <= 5;

            WHEN 112 => ToneIndex <= 3;
            WHEN 113 => ToneIndex <= 3;
            WHEN 114 => ToneIndex <= 3;
            WHEN 115 => ToneIndex <= 3;
            WHEN 116 => ToneIndex <= 8;
            WHEN 117 => ToneIndex <= 8;
            WHEN 118 => ToneIndex <= 8;
            WHEN 119 => ToneIndex <= 8;

            WHEN 120 => ToneIndex <= 6;
            WHEN 121 => ToneIndex <= 8;
            WHEN 122 => ToneIndex <= 6;
            WHEN 123 => ToneIndex <= 5;
            WHEN 124 => ToneIndex <= 3;
            WHEN 125 => ToneIndex <= 5;
            WHEN 126 => ToneIndex <= 6;
            WHEN 127 => ToneIndex <= 8;

            WHEN 128 => ToneIndex <= 5;
            WHEN 129 => ToneIndex <= 5;
            WHEN 130 => ToneIndex <= 5;
            WHEN 131 => ToneIndex <= 5;
            WHEN 132 => ToneIndex <= 5;
            WHEN 133 => ToneIndex <= 5;
            WHEN 134 => ToneIndex <= 5;
            WHEN 135 => ToneIndex <= 5;
                                              -- 程序过长,部分省略
            WHEN 136 => ToneIndex <= 0;       -- 简谱休止符à输出
            WHEN 137 => ToneIndex <= 0;       -- 频率为零
            WHEN 138 => ToneIndex <= 0;
            WHEN OTHERS => NULL;
        END CASE;
    END PROCESS;
END;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -