最新交通灯控制系统EDA实验报告

更新时间:2023-06-18 23:58:51 阅读: 评论:0

  ? 交通灯控制系统 EDA实验报告 2021
  姓名:
  学号:
  一、 课题名称 用状态机设计的交通信号控制系统。
  二、 实验目的 利用所学习的EDA相关知识,完成对交通灯控制系统的设计并实现,提高对所学知识的理解和利用熟练程度。
  三、 设计任务 设计一个十字路口交通控制系统,要求如下:
  a. 东西〔用A表示〕、南北〔用B表示〕方向均有绿灯、黄灯、红灯指示,持续时间分别是40秒、五秒和45秒,交通灯运行的切换示意图与时间关系如下。
  交通控制系统运行切换示意图
  更方向灯光时间关系
  b. 系统设有时钟,以倒计时的方式显示每一路允许通行的时间。
  c. 当东西或南北两路中任意一路出现特殊状况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,始终停止计时,东西、南北两路所有车辆禁止通行;当特殊状况结束后,系统恢复工作,继续正常运行。
  四、 实验过程 a. VHDL设计流程
  b. 交通控制系统顶层原理图如下,它主要由50MHz分频器〔devide50M〕、控制器〔control〕、45秒倒计时计数器〔m45〕、7字段译码器〔SEG7〕组成。
  1) 控制器的设计 控制器的逻辑符号如以下图。其中CLK为时钟输入信号;HOLD为紧急制动信号;ARED、AGREEN、AYELLOW分别为东西方向的红灯、绿灯、黄灯指示的输出信号;BRED、BGREEN、BYELLOW分别为南北方向的红灯、绿灯、黄灯指示的输出信号。
  控制器的VHDL描述文件control.vhd如下:
  library ieee; u ieee.std_logic_1164.all; u ieee.std_logic_unsigned.all;
  entity control is
  port(clk,hold:in std_logic;
  ared,agreen,ayellow,bred,bgreen,byellow:out std_logic); end control;
  architecture behavior of control is
  type state_type is (s0,s1,s2,s3,s4);
  signal current_state,next_state:state_type;
  signal counter : std_logic_vector(6 downto 0);
  begin synch:process begin
  wait until clk'event and clk='1';
trackingnumber
  if hold='0' then
  --当紧急制动信号有效时,计数器停止计数
admit
  counter<=counter;
  elpwa
  if counter<89 then
  counter<=counter+1;
  el
  counter<=(others=>'0');
  end if;
disappear是什么意思  end if;
  end process;
  process
  --待机状态 begin
  wait until clk'event and clk='1';
  current_state<=next_state; end process;
  state_trans:process(current_state) begin
  ca current_state is when s0=>
  if hold='0' then
  next_state<=s4;
  el
  if counter<39 then
  next_state<=s0;
  el
  next_state<=s1;
  end if;
  end if; when s1=>
  if hold='0' then
  next_state<=s4;
  el
  if counter<44 then
  next_state<=s1;
  ela nation
  next_state<=s2;
  end if;
cross cultural  end if; when s2=>
  if hold='0' then
  next_state<=s4;
  el
  if counter<84 then
  next_state<=s2;
  el
  next_state<=s3;
  end if;
  end if; when s3=>
  if hold='0' then
  next_state<=s4;不列颠哥伦比亚大学
  el
  if counter<89 then
  next_state<=s3;
  el
  next_state<=s0;
  end if;
  end if; when s4=>
  if hold='0' then
  next_state<=s4;
  el
  if counter<39 then
  next_state<=s0;
  elsif counter<44 then
  next_state<=s1;
  elsif counter<84 then
  next_state<=s2;
  elsif counter<89 then
  next_state<=s3;
  end if;
  end if; end ca; end process;
  output:process(current_state)
  --每种状态下两个路口红绿灯的状态描述 begin ca current_state is when s0=>
  ared<='0';
  agreen<='1';
  ayellow<='0';
  bred<='1';
concern是什么意思  bgreen<='0';
  byellow<='0'; when s1=>
  ared<='0';
  agreen<='0';
  ayellow<='1';
  bred<='1';
  bgreen<='0';
吸血鬼damon生活照
  byellow<='0'; when s2=>
  ared<='1';
重庆ui设计培训

本文发布于:2023-06-18 23:58:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/986899.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   红灯   运行   系统   控制器   知识   南北   黄灯
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图