EDA交通灯课程设计(得过优的哦)讲课稿

合集下载

eda交通灯课程设计

eda交通灯课程设计

eda交通灯课程设计一、教学目标本课程旨在让学生了解和掌握交通灯系统的基本原理和设计方法。

通过本课程的学习,学生将能够:1.知识目标:理解交通灯系统的原理和组成,包括信号灯、控制器、传感器等;掌握交通灯系统的设计和实施方法,包括硬件设计和软件编程。

2.技能目标:能够使用相关工具和软件进行交通灯系统的设计和仿真;具备一定的实际操作能力,能够进行交通灯系统的安装和调试。

3.情感态度价值观目标:培养学生对交通安全和秩序的重视,提高学生的社会责任感和公民意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.交通灯系统的原理和组成:介绍交通灯系统的工作原理和基本组成,包括信号灯、控制器、传感器等。

2.交通灯系统的设计和实施:讲解交通灯系统的设计方法和步骤,包括硬件设计和软件编程。

3.交通灯系统的仿真和实验:使用相关工具和软件进行交通灯系统的仿真,并进行实际操作和实验。

4.交通安全和秩序的重要性:强调交通安全和秩序对社会的的重要性,培养学生的社会责任感和公民意识。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:讲解交通灯系统的原理和组成,设计和实施方法等基本知识。

2.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的思维能力和团队合作能力。

3.案例分析法:分析真实的交通灯系统案例,让学生了解交通灯系统的实际应用和效果。

4.实验法:进行交通灯系统的仿真和实验,让学生亲身体验交通灯系统的设计和实施过程。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选择一本适合学生水平的交通灯系统设计教材,作为学生学习的基本参考资料。

2.参考书:提供一些相关的参考书籍,供学生深入学习和研究。

3.多媒体资料:制作一些教学PPT、视频等多媒体资料,帮助学生更好地理解和掌握交通灯系统的原理和设计方法。

4.实验设备:准备一些实验设备,包括交通灯控制器、传感器等,供学生进行实际操作和实验。

eda交通灯课程设计

eda交通灯课程设计

eda交通灯课程设计一、课程目标知识目标:1. 学生能理解并掌握EDA交通灯的基本原理,包括信号灯的工作原理、时序控制等。

2. 学生能够运用所学知识,分析并设计简单的交通灯控制系统。

3. 学生了解交通灯在现实生活中的应用,认识到其在交通安全中的重要性。

技能目标:1. 学生能够运用EDA软件进行交通灯电路的设计与仿真。

2. 学生通过小组合作,提高沟通协调能力和团队协作能力。

3. 学生掌握基本电路调试方法,具备解决实际问题的能力。

情感态度价值观目标:1. 学生培养对电子设计与应用的兴趣,激发创新意识。

2. 学生认识到交通灯在保障交通安全、提高道路通行效率方面的重要性,增强社会责任感。

3. 学生在学习过程中,培养严谨、细致、勇于探索的科学态度。

本课程针对初中年级学生,结合学科特点,注重理论与实践相结合,以提高学生的动手能力和创新能力。

在教学过程中,教师需关注学生的个体差异,激发学生的学习兴趣,鼓励学生积极参与讨论和实践,培养其团队协作能力。

通过本课程的学习,期望学生能够掌握交通灯的基本原理,提高电子设计与应用能力,并树立正确的价值观。

二、教学内容本章节教学内容主要包括以下三个方面:1. 交通灯基本原理:- 介绍交通灯的起源、发展及其在现代交通中的应用。

- 讲解交通灯的信号控制原理,包括红绿灯的切换机制和时序控制。

2. EDA软件应用:- 介绍EDA软件的基本功能和使用方法。

- 结合教材章节,教授如何使用EDA软件进行交通灯电路设计与仿真。

3. 实践操作与小组讨论:- 安排学生进行交通灯电路设计实践,指导学生完成电路搭建、调试与优化。

- 组织小组讨论,让学生分享设计心得,互相学习,提高团队协作能力。

教学大纲安排如下:第一课时:交通灯基本原理介绍,占总课时的1/4。

第二课时:EDA软件应用教学,占总课时的1/4。

第三课时:实践操作与小组讨论,占总课时的1/2。

教学内容与教材紧密关联,确保科学性和系统性。

在教学过程中,教师需关注学生对知识点的掌握情况,及时调整教学进度,确保教学效果。

EDA交通灯控制器课程设计

EDA交通灯控制器课程设计

交通灯控制器课程设计该交通信号控制器控制十字路甲、乙两条道路的红、黄和绿三色灯,指挥车辆和行人安全通行。

功能要求如下:1.只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。

2.当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的时间。

(20s)3.高速公路灯转为绿色后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定的时间内保持绿灯。

(60s)。

设计如下:——1hz分频器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fen_pin1 isport(clk100hz:in std_logic;clk1hz:out std_logic);end fen_pin1;architecture bhv of fen_pin1 issignal qan:std_logic_vector(3 downto 0); signal qbn:std_logic_vector(3 downto 0); signal cin:std_logic;beginprocess(clk100hz)beginif(clk100hz'event and clk100hz='1')thenif qan="1001"then qan<="0000";cin<='1';else qan<=qan+1;cin<='0';end if;end if;end process;process(clk100hz,cin)beginif(clk100hz'event and clk100hz='1')thenif cin='1' thenif qbn="1001" then qbn<="0000";else qbn<=qbn+1;end if ;end if ;end if ;end process;process(qan,qbn)beginif (qan="1001"and qbn="1001")then clk1hz<='1'; else clk1hz<='0';end if;end process;end bhv;——2hz分频器library ieee;use ieee.std_logic_1164.all;entity fen_pin2 isport (clk100hz:in std_logic;clk2hz:out std_logic);end fen_pin2;architecture bhv of fen_pin2 isbeginprocess(clk100hz)variable cnt:integer range 0 to 24;variable tmp:std_logic;beginif(clk100hz'event and clk100hz='1')thenif cnt=24 thencnt:=0;tmp:=not tmp;elsecnt:=cnt+1;end if;end if;clk2hz<=tmp;end process;end bhv;——主干道控制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity contralz isport(clk:in std_logic;ra,ga,ya:out std_logic;timeah,timeal:out std_logic_vector(3 downto 0)); end contralz;architecture bhv of contralz istype rg is(green,red,yellow2);beginprocess(clk)variable a:std_logic;variable th,tl:std_logic_vector(3 downto 0);variable state:rg;beginif clk'event and clk='1'thencase state iswhen green=>if a='0'thenth:="0101";tl:="1001";a:='1';ga<='1';ra<='0';ya<='0';elseif not(th="0000"and tl="0001")thenif tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;elseth:="0000";tl:="0000";a:='0';state:=red;end if;end if;when red=>if a='0'thenth:="0001";tl:="1001";a:='1';ra<='1';ya<='0';ga<='0';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;end if;elseth:="0000";tl:="0000";a:='0';ra<='0';ga<='0';state:=yellow2;end if;end if;when yellow2=>if a='0'thenth:="0000";tl:="1001";a:='1';ya<='1';ga<='0';ra<='0';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;tl:=tl-1;end if;elseth:="0000";tl:="0000";ga<='0';ra<='0';ya<='0';a:='0';state:=green;end if;end if;end case;end if;timeah<=th;timeal<=tl;end process;end bhv;——支路控制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity contralx isport(clk:in std_logic;rb,gb,yb,chu:out std_logic;timeah,timeal:out std_logic_vector(3 downto 0)); end contralx;architecture bhv of contralx istype rgy is(red,yellow1,green,yellow2);beginprocess(clk)variable a:std_logic;variable th,tl:std_logic_vector(3 downto 0);variable state:rgy;beginif clk'event and clk='1'thencase state iswhen yellow1=>if a='0'thenth:="0000";tl:="0100";a:='1';yb<='1';gb<='0';chu<='1';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;end if;elseth:="0000";tl:="0000";a:='0';state:=green;end if;end if;when green=>if a='0'thenth:="0001";tl:="1001";a:='1';gb<='1';rb<='0';yb<='0';chu<='1';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;end if;elseth:="0000";tl:="0000";a:='0';state:=yellow2;end if;end if;when red=>if a='0'thenth:="0101";tl:="0100";a:='1';yb<='0';chu<='1';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;end if;elseth:="0000";tl:="0000";a:='0';state:=yellow1;end if;end if;when yellow2=>if a='0'thenth:="0000";tl:="0100";a:='1';yb<='1';gb<='0';rb<='0';chu<='1';elseif not(th="0000"and tl="0001")then if tl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;end if;elseth:="0000";tl:="0000";a:='0';chu<='0';state:=red;end if;end if;end case;end if;timeah<=th;timeal<=tl;end process;end bhv;——反馈器library ieee;use ieee.std_logic_1164.all;entity smen isport( sm ,re,gr,ye:in std_logic;jinji:out std_logic);end smen;architecture se of smen isbeginprocess isbeginif(sm='1' and re='0' and gr='0' and ye='0') then jinji<='1'; elsejinji<='0';end if;end process;end se;——消抖电路library ieee;use ieee.std_logic_1164.all;entity xiaodou isport(jinji,clk1hz:in std_logic;b:out std_logic);end xiaodou;architecture bhv of xiaodou issignal temp1:std_logic;beginprocess(clk1hz,jinji)variable temp2:std_logic;beginif(clk1hz'event and clk1hz='0')thentemp1<=jinji;temp2:=not temp1;end if;b<=temp1 and temp2 and clk1hz;end process;end bhv;——状态转换library ieee;use ieee.std_logic_1164.all;entity no isport(a:in std_logic;en:out std_logic);end no;architecture no_arc of no isbeginprocess(a)variable tmp:std_logic;beginif(a'event and a='1')thentmp:=not tmp;end if;en<=tmp;end process;end no_arc;——mux4llibrary ieee;use ieee.std_logic_1164.all;entity mux41 isport(sel:in std_logic_vector(2 downto 0);d0,d1,d2,d3:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0);so:out std_logic_vector(1 downto 0));end mux41;architecture bhv of mux41 isbeginprocess(sel)begincase sel iswhen"100"=>q<=d2;so<="00"; when"101"=>q<=d3;so<="01"; when"000"=>q<=d0;so<="10";when others=>q<=d1;so<="11";end case;end process;end bhv;——译码器library ieee;use ieee.std_logic_1164.all;entity dec7s isport(d:in std_logic_vector(3 downto 0);q0,q1,q2,q3,q4,q5,q6:out std_logic);end dec7s;architecture bhv of dec7s isbeginprocess(d)variable q:std_logic_vector(6 downto 0); begincase d iswhen"0000"=>q:="0111111"; when"0001"=>q:="0000110"; when"0010"=>q:="1011011"; when"0011"=>q:="1001111"; when"0100"=>q:="1100110"; when"0101"=>q:="1101101"; when"0110"=>q:="1111101"; when"0111"=>q:="0100111"; when"1000"=>q:="1111111"; when"1001"=>q:="1101111";when others=>q:="1111001";end case;q0<=q(0);q1<=q(1);q2<=q(2);q3<=q(3);q4<=q(4);q5<=q(5);q6<=q(6);end process;end bhv;--- - . -word 资料- 仿真图如下:Ya,ra,ga 表示主干道黄红绿灯;yb,rb,gb 表示乡村小路黄红绿灯。

毕业设计-EDA技术交通灯控制器(课程设计)

毕业设计-EDA技术交通灯控制器(课程设计)

课程设计报告课程设计:交通灯控制器一:实验目的:实现高速公路与乡间小路的交叉路口红绿灯的控制二:功能要求:1.只有在小路上发现汽车时,高速公路上的交通灯才可能变为红灯。

2.当汽车行驶在小路上时、小路的交通灯保持为绿灯,但不能超过给定的延迟时间.〔注;这段时间定义为20S时间)。

3.高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定的时间内保持高速公路绿灯(注:这段时间定义为60S)。

三:设计思路:五:VHDL源程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TrafficLight ISPORT (Clk : IN STD_LOGIC;S,Reset : IN STD_LOGIC;mg,my,mr,cg,cy,cr : OUT STD_LOGIC );END TrafficLight ;ARCHITECTURE rtl OF TrafficLight ISTYPE TrafficState IS (mgcr, mycr, mrcg, mrcy);SIGNAL current_state,next_state : TrafficState ;SIGNAL Count : STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL Clrn : STD_LOGIC ;BEGINCounter : PROCESS(clk)BEGINIF Reset = '1' OR (Clrn = '1' AND NOT(Count = "000000")) THEN Count <= "000000";ELSIF clk'EVENT AND clk = '1' THENIF NOT(s='0' AND current_state = mgcr) THEN Count <= Count + 1;END IF;END IF;END PROCESS Counter;StateTransition : PROCESS(clk,Count, current_state)BEGINIF Reset = '1' THEN next_state <= mgcr;Clrn <= '0';ELSIF clk'EVENT AND clk = '1' THENCASE current_state ISWHEN mgcr => mr<='0';mg<='1';my<='0';cr<='1';cg<='0';cy<='0';IF Count >= "111011" AND S = '1' THEN next_state <= mycr;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mycr => mr<='0';mg<='0';my<='1';cr<='1';cg<='0';cy<='0';IF Count >= "000100" THEN next_state <= mrcg;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mrcg => mr<='1';mg<='0';my<='0';cr<='0';cg<='1';cy<='0';IF Count >= "010011" OR S = '0' THEN next_state <= mrcy;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mrcy => mr<='1';mg<='0';my<='0';cr<='0';cg<='0';cy<='1';IF Count >= "000100" THEN next_state <= mgcr;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN OTHERS => NULL;END CASE;END IF;END PROCESS StateTransition;PROCESS(clk)BEGINIF clk'EVENT AND clk='1' THENcurrent_state <= next_state;END IF;END PROCESS;END rtl;仿真图如下:六:实验心得:通过本次课程设计,使用进一步熟悉了MAX-PLUSLL这种EDA软件工具。

EDA课程设计(交通灯控制器)

EDA课程设计(交通灯控制器)

课程设计年月日大课程设计任务书课程EDA技术课程设计题目交通灯控制器专业姓名学号主要内容、基本要求、主要参考资料等主要内容:设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

基本要求:1、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号,实验电路用逻辑开关代替。

2、主干道处于常允许通行的状态,支干道有车来时才允许通行。

主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。

3、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路,选择1HZ时钟脉冲作为系统时钟。

4、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。

主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限2010.3.12指导教师专业负责人2010年3月8日一、总体设计思想1.基本原理计数模块、置数模块、主控制器模块和译码器模块。

置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。

其中,核心部分是主控2.设计框图图一.交通灯控制系统的原理框图图二.交通灯控制器的流程图脉冲发生器 控制器 译码器甲车信号灯乙车信号灯定时器1.设计思路:在某一十字路口交叉地带,可设计东西走向的道路为甲车道,南北走向的道路为乙车道。

甲乙车道的交通灯需按交通法则来依次交替运行。

则可设计一个状态循环的逻辑电路。

2.分析系统的逻辑功能:交通灯控制系统的原理框图如图一所示。

EDA交通灯的课程设计

EDA交通灯的课程设计

EDA交通灯的课程设计一、课程目标知识目标:1. 让学生理解EDA交通灯的基本原理,掌握交通灯控制系统的设计方法和步骤。

2. 使学生掌握交通灯控制系统中各模块的功能和相互关系,如时钟模块、控制器模块、显示模块等。

3. 帮助学生了解交通灯控制系统的实际应用,提高对电子设计自动化技术的认识。

技能目标:1. 培养学生运用所学知识,设计并实现一个简单的EDA交通灯控制系统的能力。

2. 培养学生使用相关软件(如Multisim、Protel等)进行电路仿真、绘制和调试的能力。

3. 提高学生的团队协作和沟通能力,培养他们在项目实践中解决问题的能力。

情感态度价值观目标:1. 培养学生对电子设计自动化技术的兴趣,激发他们探索未知、创新实践的热情。

2. 培养学生关注社会问题,认识到交通灯控制系统在提高道路通行效率、保障交通安全方面的重要性。

3. 引导学生树立正确的价值观,认识到科技发展应服务于社会、造福于人类。

课程性质:本课程为实践性较强的电子设计课程,以项目为导向,注重培养学生的实际操作能力和团队协作能力。

学生特点:学生具备一定的电子技术基础知识,具有较强的学习兴趣和动手能力,但对EDA技术及其应用尚不熟悉。

教学要求:结合学生特点,采用讲授与实践相结合的教学方法,注重引导学生主动参与、积极探索,提高他们的实际操作能力和创新能力。

在教学过程中,关注学生的个体差异,给予个性化的指导和支持。

通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程的学习和实践奠定基础。

二、教学内容1. 交通灯控制系统概述:介绍交通灯控制系统的基本概念、分类及其在现实生活中的应用。

相关教材章节:第一章 电子设计自动化概述2. EDA技术基础:讲解EDA技术的基本原理、发展历程和常用软件工具。

相关教材章节:第二章 EDA技术基础3. 交通灯控制器设计:a. 时钟模块设计:介绍时钟电路的原理与设计方法。

b. 控制器模块设计:讲解控制器的工作原理、编程方法。

eda交通灯控制器课程设计

eda交通灯控制器课程设计

eda交通灯控制器课程设计课程设计:EDA交通灯控制器1. 课程背景和目标:EDA交通灯控制器是使用EDA(电子设计自动化)工具进行交通灯控制系统设计的课程。

学习该课程的目标是使学生能够熟练运用EDA工具进行交通灯控制系统设计,并能够理解交通灯控制系统的原理和设计方法。

2. 课程内容和安排:(1) 交通灯控制系统原理介绍:介绍交通灯控制系统的基本原理,包括信号机、信号控制方法和交通流量检测等。

(2) EDA工具介绍:介绍常用的EDA工具,如Verilog、VHDL等,并讲解其基本使用方法。

(3) 交通灯控制器设计流程:介绍交通灯控制器的设计流程,包括需求分析、功能设计、模块设计和系统集成等。

(4) 交通灯控制器设计实践:学生通过实践项目,使用EDA工具设计交通灯控制器。

项目涵盖设计、仿真、验证和生成等环节,学生需要独立完成设计并提交设计报告。

3. 课程教学方法:(1) 理论讲解:通过课堂讲解,介绍交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。

(2) 实践项目:学生通过实践项目,运用所学知识设计交通灯控制器,并进行仿真、验证和生成等环节。

(3) 讨论和案例分析:通过课堂讨论和案例分析,加深学生对交通灯控制系统的理解和应用能力。

(4) 指导和批评:教师对学生的设计进行指导和批评,帮助学生不断提高设计能力。

4. 评估方式:(1) 实践项目报告:学生独立完成实践项目,并提交设计报告,包括设计过程、仿真结果和验证结果等。

(2) 课堂测试:通过课堂测试检验学生对交通灯控制系统原理和EDA工具的理解程度。

(3) 课堂表现:评估学生的课堂出勤情况、学习态度和参与度等。

5. 参考教材:(1) 《交通信号控制原理与技术》高新泽(2) 《EDA与数字电路设计》陈骏等(3) 《数字电路与系统设计》刘敏衡等(4) 《系统设计自动化技术与EDA工具应用》杨学庆等以上是对EDA交通灯控制器课程设计的简要介绍。

课程内容涵盖了交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。

eda交通控制灯课程设计

eda交通控制灯课程设计

eda 交通控制灯课程设计一、课程目标知识目标:1. 学生能够理解并掌握交通控制灯(红绿灯)的基本原理和工作机制。

2. 学生能够描述EDA(电子设计自动化)工具在交通控制灯设计中的应用。

3. 学生能够解释交通控制灯系统中涉及的基础电子元件及其功能。

技能目标:1. 学生能够运用EDA软件完成交通控制灯电路图的绘制。

2. 学生能够通过编程实现对交通控制灯系统的简单控制逻辑。

3. 学生能够运用团队协作和问题解决技能,设计和优化交通控制灯系统。

情感态度价值观目标:1. 培养学生对电子工程领域的兴趣,激发创新意识和探索精神。

2. 增强学生的环保意识和交通安全意识,认识到交通控制灯在现代社会中的重要性。

3. 培养学生的团队协作意识,学会尊重他人意见,共同解决问题。

课程性质:本课程结合了电子技术与实际应用,注重理论与实践相结合,以项目为导向,提升学生的综合技能。

学生特点:假设学生为初中年级,具有一定的电子元件知识基础,对新技术的学习充满好奇,具备基本的计算机操作能力。

教学要求:课程需注重实践性,通过互动式教学和团队协作,使学生在动手实践中理解和掌握知识,提高问题解决能力。

同时,强调安全意识和责任感,培养符合社会主义核心价值观的技能人才。

二、教学内容1. 交通控制灯基础知识:- 红绿灯工作原理介绍- 交通控制灯系统的组成与功能- 交通控制灯在交通安全中的作用2. EDA工具的应用:- EDA软件的认识与基本操作- 交通控制灯电路图的绘制方法- 电路仿真与调试技巧3. 交通控制灯电路设计与制作:- 基本电子元件的选择与应用- 交通控制灯控制逻辑的编写与实现- 电路板设计与焊接技巧4. 项目实践与优化:- 团队协作设计与制作交通控制灯系统- 控制逻辑优化与功能拓展- 作品展示与评价教学内容安排与进度:第一课时:交通控制灯基础知识学习第二课时:EDA软件的认识与基本操作第三课时:交通控制灯电路图绘制与仿真第四课时:电路设计与制作第五课时:项目实践与优化第六课时:作品展示与评价教材章节关联:教学内容与教材中“电子技术应用”章节相关,涉及电子元件、电路设计、EDA工具应用等方面的知识。

EDA课程设计——交通灯

EDA课程设计——交通灯

EDA课程设计——交通灯实验报告设计题目:交通信号操纵器班级:学号:姓名:指导老师:设计时刻:2011年4月交通信号操纵器的VHDL设计一、设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯操纵器。

要求:交通灯从绿变红时,有4秒黄灯亮的间隔时刻;交通灯红变绿是直截了当进行的,没有间隔时刻;主干道上的绿灯时刻为40秒,支干道的绿灯时刻为20秒;在任意时刻,显示每个状态到该状态终止所需的时刻。

支干道图1 路口交通治理示意图表1 交通信号灯的4种状态二、设计目的:设计交通灯操纵系统要紧是为了实现都市十字交叉路口红绿灯的操纵。

通过对QuartusII软件使用方法与技巧的学习,把握VHDL程序设计的实现,熟悉可编程逻辑器件的使用。

同时加深对交通灯操纵系统的了解与应用。

设计方案:时刻显图2 交通信号灯操纵器的原理框图信号灯输出图3 交通信号灯操纵器程序原理框图四、程序清单和讲明:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRAFFIC ISPORT (CLK: IN STD_LOGIC;LED7S1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管高位显示数字LED7S2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管低位显示数字LIGHT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0));--各交通灯显示END ENTITY;ARCHITECTURE ONE OF TRAFFIC ISTYPE STATES IS( STA, STB, STC, STE);--定义状态变量SIGNAL ST0:STATES;SIGNAL ST1:STATES;SIGNAL FULL: STD_LOGIC;SIGNAL FOUT: STD_LOGIC;时钟输出信号(秒频)SIGNAL TIME: STD_LOGIC_VECTOR(6 DOWNTO 0);时刻计数值SIGNAL TIME_LEFT: STD_LOGIC_VECTOR(6 DOWNTO 0);显示时刻剩余值SIGNAL T_HIGH:STD_LOGIC_VECTOR(1 DOWNTO 0);高位显示SIGNAL T_LOW:STD_LOGIC_VECTOR(6 DOWNTO 0);低位显示BEGINPROCESS(CLK) --秒脉冲产生进程(分频作用)V ARIABLE CNT8: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF CNT8="11111111" THENCNT8:="00000000"; --当CNT8计数计满时,给计数器CNT8预置数FULL<='1'; --同时使溢出标志信号FULL输出为高电平ELSE CNT8:=CNT8+1; --否则连续作加1计数FULL<='0'; --且输出溢出标志信号FULL为低电平END IF;END IF;END PROCESS;PROCESS(FULL)V ARIABLE CNT2: STD_LOGIC;BEGINIF FULL'EVENT AND FULL='1'THENCNT2:=NOT CNT2;IF CNT2='1' THEN FOUT<='1'; ELSE FOUT<='0';END IF;END IF;END PROCESS;--FOUT输出是时钟信号PROCESS(FOUT) --计数模块。

EDA课程实训设计交通信号灯设计实现

EDA课程实训设计交通信号灯设计实现

EDA课程实训设计交通信号灯设计实现本文主要介绍我们的EDA课程实训设计——交通信号灯设计实现。

一、实训背景随着城市化的不断加速,交通拥堵已成为我们生活中的一个严重问题。

交通信号灯系统是城市道路上必不可少的设施,对于城市交通流的控制起着重要的作用。

因此,通过本次实训,我们将学习如何设计和实现一个交通信号灯系统。

二、实训目的本次实训的主要目的如下:1.理解EDA(Electronic Design Automation)电子设计自动化工具的作用和基本使用方法。

2.了解PLD(Programmable Logic Device)可编程逻辑器件的基本知识。

3.学习如何使用EDA工具进行原理图的绘制和电路仿真。

4.实现一个简单的交通信号灯系统,并掌握系统的原理和设计方法。

三、实训内容本次实训的内容主要包括如下几个方面:1.交通信号灯系统的原理与设计首先,我们需要了解交通信号灯系统的原理。

交通信号灯系统分为控制器、交通信号灯和控制线路三个部分,其中控制器是指用于控制信号灯状态的设备,交通信号灯是指道路上设置的红、黄、绿三种颜色的灯,控制线路是指用于实现控制信号灯状态的电气线路和电气元件。

然后,我们需要学习如何设计一个交通信号灯系统。

首先,我们需要确定系统所能支持的最大车流量,再根据这个车流量计算出每个方向的红绿灯持续时间,并以此为基础设计出控制器和控制线路。

2.原理图绘制与电路仿真其次,我们需要使用EDA工具进行原理图的绘制和电路仿真。

EDA工具可以帮助我们快速和准确地绘制出原理图,并能够通过电路仿真快速测试和分析电路的性能和稳定性。

同时,使用EDA工具还能够将电路的图形化表示与物理元件的位置和性能进行精确的匹配,从而更好地进行系统的设计和调试。

3.交通信号灯系统的实现最后,我们需要实现一个简单的交通信号灯系统,使用PLD可编程逻辑器件进行实现。

PLD是一种可编程的数字集成电路,它可以实现各种功能的逻辑实现。

EDA课程设计——交通灯

EDA课程设计——交通灯

交通信号灯控制电路设计一、概述城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。

目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。

特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。

因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。

交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。

交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路。

设计一个基于FPGA的红绿灯交通信号控制器。

假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。

黄灯亮允许行驶中车辆有时间停靠到禁止线以外。

本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。

红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。

电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。

下面给出各模块的VHDL设计过程和仿真结果。

1、系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。

因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

EDA交通灯课程设计得过优的哦

EDA交通灯课程设计得过优的哦

E D A交通灯课程设计得过优的哦Last updated on the afternoon of January 3, 2021EDA交通灯课程设计姓名:XXX学号:*********专业:*******学院:电气与信息工程学院1系统功能设计要求1.东西各设有一个绿、黄、红指示灯;一个2位7段数码管(1)南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s;(2)当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。

(3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的剩余时间。

3.能实现正常的倒计时显示功能。

能实现总体清理功能,计数器由初始状态开始计数,对应状态的指示灯亮。

2设计原理交通灯控制器的状态转换根据论文题目要求,将红绿灯的状态转换列成如下表上表为交通灯控制器的状态转换表设计方案1、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。

2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

设计方案 显示模块 倒计时模块 控制模块动态显示与频率由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为1024hz3电路符号交通控制器的电路符号如图所示。

其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。

基于EDA的交通灯控制器课程设计

基于EDA的交通灯控制器课程设计

基于EDA的交通灯控制设计一、设计背景和设计方案1)设计背景设计一个由一条支干道和一条主干道的汇合点形成的十字交叉路口的交通灯控制器,主要要求如下:1.主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。

2.主干道处于常允许状态,两支干道有车来才允许通行。

3.当主、支干道有车时,两者交替通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯转换过程中,要亮5s黄灯作为过渡,并进行减计时显示。

2)设计方案2.1背景分析(一)、交通灯的功能是实现一个交叉口的通车控制,交通灯显示有以下4种状态:1.主干道绿灯,支干道红灯;2.主干道绿灯,支干道黄灯;3.主干道红灯,支干道绿灯;4.主干道黄灯,支干道绿灯。

(二)、支干道没车时,主干道一直亮绿灯;主干道没车时,主干道和支干道交替亮绿灯;主干道和支干道都有车时同样交替亮红绿灯。

在红绿灯交替时亮5s黄灯。

2.2方案及思路(一)分模块设计1、红、绿、黄灯控制模块,模块名JTDKZ;2、倒计时传输、控制模块XSKZ;3、倒计时45s——CNT45s;4、倒计时25s——CNT25s;5、倒计时5s——CNT05s。

6、输入、输出。

(二)模块设计思路1、JTDKZ——根据交通灯显示有4种状态,可以采用CASE语句设置选择4种状态。

设置3个输入:CLK(时钟脉冲)、SB(支干道传感器)、SM(主干道传感器)。

2、XSKZ——根据需要交通灯显示的不同数倒计时据设置4个输入使能信号:EN45(45s 倒计时使能信号)、EN25(25s倒计时使能信号)、EN05(5s倒计时使能信号);再设置5个倒计时计数数据输入信号将此时倒计时数据输出:AIN45M、AIN45B、AIN25M、AIN25B、AIN05;2个输出信号使数码管显示正在倒计时的时间。

3、CNT45S——根据倒计时计数的要求设置3个输入信号:CLK(计数脉冲)、EN45(计数使能)、SB(支干道传感器信号);2个输出DOUT45M、DOUT45B,分别用于主、支干道显示。

EDA课程设计交通灯

EDA课程设计交通灯

EDA课程设计报告基于VHDL的交通灯设计班级:姓名:学号:指导教师姓名:学院:引言:伴随着社会的发展以及人类生活水平的提高,汽车的数量在不断增加,交通事业得以蓬勃发展,而随之引起的安全问题已经不容忽视。

EDA技术的发展和应用领域也在不断的扩大与深入,机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域的重要性日益突出。

为了确保十字路口的行人和车辆顺利,畅通的通过,往往采用电子控制的交通信号来进行指挥。

利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。

一、系统分析与总体方案1.1系统分析通过分析可以知道,所要设计的十字路口交通灯控制电路要能够使南北方向有左转、直行各三个灯(红、黄、绿),东西方向有左转、直行各三个灯(红、黄、绿),三个灯能够按顺序依次亮灭。

而且要求绿灯亮转黄灯亮然后其他时间为红灯,红灯亮可以直接转绿灯(三种灯的循环顺序如图2.1所示)。

还要求三种灯的点亮时间能够以倒计时的形式显示出来。

可以用VHDL语言合理设计系统功能,使红黄绿灯的转换有一个准确的时间间隔和转换顺序。

图1.1三种灯的循环顺序1.2 设计思路1 时间脉冲可以直接赋予得到。

2 10s、5s、40s、30s定时信号用倒计时,计时起始信号由控制流程电路给出,每当计满所需时间,即向控制电路输出“时间到”的信号,并使计数器清零,由控制电路启、闭三色信号灯。

3 主控电路是核心,这是一个时序电路,其输入信号为东西、南北方向:10s、5s、40s、30s定时信号,其输出状态控制相应的三色灯。

4 三种灯转换状态表:1.3 设计方案根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图2.2所示:图2.2 系统的框图2 电路设计2.1控制器电路设计流程控制器的作用是根据计数器的计数值控制各方向上发光二极管的亮、灭,当计时时间到达,状态控制器就响应,自动跳转到下一个状态。

EDA课程设计(交通灯控制器)

EDA课程设计(交通灯控制器)
EDA课程设计(交通灯控制器)
«KEDA技*锦程祓针
<8丈通爭投制希
ft t
专"铁
修生就名
豊认号
北导農轉交通灯控制器专业姓学号主要内容、基本要求、主要参考资料等 主要内容:
设计一个交通信号灯控制器,由一条主干道和一条
支干道汇合成十字路口,在每个入口处设置红、绿、黄 三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯 亮则给行驶中的车辆有时间停在禁行线外。
ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。由它控 制定时器开始下个工作状态的定时。
(1)图甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙 车道禁止通行。绿灯亮足规定的时间隔TL时,控制器发出状态信号ST,转到 下一工作状态。
(2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止 通行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔TY时,控制器发出状态转换信号ST,转到下一工作状态。
基本要求:
1、红、绿、黄发光二极管作信号灯,用传感器或逻 辑开关作检测车辆是否到来的信号,实验电路用逻辑开 关代替。
2、主干道处于常允许通行的状态,支干道有车来时 才允许通行。主干道亮绿灯时,支干道亮红灯;支干道 亮绿灯时,主干道亮红灯。
3、主、支干道均有车时,两者交替允许通行,主干 道每次放行45秒,支干道每次放行25秒,设立45秒、25
交通灯以上4种工作状态的转换是由控制器进行控制的。设控制器的四种 状态编码为00、01、11、10,并分别用SO、S1、S3、S2表示,则控制器的工 作状态及功能如图二所示,控制器应送出甲、乙车道红、黄、绿灯的控制信号。 为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定:

EDA技术交通灯课程设计

EDA技术交通灯课程设计

EDA技术交通灯课程设计设计一个交通灯控制器要求:A方向为主干道,B方向为支干道。

分设红(R)、黄(Y)、绿(G)和左拐(L)四盏灯。

1表示灯亮,0表示灯灭。

四灯的点亮顺序为:绿灯→黄灯→左拐灯→黄灯→红灯,A方向四个时间为55秒(红)、40秒(绿)、5(黄)秒和15(左拐灯)秒;B方向的四个时间为65秒(红)、30秒(绿)、5秒(黄)和15(左拐灯)秒。

时间要改变只要改变计数器的预知数即可。

*/信号定义与说明:CLK:同步时钟EN :使能信号,为1,则控制器开始工作LAMPA[3:0]:控制A方向的4盏灯的亮灭;其中LAMPA(0)到LAMPA(3)分别控制A方向的左拐灯、绿灯、黄灯和红灯。

LAMPB[3:0]:控制B向的4盏灯的亮灭;其中LAMPB0)到LAMPB3)分别控制B向的左拐灯、绿灯、黄灯和红灯。

ACOUNT[7:0]:用于A方向交通灯的时间显示,宽8位,可驱动2个数码管。

BCOUNT[7:0]:用于B向交通灯的时间显示,宽8位,可驱动2个数码管。

1、交通灯VHDL 语言程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity traffic isport( clk,en:in std_logic;lampa,lampb:out std_logic_vector(3 downto 0);acount,bcount:out std_logic_vector(7 downto 0));end entity;architecture exemplar of traffic issignal numa,numb:std_logic_vector(7 downto 0);signal tempa,tempb:std_logic;signal counta,countb:std_logic_vector(2 downto 0);signal ared,bred,agreen,bgreen,ayellow,byellow,aleft,bleft:std_logic_vector(7 downto 0); (上电)计数常数赋值等待时钟信号等待使能位EN =1 Tempa=0? 计数值-1=0?计数值更新状态更新 输出更新Tempa=1是否否计数值-1 Tempa=0 是赋初始状态是否beginacount <= numa;bcount <= numb;x1: process(en)beginif en = '0' thenared <= "01010100";ayellow <= "00000100";agreen <= "00111001";aleft <= "00010100";bred <= "01100100";byellow <= "00000100";bgreen <= "00101001";bleft <= "00010100";end if;end process;x2:process(clk,en)beginif clk ='1' and clk'event thenif en ='1' thenif tempa ='0' thentempa <= '1';case (counta) iswhen "000" => numa <= agreen;lampa <= "0010";counta <= "001";when "001" => numa <= ayellow;lampa <= "0100";counta <= "010";when "010" => numa <= aleft;lampa <= "0001";counta <= "011";when "011" => numa <= ayellow;lampa <= "0100";counta <= "100";when "100" => numa <= ared;lampa <= "1000";counta <= "000";when others => lampa <= "1000";end case;elseif (numa > 1) thenif numa(3 downto 0) = 0 thennuma(3 downto 0) <= "1001";numa(7 downto 4) <= numa(7 downto 4) - 1;elsenuma(3 downto 0) <= numa(3 downto 0) - 1;end if;elseif numa = 1 thentempa <= '0';numa <= numa - 1;end if;end if;end if;elselampa <= "1000";counta <= "000";tempa <= '0';end if;end if;end process x2;x3:process(clk,en)beginif clk ='1' and clk'event thenif en ='1' thenif tempb ='0' thentempb <= '1';case countb iswhen "000" => numb <= bred;lampb <= "1000";countb <= "001";when "001" => numb <= bgreen;lampb <= "0010";countb <= "010";when "010" => numb <= byellow;lampb <= "0100";countb <= "011";when "011" => numb <= bleft;lampb <= "0001";countb <= "100";when "100" => numb <= byellow;lampb <= "0100";countb <= "000";when others => lampb <= "1000";end case;elseif (numb > 1) thenif numb(3 downto 0) = 0 thennumb(3 downto 0) <= "1001";numb(7 downto 4) <= numb(7 downto 4) - 1;elsenumb(3 downto 0) <= numb(3 downto 0) - 1;end if;elseif numb = 1 thentempb <= '0';numb <= numb - 1;end if;end if;end if;elselampb <= "1000";countb <= "000";tempb <= '0';end if;end if;end process x3;end architecture;library ieee;use ieee.std_logic_1164.all;entity bin27seg isport(data_in:in std_logic_vector(3 downto 0);data_out:out std_logic_vector(6 downto 0));end entity;architecture bin27seg_a of bin27seg isbeginprocess(data_in)begindata_out<=(others=>'1');case data_in iswhen "0000"=>data_out<="0111111";when "0001"=>data_out<="0000110";when "0010"=>data_out<="1011011";when "0011"=>data_out<="1001111";when "0100"=>data_out<="1100110";when "0101"=>data_out<="1101101";when "0110"=>data_out<="1111100";when "0111"=>data_out<="0000111";when "1000"=>data_out<="1111111";when "1001"=>data_out<="1100111";when "1010"=>data_out<="1110111";when "1011"=>data_out<="1111100";when "1100"=>data_out<="1011000";when "1101"=>data_out<="1011110";when "1110"=>data_out<="1111001";when "1111"=>data_out<="1110001";when others=>null;end case;end process;end bin27seg_a;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity tc isport(en,clk:in std_logic;lampa,lampb:out std_logic_vector(3 downto 0);Age,Ashi,Bge,Bshi:out std_logic_vector(6 downto 0)); end entity;architecture a of tc iscomponent traffic isport( clk,en:in std_logic;lampa,lampb:out std_logic_vector(3 downto 0);acount,bcount:out std_logic_vector(7 downto 0));end component;component bin27seg isport(data_in:in std_logic_vector(3 downto 0);data_out:out std_logic_vector(6 downto 0));end component;signal x,y:std_logic_vector(7 downto 0);beginU1:traffic port map(clk,en,lampa,lampb,x,y);U2:bin27seg port map(x(3 downto 0),Age);U3:bin27seg port map(x(7 downto 4),Ashi);U4:bin27seg port map(y(3 downto 0),Bge);U5:bin27seg port map(y(7 downto 4),Bshi);end a;2、交通灯控制器波形木兰萦香2013.01.08。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA交通灯课程设计姓名:XXX学号:*********专业:*******学院:电气与信息工程学院1 系统功能设计要求1. 东西各设有一个绿、黄、红指示灯;一个2位7段数码管(1)南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s;(2)当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。

(3)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的剩余时间。

3. 能实现正常的倒计时显示功能。

能实现总体清理功能,计数器由初始状态开始计数,对应状态的指示灯亮。

2 设计原理2.1 交通灯控制器的状态转换根据论文题目要求,将红绿灯的状态转换列成如下表上表为交通灯控制器的状态转换表2.2设计方案1、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。

2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

2.2 LED动态显示与频率由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为1024hz3 电路符号交通控制器的电路符号如图1.3所示。

其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。

4 设计方法采用文本编辑法,既采用vhdl语言描述交通控制器,代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity traffic ISport (clk1k,SN:in std_logic;led1, led2, led3, led4 :out std_logic_vector (3 downto 0);--显示管显示时间用light:out std_logic_vector (5 downto 0)); --红绿黄灯end traffic;architecture traffic1 of traffic ISsignal S:std_logic_vector (1 downto 0); --状态signal DXT:std_logic_vector(7 downto 0):=X"01";--东西方向时间signal NBX:std_logic_vector(7 downto 0):=X"01";--南北方向时间signal ART,AGT,AYT,BRT,BGT,BYT: std_logic_vector(7downto0);--红绿黄灯信号signal SL: std_logic;signal temp: integer range 0 to 1023; --产生1s计数器时计数signal clk: std_logic;beginsL<='1'; --红绿灯时间设定ART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k) -- 选频率为1024HZ beginif (clk1k'event and clk1k='1') thenif temp=1023 thentemp<=0;clk<='1';elsetemp<=temp+1;clk<='0';end if;end if;end process; --进程结束process(clk,DXT,NBX) --状态转换进程beginif clk'event and clk ='1' thenif(DXT ="00000001")OR (NBX = "00000001") then S<=S+1;else S<=S;end if; --状态转换结束end if;end process;process (clk,SN,S) --倒计时模块beginif SN = '1' then DXT<=DXT; NBX<=NBX;elseif clk'event and clk='1' thenif (DXT="0000000") OR (NBX="00000000") thencase S ISwhen "00"=>DXT<=ART; NBX<=BGT; --南北红灯、东西绿灯when "01"=> NBX<=BYT; --南北红灯、东西黄灯when "10"=>DXT<=AGT; NBX<=BRT; --南北绿灯、东西红灯when "11"=>DXT<=AYT; --南北黄灯、东西红灯when others=>NULL;end case;end if;if DXT/="00000000" thenif DXT(3 downto 0)= "0000" thenDXT(3 downto 0)<="1001";DXT(7 downto 4)<=DXT(7 downto 4)-1;else DXT(3 downto 0)<=DXT(3 downto 0)-1;DXT(7 downto 4)<=DXT(7 downto 4);end if;end if;if NBX/="00000000" thenif NBX(3 downto 0)="0000" thenNBX(3 downto 0)<="1001";NBX(7 downto 4)<=NBX(7 downto 4)-1;else NBX(3 downto 0)<=NBX(3 downto 0)-1;NBX(7 downto 4)<=NBX(7 downto 4); end if;end if;end if;end if;end process; --倒计时模块结束process(SL,DXT,NBX,S,SN) --显示模块begincase SL ISwhen '1'=>led1<=NBX(3 downto 0);led2<=NBX(7 downto 4);led3<=DXT(3 downto 0);led4<=DXT(7 downto 4);when others=>NULL;end case;if SN ='1' then light<="001001";elsecase S ISwhen "00"=>light<="010001";when "01"=> light <="100001";when "10"=> light <="001010";when "11"=> light <="001100";when others=>NULL;end case;end if;end process;end traffic1;5 软件仿真时序仿真图6 结论数码管动态显示,需要通过位选、段选控制。

通过查询手册,将2位位选信号接到试验箱数码管位选端,将7位段选信号连接到试验箱数码管的段选控制端。

当送人合适的控制信号后,数码管即可正常工作。

通过下载仿真后,能得到预期的实验结果。

通过拨动(开关控制)为高电平,能实现交通灯紧急状态(红灯全亮)。

若SN为低电平,数码管和主南北的红绿灯能有序亮灭。

7收获及感想短短一个星期的EDA课程设计很块就结束了,虽然在之前的学习过程中还存在着没有弄懂的问题,但是通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

在拿到题目后,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真,在波形仿真的过程中,同样遇到了困难,有的时候,由于END TIME的时间修改的太大,会出现仿真时间过长的问题,这个时候应该要把END TIME的时间相应的改小,或是修改系统时钟的频率。

在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。

在今后的工作和学习中,我们不能仅仅把目光停留在课本上,要多理论联系实际。

有的时候,理论上是正确的东西放到现实中去,可能由于种种因素的制约,并不能达到实际的效果,还需要我们进行相应的修改才能完成要求。

这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。

相关文档
最新文档