资讯详情

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

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百科大全!

锐单商城 - 一站式电子元器件采购平台