问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

交通灯控制系统

发布网友 发布时间:2022-04-28 13:20

我来回答

2个回答

热心网友 时间:2023-10-10 03:08

你改一下名称就好了
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity hx is
port(clk:in std_logic;
A1,B1,C1,D1,A2,B2,C2,D2:out std_logic;
AR,AY,AG,BR,BY,BG,oe:out std_logic);
end hx;
architecture arch of hx is
type states is(s3,s2,s1,s0);
signal state:states:=s0;
signal next_state1:states:=s0;
signal count:std_logic_vector(2 downto 0);
signal count0:std_logic_vector(3 downto 0);
signal count1:std_logic_vector(3 downto 0);
signal data0:std_logic_vector(3 downto 0);
signal data1:std_logic_vector(3 downto 0);
signal light:std_logic_vector(5 downto 0);
signal en,load,carry:std_logic;
begin
p1:process(clk,load)
begin
if(rising_edge(clk))then
if load='1' then
count0<=data0;
elsif count0="0000"then
count0<="1001";
else
count0<=count0-'1';
end if;
end if;
end process p1;
p2:process(clk)
begin
if clk='0'then
if count0="0000"then
en<='1';
else
en<='0';
end if;
end if;
end process p2;
p3:process(clk,en)
begin
if(clk'event and clk='1')then
if en='1'then
if load='1'then
count1<=data1;
elsif count1="0000"then
count1<="0001";
else
count1<=count1-'1';
end if;
end if;
end if;
end process p3;
p4:process(clk)
begin
if(falling_edge(clk))then
if(count0="0000"and count1="0000")then
load<='1';
state<=next_state1;
else
load<='0';
--end if;
end if;
end if;
end process p4;
p5:process(state)
begin
case state is
when s0=>light<="001100";
next_state1<=s1;
data0<="0000";
data1<="0101";
when s1=>light<="010100";
next_state1<=s2;
data0<="0101";
data1<="0000";
when s2=>light<="100001";
next_state1<=s3;
data0<="0101";
data1<="0011";
when s3=>light<="100010";
next_state1<=s0;
data0<="0101";
data1<="0000";
end case;
end process p5;
A1<=count0(0);
B1<=count0(1);
C1<=count0(2);
D1<=count0(3);
A2<=count1(0);
B2<=count1(1);
C2<=count1(2);
D2<=count1(3);
oe<='0';
AR<=light(5);
AY<=light(4);
AG<=light(3);
BR<=light(2);
BY<=light(1);
BG<=light(0);
end arch;

热心网友 时间:2023-10-10 03:08

都是PLC控制的吧

热心网友 时间:2023-10-10 03:08

你改一下名称就好了
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity hx is
port(clk:in std_logic;
A1,B1,C1,D1,A2,B2,C2,D2:out std_logic;
AR,AY,AG,BR,BY,BG,oe:out std_logic);
end hx;
architecture arch of hx is
type states is(s3,s2,s1,s0);
signal state:states:=s0;
signal next_state1:states:=s0;
signal count:std_logic_vector(2 downto 0);
signal count0:std_logic_vector(3 downto 0);
signal count1:std_logic_vector(3 downto 0);
signal data0:std_logic_vector(3 downto 0);
signal data1:std_logic_vector(3 downto 0);
signal light:std_logic_vector(5 downto 0);
signal en,load,carry:std_logic;
begin
p1:process(clk,load)
begin
if(rising_edge(clk))then
if load='1' then
count0<=data0;
elsif count0="0000"then
count0<="1001";
else
count0<=count0-'1';
end if;
end if;
end process p1;
p2:process(clk)
begin
if clk='0'then
if count0="0000"then
en<='1';
else
en<='0';
end if;
end if;
end process p2;
p3:process(clk,en)
begin
if(clk'event and clk='1')then
if en='1'then
if load='1'then
count1<=data1;
elsif count1="0000"then
count1<="0001";
else
count1<=count1-'1';
end if;
end if;
end if;
end process p3;
p4:process(clk)
begin
if(falling_edge(clk))then
if(count0="0000"and count1="0000")then
load<='1';
state<=next_state1;
else
load<='0';
--end if;
end if;
end if;
end process p4;
p5:process(state)
begin
case state is
when s0=>light<="001100";
next_state1<=s1;
data0<="0000";
data1<="0101";
when s1=>light<="010100";
next_state1<=s2;
data0<="0101";
data1<="0000";
when s2=>light<="100001";
next_state1<=s3;
data0<="0101";
data1<="0011";
when s3=>light<="100010";
next_state1<=s0;
data0<="0101";
data1<="0000";
end case;
end process p5;
A1<=count0(0);
B1<=count0(1);
C1<=count0(2);
D1<=count0(3);
A2<=count1(0);
B2<=count1(1);
C2<=count1(2);
D2<=count1(3);
oe<='0';
AR<=light(5);
AY<=light(4);
AG<=light(3);
BR<=light(2);
BY<=light(1);
BG<=light(0);
end arch;

热心网友 时间:2023-10-10 03:08

都是PLC控制的吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见关在拘留所里的人又出了交通事故,是什么意思? ...我朋友前阵子撞死了人,没有违规,当时立即报案了,现在在拘留所... 醉驾出事故,车已经给修了,现在已经进拘留所十多天了,什么时候能判... 朋友因为工地伤亡事故被拘留,现在已经25天了,赔偿金也付了10多天了... 江淮帅铃国4??加油发动机抖动冒黑烟是怎么回事? ...只换机油和格,现在5万公里了,请需要换些什么东西 诗经·国风·中谷有蓷原文、译文以及鉴赏 求解签 情缘 下签 条其啸矣。遇人之不淑矣。 解曰:孽缘遮眼 强栖双... 条其啸矣 如何将域解除? 90Kw变频电机需要多大的开关控制 交通信号灯控制系统设计 90千瓦的ABB变频器需配多大的接触器 3台90KW变频器要装多少个散热风扇? 交通信号灯的红绿灯的变化是用什么控制的? 90KW的电动机需要多大功率的变频器来启动电动机? 微机原理交通信号灯控制系统 交通信号灯控制系统的设计 90KW电机需要多大的变频器 交通信号灯管理系统的主要功能有哪些? 智能红绿灯控制系统是属于开环控制系统还是闭环控制系统… 变频器110kw/90kw是什么意思? 交通信号灯自动控制系统 交通信号灯控制系统 90KW的巡检柜,里面的变频器是配多大的? 90kw潜水泵变频器启动设置多长时间比较好? 90千瓦变频器多少钱 90kW电动机变频器起动跳停保护是什么问题? 孕妇护肤品排行 什么情况下窗户上会结冰花 90KW 潜水泵,要用三菱或西门子的变频器,请问什么型号合适呢,还有就是变频器的安装尺寸和占用电箱空间。 90kw的水泵要用多大的西门子变频器 汇编(交通灯控制系统) 梦见很多硬币钱都买在地下,然后我一直挖一直挖,越挖越多,而且不止一次做这个梦,求解。 变频器控制90千瓦的电动机,需要配用多少平方的铜电线 90kw变频器带37kw空压机时,刚启动切换三角运行时,就跳了,空压机显示主电机过载。为什么呢 上婚恋网站的有多少人是为了找对象? 梦见从庙里菜地下挖出钱来 在婚恋网站找对象靠谱吗? 婚恋网相亲靠谱吗? 婚恋网站真的可以找到对象吗,会不会骗子比较多? 如何在婚恋网站上找到好老公? 身上起红疙瘩像蚊子咬的 冬天身上起了像蚊子咬的一样的疙瘩怎么办 那种逸生红娘的婚恋网站找对象靠谱吗? 身上突然觉得痒一挠就起像蚊子咬的包包,特别痒,一挠一大片,怎么了呢? 女子贷款13万婚恋网站相亲未果!现在的婚恋网站有多不靠谱? 身上出现像被蚊子咬的疙瘩是怎么回事 冬天身上起了像蚊子咬的一样的疙瘩怎么办? 我皮肤上出现很多像蚊子咬的包,怎么办啊?