锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

国歌音乐、交通红绿灯的VHDL程序

时间:2024-05-17 08:07:10

LIBRARY E;
USE IEEE.D_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
EITY GUOGE IS
PORT(CLK,rst:in std_logic;
out_bit:OUT STD_LOGIC);
END GUOGE;
ARCHICTURE PVJ OF GUOGE IS
SIGNAL time:STD_LOGIC_(24 NTO 0);
signal music21:STD_LOGIC_VECTOR(8 DOWNTO 0);
SIGNAL L5,L6,L7,M1,M2,M3,M4,M5,M6:STD_LOGIC_VECTOR(16 DOWNTO 0);
SIGNAL LL5,LL6,LL7,C,MM1,MM2,MM3,MM4,MM5,MM6,X0:STD_LOGIC;
BEGIN
process(clk,rst)
begin
X0<='1';
if clk'event and clk='1' then time<=time+1; --将20M频率6分频
if L5=12755 then L5<="00000000000000000";LL5<=not LL5;
else L5<=L5+1;
end if;
if L6=11363 then L6<="00000000000000000";LL6<=not LL6;
else L6<=L6+1;
end if;
if L7=10124 then L7<="00000000000000000";LL7<=not LL7;
else L7<=L7+1;
end if;
if M1=9555 then M1<="00000000000000000";MM1<=not MM1;
else M1<=M1+1;
end if;
if M2=8513 then M2<="00000000000000000";MM2<=not MM2;
else M2<=M2+1;
end if;
if M3=7584 then M3<="00000000000000000";MM3<=not MM3;
else M3<=M3+1;
end if;
if M5=6377 then M5<="00000000000000000";MM5<=not MM5;
else M5<=M5+1;
end if;
if M6=5681 then M6<="00000000000000000";MM6<=not MM6;
else M6<=M6+1;
end if;
if time=2499999 then time<="0000000000000000000000000";c<='1';
else c<='0';
end if;
end if;
end process;
PROCESS(c,RST)
BEGIN
if c'event and c='1' then music21<=music21+1;
if music21=255 then music21<="000000000";
end if;
end if;
if music21>=0 and music21<=1 then out_bit<=LL5;END IF;--低音5 起
if music21>=2 and music21<=7 then out_bit<=MM1;END IF;--中音1 来
if music21>=8 and music21<=9 then out_bit<=MM1;END IF;--中音1 不
if music21>=10 and music21<=13 then out_bit<=MM1;END IF;--中音1 愿做
if music21>=14 and music21<=15 then out_bit<=LL5;END IF;--低音5 奴
if music21=16 then out_bit<=LL6;END IF; --低音6 隶
if music21=17 then out_bit<=LL7;END IF; --低音7 的
if music21>=18 and music21<=25 then out_bit<=MM1;END IF;--中音1 人们
if music21>=26 and music21<=27 then out_bit<=X0;END IF;--休止符
if music21>=28 and music21<=29 then out_bit<=MM3;END IF;--中音3 把
if music21>=30 and music21<=31 then out_bit<=MM1;END IF;--中音1 我
if music21=32 then out_bit<=MM2;END IF; --中音2 们
if music21=33 then out_bit<=MM3;END IF; --中音3 的
if music21>=34 and music21<=41 then out_bit<=MM5;END IF;--中音5 血肉
if music21>=42 and music21<=45 then out_bit<=MM3;END IF;--中音3 筑成
if music21>=46 and music21<=47 then out_bit<=MM1;END IF;--中音1 我
if music21=48 then out_bit<=MM3;END IF; --中音3 们
if music21>=49 and music21<=51 then out_bit<=MM5;END IF;--中音5 新
if music21=52 then out_bit<=MM3;END IF; --中音3 的
if music21>=53 and music21<=56 then out_bit<=MM2;END IF;--中音2 长
if music21>=57 and music21<=64 then out_bit<=MM2;END IF;--中音2 城
if music21>=65 and music21<=68 then out_bit<=MM6;END IF;--中音6 中
if music21>=69 and music21<=72 then out_bit<=MM5;END IF;--中音5 华
if music21>=73 and music21<=76 then out_bit<=MM2;END IF;--中音2 民
if music21>=77 and music21<=80 then out_bit<=MM3;END IF;--中音3 族
if music21>=81 and music21<=82 then out_bit<=MM5;END IF;--中音5 到
if music21>=83 and music21<=86 then out_bit<=MM3;END IF;--中音3 了
if music21>=87 and music21<=88 then out_bit<=MM5;END IF;--中音5 最
if music21>=89 and music21<=90 then out_bit<=MM3;END IF;--中音3 危
if music21=91 then out_bit<=MM2;END IF; --中音2 险
if music21=92 then out_bit<=MM3;END IF; --中音3 的
if music21>=93 and music21<=94 then out_bit<=MM1;END IF;--中音1 时
if music21=95 then out_bit<=MM2;END IF; --中音2
if music21>=96 and music21<=99 then out_bit<=MM3;END IF;--中音3 候
if music21>=100 and music21<=103 then out_bit<=X0;END IF; --休止符
if music21>=104 and music21<=106 then out_bit<=MM5;END IF;--中音5 每
if music21=107 then out_bit<=MM6;END IF; --低音6 个
if music21>=108 and music21<=111 then out_bit<=MM1;END IF;--中音1 人被
if music21>=112 and music21<=115 then out_bit<=MM3;END IF;--中音3 迫着
if music21>=116 and music21<=119 then out_bit<=MM5;END IF;--中音5 发出
if music21>=120 and music21<=123 then out_bit<=MM2;END IF;--中音2 最后的
if music21>=124 and music21<=127 then out_bit<=LL6;END IF;--低音6 吼
if music21>=128 and music21<=133 then out_bit<=MM2;END IF;--中音2 声
if music21>=134 and music21<=135 then out_bit<=LL5;END IF;--低音5 起
if music21>=136 and music21<=143 then out_bit<=MM1;END IF;--中音1 来!起
if music21>=144 and music21<=151 then out_bit<=MM3;END IF;--中音3 来!起
if music21>=152 and music21<=167 then out_bit<=MM5;END IF; --中音5 来!
if music21>=168 and music21<=170 then out_bit<=MM1;END IF; --中音1 我
if music21=171 then out_bit<=MM3;END IF; --中音3 们
if music21>=172 and music21<=175 then out_bit<=MM5;END IF; --中音5 万众
if music21>=176 and music21<=179 then out_bit<=MM6;END IF; --中音6 一
if music21>=180 and music21<=183 then out_bit<=MM5;END IF;--中音5 心
if music21>=184 and music21<=186 then out_bit<=MM3;END IF;--中音3 冒
if music21=187 then out_bit<=MM1;END IF; --中音1 着
if music21>=188 and music21<=191 then out_bit<=MM5;END IF;--中音5 敌人的
if music21>=192 and music21<=193 then out_bit<=MM3;END IF;----中音3 炮
if music21>=194 and music21<=195 then out_bit<=X0;END IF;
if music21>=196 and music21<=197 then out_bit<=MM1;END IF;--中音1 火
if music21>=198 and music21<=199 then out_bit<=X0;END IF;
if music21>=200 and music21<=203 then out_bit<=LL5;END IF;--低音5 前
if music21>=204 and music21<=207 then out_bit<=MM1;END IF;--中音1 进
if music21>=208 and music21<=210 then out_bit<=MM3;END IF;--低音3 冒
if music21=211 then out_bit<=MM1;END IF; --中音1 着
if music21>=212 and music21<=215 then out_bit<=MM5;END IF;--中音5 敌人的
if music21>=216 and music21<=217 then out_bit<=MM3;END IF;--中音3 炮
if music21>=218 and music21<=219 then out_bit<=X0;END IF;
if music21>=220 and music21<=221 then out_bit<=MM1;END IF;--中音1 火
if music21>=222 and music21<=223 then out_bit<=X0;END IF;
if music21>=224 and music21<=227 then out_bit<=LL5;END IF;--中音5 前
if music21>=228 and music21<=231 then out_bit<=MM1;END IF;--中音1 进
if music21>=232 and music21<=235 then out_bit<=LL5;END IF;--中音5 前
if music21>=236 and music21<=239 then out_bit<=MM1;END IF;--中音1 进
if music21>=240 and music21<=243 then out_bit<=LL5;END IF;--中音5 前
if music21>=244 and music21<=247 then out_bit<=MM1;END IF;--中音1 进
if music21>=248 and music21<=251 then out_bit<=MM1;END IF;--中音1 进
if music21>=252 and music21<=255 then out_bit<=X0;END IF;
IF RST='0' THEN MUSIC21<="000000000";END IF;
END PROCESS;
end;

交通信号灯程序:

十字路口的红绿黄除以红绿黄三色灯显示通行信号外,现在还增加了以红黄绿三色数字显示等待和持续的时间。以下程序经调试即可实现既有三色灯,又有三色数字显示的红绿灯交通信号。

Library ieee;
use ieee.std_logic_1164.all;
use ieee.std_LOGIC_unsigned.all;
entity JTRGY is
port( clk,T:in std_logic;
EWR,EWG,EWY,SNR,SNG,SNY:OUT STD_LOGIC;
XS:OUT STD_LOGIC_VECTOR(6 D

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章