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

合集下载

EDA课程设计-----交通灯设计

EDA课程设计-----交通灯设计

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

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

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

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

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

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

主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限2012.3.2指导教师专业负责人2012年2月27日一、总体设计思想1.基本原理交通灯是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。

本实例就是实现一个常见的十字路通灯功能。

读者通过学习这个交通灯控制器,可以实现一个更加完整的交通灯。

例如实现实时配置各种灯的时间,手动控制各个灯的状态等。

一个十字路口的交通一般分为两个方向,每个方向具有红灯、绿灯和黄灯3种,另外每个方向还具有左转灯,因此每个方向具有4个灯。

这个交通灯还为每一个灯的状态设计了倒计时数码管显示功能。

可以为每一个灯的状态设置一个初始值,灯状态改变后,开始按照这个初始值倒计时。

倒计时归零后,灯的状态将会改变至下一个状态。

值得注意的是,交通灯两个方向的灯的状态是相关的。

eda交通灯课程设计

eda交通灯课程设计

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

eda交通灯课程设计

eda交通灯课程设计

eda交通灯课程设计一、课程目标知识目标:1. 学生能理解并掌握交通灯的基本原理及其在现代社会交通管理中的作用。

2. 学生能了解EDA(电子设计自动化)的基本概念,并运用其原理设计简单的交通灯控制系统。

3. 学生掌握交通灯工作周期的计算方法,以及不同交通情况下信号灯变换的逻辑规则。

技能目标:4. 学生能够通过EDA软件进行交通灯电路的设计与仿真,具备基本的电子设计能力。

5. 学生能够运用所学知识分析并解决交通灯控制中的实际问题,具备一定的创新设计思维。

情感态度价值观目标:6. 学生通过设计交通灯控制系统,培养对工程技术的兴趣,增强社会责任感和团队合作意识。

7. 学生能够在项目实践中体验科学探究的乐趣,提高学习科学的积极性,形成良好的学习习惯。

8. 学生通过课程学习,认识到科技在生活中的应用,增强对现代科技改善生活品质的认识,培养创新精神和实践能力。

本课程设计针对的是具有一定电子学基础的中高年级学生,课程性质为实践性强的综合设计课。

在分析课程性质、学生特点和教学要求的基础上,课程目标旨在分解为具体的学习成果,以便通过后续的教学设计和评估,有效提升学生对交通工程和电子设计自动化知识的综合应用能力。

二、教学内容本章节教学内容紧密围绕课程目标,结合课本相关章节,科学系统地组织以下内容:1. 交通灯基本原理:讲解交通灯的功能、结构及工作原理,对应教材第3章“交通信号控制基础”。

2. EDA软件介绍:介绍EDA软件的基本功能、操作方法及其在电子设计中的应用,对应教材第5章“电子设计自动化技术”。

3. 交通灯控制系统设计:a. 设计要求:分析交通灯控制系统的需求,明确设计目标和功能要求。

b. 电路设计:学习并运用EDA软件设计交通灯控制电路,对应教材第6章“数字电路设计”。

c. 仿真测试:利用EDA软件对设计电路进行仿真测试,验证设计方案的可行性。

4. 交通灯控制逻辑:学习并掌握交通灯工作周期的计算方法,以及不同交通情况下的信号灯变换规则,对应教材第3章“交通信号控制策略”。

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. 让学生理解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)设计背景设计一个由一条支干道和一条主干道的汇合点形成的十字交叉路口的交通灯控制器,主要要求如下: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 交通灯课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握交通灯系统的原理与设计流程。

2. 学生能够运用所学知识,设计并实现一个具备基本功能的交通灯控制系统。

3. 学生了解交通灯控制系统在实际应用中的重要性,理解不同颜色灯亮灭的时间间隔及其意义。

技能目标:1. 学生能够运用EDA软件进行电路设计,完成交通灯控制系统的原理图与PCB布线图绘制。

2. 学生能够通过编程实现对交通灯控制系统的仿真与调试,解决简单问题。

3. 学生能够运用团队协作、沟通技巧,共同完成课程设计任务,提高实践操作能力。

情感态度价值观目标:1. 学生培养对电子设计自动化技术的兴趣,激发创新意识和探索精神。

2. 学生通过实践操作,培养动手能力、问题解决能力和自主学习能力。

3. 学生认识到遵守交通规则的重要性,增强社会责任感和安全意识。

课程性质:本课程设计为实践性课程,注重培养学生的动手能力和团队协作能力。

学生特点:初三学生,具有一定电子基础知识,好奇心强,喜欢动手实践。

教学要求:结合学生特点,课程设计应注重理论与实践相结合,鼓励学生自主探究和团队协作,提高学生的综合能力。

通过分解课程目标为具体学习成果,使学生在完成课程设计的过程中达到预期目标。

二、教学内容1. 电子设计自动化(EDA)基本原理介绍:包括EDA的概念、发展历程、应用领域。

2. 交通灯控制系统原理:讲解交通灯的工作原理、控制逻辑、信号灯颜色时间设置。

3. EDA软件操作:学习并掌握EDA软件的使用,如原理图绘制、PCB布线图设计。

4. 交通灯控制系统设计:根据实际需求,设计具备基本功能的交通灯控制系统。

- 知识点:数字电路、逻辑门、时序逻辑、微控制器应用。

- 教材章节:第四章 电子设计自动化,第三节 数字电路设计。

5. 编程与仿真:学习编程实现对交通灯控制系统的仿真与调试。

- 知识点:基础编程知识、仿真软件使用。

- 教材章节:第五章 嵌入式系统设计,第一节 嵌入式编程基础。

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红绿灯课程设计一、课程目标知识目标:1. 学生能够理解并描述红绿灯在交通系统中的作用和重要性。

2. 学生能够掌握EDA(电子设计自动化)的基本概念,并将其与红绿灯系统设计相结合。

3. 学生能够解释红绿灯工作原理,包括电路组成、信号控制等。

技能目标:1. 学生能够运用EDA工具进行红绿灯系统的电路设计和仿真。

2. 学生通过小组合作,提高问题解决能力和团队协作能力,完成红绿灯系统的设计任务。

3. 学生能够运用所学知识,分析和解决实际交通问题,具备一定的创新设计能力。

情感态度价值观目标:1. 学生培养对电子科技的兴趣,激发学习热情,形成积极的学习态度。

2. 学生认识到红绿灯在维护交通秩序、保障人民生命安全中的重要性,增强社会责任感和法治意识。

3. 学生在合作学习中,培养尊重他人、团结协作的良好品质,提高人际沟通能力。

课程性质:本课程为实践性强的学科课程,结合电子技术与交通工程知识,培养学生的实际操作能力和创新思维。

学生特点:五年级学生,具有一定的电子知识基础,对新鲜事物充满好奇,善于合作与分享。

教学要求:注重理论与实践相结合,鼓励学生动手实践,关注个体差异,提高学生的综合素质。

通过分解课程目标为具体学习成果,为教学设计和评估提供依据。

二、教学内容本课程教学内容围绕红绿灯系统的设计与实现展开,依据课程目标,选择以下内容:1. 交通信号灯基础知识:介绍红绿灯在交通控制中的应用,理解信号灯的颜色及其代表意义。

2. EDA工具简介:学习EDA软件的基本操作,了解电路设计与仿真流程。

3. 红绿灯电路设计:- 电路元件认知:教授电阻、电容、二极管等基本元件的作用及使用方法。

- 电路图绘制:学习使用EDA工具绘制红绿灯电路图。

- 仿真与调试:指导学生进行电路仿真,观察并分析红绿灯工作过程。

4. 红绿灯控制系统实现:- 编写控制程序:学习基础编程知识,编写控制红绿灯变换的程序。

- 系统集成:将电路设计与控制程序相结合,完成整个红绿灯系统的搭建。

eda课程设计-交通灯控制器的设计

eda课程设计-交通灯控制器的设计

题目交通灯控制器的设计摘要交通灯信号控制器通常要实现自动控制和手动控制其红绿灯的变化,基于FPGA设计的交通灯信号控制器电路简单、可靠性好。

本设计可控制2个路口的红、黄、绿三盏灯.让其按特定的规律进行变化。

利用QuartusⅡ对设计结果进行仿真,发现系统工作性能良好。

据此设计而成的硬件电路,也实现了控制要求。

关键词:交通灯自动控制手动控制目录摘要 01.概述 (2)1.1课程设计目的 (2)1.2 课程设计题目及要求 (2)1.3 实验环境 (2)2. 系统总体设计 (2)2.2系统组成 (3)3. 系统层次化设计与软件仿真 (3)3.1 系统时序发生电路 (3)3.1.2系统时序发生电路clk_gen的仿真输出波形和元件符号 (5)3.2 红绿灯计数时间选择模块 (5)3.2.1 VHDL源代码: (6)3.2.2计数时间选择模块traffic_mux的仿真输出波形和元件符号 (7)3.3定时控制电路 (7)3.3.1 VHDL源代码: (7)3.3.2 定时控制电路count_down的仿真输出波形和元件符号 (9)3.4 红绿灯信号译码电路 (9)3.4.1 VHDL源代码 (10)3.4.2 信号译码电路 (12)3.5 红绿灯交通控制器顶层电路 (13)3.5.1 VHDL源代码: (14)3.5.2 交通控制器顶层电路Traffic_TOP的仿真输出波形和元件符号 (16)4. 系统硬件仿真 (17)5.结论与体会 (18)参考文献 (18)1.概述1.1课程设计目的此次课程设计是根据《VHDL程序设计》这门课程开设的综合设计课程,要求学生利用VHDL编程语言,基于EDA开发平台Quartus 错误!未找到引用源。

,设计相应的数字系统,通过对系统进行编程、仿真、调试与实现,体验设计的全过程,进一步加深对所学基础知识的理解,培养学生将理论知识应用于实践的能力、学生自学与创新能力和分析解决实际问题的能力。

EDA课程设计交通灯

EDA课程设计交通灯

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

规定:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。

支干道主干道图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课程设计(交通灯控制器)
«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(7 downto0);--红绿黄灯信号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的时间相应的改小,或是修改系统时钟的频率。

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

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

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

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

相关文档
最新文档