nullnull
组员:
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
设计要求
输入时钟50MHz
设计一电路,模拟交通路口的交通灯,要求有倒计时显示
具体要求如下具体要求如下在十字路口的两个方向各设计一组红绿黄指示灯,显示顺序为:其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯;设置一组数码管,以倒计时的方式显示允许通过或禁止的时间,其中绿灯、黄灯、红灯的持续时间分别为20s、5s、25s。交通灯的工作规则交通灯的工作规则在十字路口的两个方向各设一组红、黄、绿灯,点亮顺序为:
南北方向:绿 黄 红
东西方向:红 绿 黄
交通灯轮流点亮的状态有4种稳定的循环工作状态,顺序为:
S0 S1
S2 S3 null交通灯点亮的状态转换规律
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
null
设计方案
关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
设计
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。
每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。
控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。
因控制模块和倒计时模块的工作原理和两者之 间的制约关系,把两个模块合并成一个模块。设计控制模块设计控制模块控制模块是系统的核心模块,为了保证倒计时的准确性,需要引入一个基准时钟信号clk。Rst是系统的复位信号,用于为系统设置初始状态。
模块的输出有两类信号:一类是控制灯的逻辑信号(1对应灯亮或0对应灯灭);一类是倒计时的BCD码实时结果。
该模块依次控制绿、黄、红灯的亮或灭,同时控制灯亮的持续时间。设计控制模块设计控制模块控制模块的端口资源
交通灯控制状态转换图
控制模块时钟信号rst红灯r黄灯y绿灯gtimh[3..0]Timl[3..0]红灯黄灯绿灯时间未到时间未到时间未到倒计时间到25S倒计时间到20s倒计时间到5s倒计时数的低位倒计时数的高位Timh[3..0]Timl[3..0]南北方向控制模块程序(部分)南北方向控制模块程序(部分)begin
if rst ='1'
then
state:=green; --设置系统初状态为绿灯亮
a:='0';
elsif clk'event and clk = '1' then
case state is
when green=>if a='0'then
th:=“0001”;tl:=“1001”; --设置绿灯倒计时为20s
a:='1';
g<=‘1’;r<=‘0’;y<=‘0’; --控制绿灯亮,红灯、黄灯灭
else --执行倒计时
if not(th="0000"and tl="0001")
then
if tl="0000"then
tl:="1001";th:=th-1;
else tl:=tl-1;
end if;
else th:="0000";tl:="0000";
a:='0';
state:=yellow; --倒计时时间到,进入黄灯亮状态
end if;
end if;东西方向控制模块程序(部分)东西方向控制模块程序(部分)begin
if rst ='1' then
state:=red; --设置系统初状态为红灯亮
a:='0';
elsif clk'event and clk = '1' then
case state is
when red=>if a='0'then
th:=“0010”;tl:=“0100”; --设置红灯倒计时为25s
a:='1';
g<=‘0’;r<=‘1’;y<=‘0’; --控制红灯亮,绿灯、黄灯灭
else --执行倒计时
if not(th="0000"and tl="0001")
then
if tl="0000"then
tl:="1001";th:=th-1;
else
tl:=tl-1;
end if;
else
th:="0000";tl:="0000";
a:='0';
state:=green; --倒计时时间到,进入绿灯亮状态
end if;
end if;设计显示模块设计显示模块显示模块由显示驱动电路和显示器件组成:每个方向有两个用于倒计时显示的七段数码管和3个交通灯;每个方向的驱动电路都有两个部分,一个用于驱动七段显示器,另一个用于驱动交通灯。
显示模块输出两类信号:一类输出到七段显示器;另一类是输出3个逻辑量分别控制3个交通灯。设计显示模块(单方向)设计显示模块(单方向)红黄绿ryg驱动电路ryg数码管8数码管7译码电路BCD码译码电路BCD码a b c d e f ga b c d e f gTimh[3..0]Timl[3..0]显示模块程序显示模块程序library ieee;
use ieee.std_logic_1164.all;
entity xianshi is
port
(datain:in std_logic_vector(3 downto 0);
clk:in std_logic;
bcdout:out std_logic_vector(6 downto 0)
);
end;
architecture behavior of xianshi is
begin
process(clk,datain)
begin
if clk'event and clk='1' then
case datain is
when"0000"=>bcdout<="1111110";when"0001"=>bcdout<="0110000";
when"0010"=>bcdout<="1101101";
when"0011"=>bcdout<="1111001";
when"0100"=>bcdout<="0110011";
when"0101"=>bcdout<="1011011";
when"0110"=>bcdout<="0011111";
when"0111"=>bcdout<="1110000";
when"1000"=>bcdout<="1111111";
when"1001"=>bcdout<="1110011";
when others=>null;
end case;
end if;
end process;
end;
顶层设计顶层设计library ieee ;
use ieee.std_logic_1164.all ;
use ieee.std_logic_unsigned.all ;
entity control is
port (clk, rst: in std_logic;
r1,g1,y1 : out std_logic;
timh1,timl1 : out std_logic_vector(3 downto 0);
r2,g2,y2 : out std_logic;
timh2,timl2 : out std_logic_vector(3 downto 0));
end;
architecture ml of control is
component cona is
port(clk, rst: in std_logic; r,g,y : out std_logic;
timh,timl : out
std_logic_vector(3 downto 0));
end component;
component conb is
port(clk, rst: in std_logic;
r,g,y : out std_logic;
timh,timl : out std_logic_vector(3 downto 0));
end component;
begin
ul:cona port map(rst=>rst,clk=>clk,r=>r1,g=>g1,
y=>y1,timh=>timh1,timl=>timl1);
u2:conb port map(rst=>rst,clk=>clk,r=>r2,g=>g2,
y=>y2,timh=>timh2,timl=>timl2);
end;
仿真波形仿真波形实验结果实验结果实验结果实验结果实验结果说明实验结果说明南北方向东西方向“timh1”“timl1”“timh2”“timl2”null