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

📄 zhiyin.vhd

📁 八音自动播放电子琴设计
💻 VHD
📖 第 1 页 / 共 4 页
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity zhiyin is
      port( clk,enable :in std_logic;  
           yuepu :out integer range 0 to 21);
end zhiyin;
 
architecture zhi of zhiyin is
   signal count1 :integer range 0 to 6143999;
   signal count2 :integer range 0 to 438;
   signal count3 :integer range 0 to 747;
   signal clk_temp :std_logic;
   

begin 
   process(clk)
   begin  
     if (clk'event and clk='1')then
        if (count1=6143999) then 
            count1<=0;clk_temp<='1';
        else
           count1<=count1+1; clk_temp<='0';
        end if;
     end if;
   end process;
   
   process(clk_temp,enable)
   begin 
     
       if (clk_temp'event and clk_temp='1')then
            if ( count2=438) then 
                 count2<=0;
            else 
                count2<=count2+1;
            end if;
        end if;
   
   end process;
  
  process(clk_temp,enable)
   begin 

     if (clk_temp'event and clk_temp='1')then
            if ( count3=747) then 
                 count3<=0;
            else 
                count3<=count3+1;
            end if;
      end if;
   
  end process;

process(enable)
     begin
       if(enable='1')then
        
             case count2 is 
                    when 0 => yuepu <=6;    --1  
                    when 1 => yuepu <=6;
                    when 2 => yuepu <=5;      
                    when 3 => yuepu <=6;
                    when 4 => yuepu <=6 ;                                
                    when 5 => yuepu <=8;
                    when 6 => yuepu <=8;
                    when 7 => yuepu <=8;
                    
                    when 8 => yuepu <=0;     --2
                    when 9 => yuepu <=0;
                    when 10 => yuepu <=9;     
                    when 11 => yuepu <=9;
                    when 12 => yuepu <=8;
                    when 13 => yuepu <=9;
                    when 14 => yuepu <=9;
                    when 15 => yuepu <=6;
                    when 16 => yuepu <=0;
                    when 17 => yuepu <=8;
                    when 18 => yuepu <=9;
                    
                    when 19 => yuepu <=10;       --3
                    when 20 => yuepu <=10;
                    when 21 => yuepu <=10;
                    when 22 => yuepu <=10;
                    when 23 => yuepu <=10;
                    when 24 => yuepu <=10;
                    when 25 => yuepu <=10;
                    when 26 => yuepu <=10;
                    when 27 => yuepu <=9;      
                    when 28 => yuepu <=9;
                    when 29 => yuepu <=9;
                    when 30 => yuepu <=8;
                    
                    when 31 => yuepu <=9;        --4
                    when 32 => yuepu <=9;
                    when 33 => yuepu <=6;
                    when 34 => yuepu <=0;
                    when 35 => yuepu <=6;     
                    when 36 => yuepu <=5;
                    when 37 => yuepu <=6;
                    when 38 => yuepu <=6;
                    when 39 => yuepu <=0;
                    when 40 => yuepu <=8;                           
                    when 41 => yuepu <=9;
                    
                    when 42 => yuepu <=10;       --5
                    when 43 => yuepu <=10;
                    when 44 => yuepu <=10;
                    when 45 => yuepu <=10;    
                    when 46 => yuepu <=10;
                    when 47 => yuepu <=9;
                    when 48 => yuepu <=9;
                    when 49 => yuepu <=9;
                    when 50 => yuepu <=9;
                    when 51 => yuepu <=9;
                    when 52 => yuepu <=12;
                    
                    when 53 => yuepu <=13;    --6
                    when 54 => yuepu <=13;
                    when 55 => yuepu <=10;
                    when 56 => yuepu <=10;
                    when 57 => yuepu <=10;
                    when 58 => yuepu <=9;
                    when 59 => yuepu <=10;
                    when 60 => yuepu <=10;
                    when 61 => yuepu <=10;       
                    when 62 => yuepu <=9;
                    when 63 => yuepu <=8;
                    
                    when 64 => yuepu <=10;          --7
                    when 65 => yuepu <=10;
                    when 66 => yuepu <=10;
                    when 67 => yuepu <=10;
                    when 68 => yuepu <=10;
                    when 69 => yuepu <=10;
                    when 70 => yuepu <=9;
                    when 71 => yuepu <=9;
                    when 72 => yuepu <=9;
                    when 73 => yuepu <=9;
                    when 74 => yuepu <=9;
                    when 75 => yuepu <=12;                               
                    
                    when 76 => yuepu <=10;           --8
                    when 77 => yuepu <=10;     
                    when 78 => yuepu <=9;
                    when 79 => yuepu <=9;
                    when 80 => yuepu <=9;
                    when 81 => yuepu <=9;
                    when 82 => yuepu <=9;
                    when 83 => yuepu <=8;
                    when 84 => yuepu <=8;
                    when 85 => yuepu <=6;    
                    when 86 => yuepu <=7;
                    when 87 => yuepu <=6;
                    when 88 => yuepu <=5;
                    when 89 => yuepu <=5;
                    when 90 => yuepu <=5;
                    when 91 => yuepu <=0;
                    when 92 => yuepu <=0;
                    
                    when 93 => yuepu <=10;       --9
                    when 94 => yuepu <=10;
                    when 95 => yuepu <=9;
                    when 96 => yuepu <=9;
                    when 97 => yuepu <=9;
                    when 98 => yuepu <=9;
                    when 99 => yuepu <=9;
                    when 100 => yuepu <=8;
                    when 101 => yuepu <=8;    
                    when 102 => yuepu <=6;
                    
                    when 103 => yuepu <=9;     --10
                    when 104 => yuepu <=9;
                    when 105 => yuepu <=8;                             
                    when 106 => yuepu <=8;
                    when 107 => yuepu <=8;
                    when 108 => yuepu <=8;
                    when 109 => yuepu <=8; 
                    when 110 => yuepu <=0;     
                    when 111 => yuepu <=0;     
                    
                    when 112 => yuepu <=0;    --11
                    when 113 => yuepu <=13;   
                    when 114 => yuepu <=13;
                    when 115 => yuepu <=13;
                    when 116 => yuepu <=13;
                    when 117 => yuepu <=13;
                    when 118 => yuepu <=13;
                    when 119 => yuepu <=13;      
                    when 120 => yuepu <=12;
                    when 121 => yuepu <=10;
                    
                    when 122 => yuepu <=13;    --12
                    when 123 => yuepu <=13;
                    when 124 => yuepu <=12;
                    when 125 => yuepu <=12;
                    when 126 => yuepu <=12;
                    when 127 => yuepu <=10;       
                    when 128 => yuepu <=13;
                    when 129 => yuepu <=13;
                    when 130 => yuepu <=12;
                    when 131 => yuepu <=12;
                    when 132 => yuepu <=12;
                    
                    when 133 => yuepu <=0;    --13
                    when 134 => yuepu <=0;
                    when 135 => yuepu <=13;      
                    when 136 => yuepu <=13;
                    when 137 => yuepu <=13;
                    when 138 => yuepu <=13;
                    when 139 => yuepu <=13; 
                    when 140 => yuepu <=13;                             
                    when 141 => yuepu <=13;
                    when 142 => yuepu <=12;          
                    when 143 => yuepu <=10;
                    
                    when 144 => yuepu <=13;   --14
                    when 145 => yuepu <=13;
                    when 146 => yuepu <=12;                        
                    when 147 => yuepu <=12;
                    when 148 => yuepu <=10;
                    when 149 => yuepu <=12;
                    when 150 => yuepu <=12;     
                    when 151 => yuepu <=0;
                    when 152 => yuepu <=10;
                    when 153 => yuepu <=12;
                   
                    when 154 => yuepu <=13;    --15
                    when 155 => yuepu <=13;
                    when 156 => yuepu <=13;
                    when 157 => yuepu <=13;
                    when 158 => yuepu <=13;      
                    when 159 => yuepu <=14;
                    when 160 => yuepu <=14;
                    when 161 => yuepu <=14;       
                    when 162 => yuepu <=12;
                    
                    when 163 => yuepu <=15;     --16
                    when 164 => yuepu <=15;
                    when 165 => yuepu <=14;
                    when 166 => yuepu <=14;        
                    when 167 => yuepu <=13;
                    when 168 => yuepu <=13;
                    when 169 => yuepu <=13;
                    when 170 => yuepu <=10;
                    when 171 => yuepu <=9;
                    when 172 => yuepu <=8;
                    
                    when 173 => yuepu <=9;    --17
                    when 174 => yuepu <=9;
                    when 175 => yuepu <=9 ;      
                    when 176 => yuepu <=9;
                    when 177 => yuepu <=9;
                    when 178 => yuepu <=8;
                    when 179 => yuepu <=9;
                    when 180 => yuepu <=9;
                    when 181 => yuepu <=6;
                    when 182 => yuepu <=13;
                    when 183 => yuepu <=13;     
                    when 184 => yuepu <=10;
                    
                    when 185 => yuepu <=13;   --18
                    when 186 => yuepu <=13;
                    when 187 => yuepu <=13;
                    when 188 => yuepu <=12;
                    when 189 => yuepu <=13;
                    when 190 => yuepu <=12;
                    when 191 => yuepu <=12;
                    when 192 => yuepu <=12;    
                    when 193 => yuepu <=12;
                    
                    when 194 => yuepu <=0;   --19
                    when 195 => yuepu <=0;
                    when 196 => yuepu <=6;
                    when 197 => yuepu <=6;
                    when 198 => yuepu <=5;
                    when 199 => yuepu <=6;
                    when 200 => yuepu <=6;    
                    when 201 => yuepu <=8;
                    when 202 => yuepu <=8;
                    when 203 => yuepu <=8;
                    
                    when 204 => yuepu <=0;      --20                            
                    when 205 => yuepu <=0;
                    when 206 => yuepu <=9;
                    when 207 => yuepu <=9;    
                    when 208 => yuepu <=8;
                    when 209 => yuepu <=9;
                    when 210 => yuepu <=9;
                    when 211 => yuepu <=6;
                    when 212 => yuepu <=0;
                    when 213 => yuepu <=8;
                    when 214 => yuepu <=9;
                    
                    when 215 => yuepu <=10;     --21
                    when 216 => yuepu <=10;
                    when 217 => yuepu <=10;
                    when 218 => yuepu <=10;
                    when 219 => yuepu <=10;
                    when 220 => yuepu <=10;
                    when 221 => yuepu <=10;
                    when 222 => yuepu <=10;
                    when 223 => yuepu <=9;     
                    when 224 => yuepu <=9;
                    when 225 => yuepu <=9;
                    when 226 => yuepu <=8;
                    
                    when 227 => yuepu <=9;    --22
                    when 228 => yuepu <=9;
                    when 229 => yuepu <=6;
                    when 230 => yuepu <=0;
                    when 231 => yuepu <=6;   
                    when 232 => yuepu <=5;
                    when 233 => yuepu <=6;
                    when 234 => yuepu <=6;
                    when 235 => yuepu <=0;
                    when 236 => yuepu <=8;
                    when 237 => yuepu <=9;
                    
                    when 238 => yuepu <=10;   --23
                    when 239 => yuepu <=10;   
                    when 240 => yuepu <=10;                                
                    when 241 => yuepu <=10;
                    when 242 => yuepu <=10;
                    when 243 => yuepu <=10;
                    when 244 => yuepu <=9;
                    when 245 => yuepu <=9;
                    when 246 => yuepu <=9;
                    when 247 => yuepu <=9;        
                    when 248 => yuepu <=9;
                    when 249 => yuepu <=12;

⌨️ 快捷键说明

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