




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA实验报告、课程设计题目及要求题目:十字路口交通灯具体要求:设计一个十字路口的交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯的指示状态。用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向红、黄、绿等。变化规律为:东西绿灯亮,南北红灯亮东西黄灯亮,南北红灯亮东西红灯亮,南北绿灯亮东西红灯亮,南北黄灯亮东西绿灯亮,南北红灯亮,这样循环下去。南北方向每次通行时间为 45秒,东西方向每次通行时间为 45秒,要求两条交叉道路上 的车辆交替运行,时间可设置修改。绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。并要求所有交通灯的状态变化在时钟脉冲上升沿处。二、实验编程环境Quart
2、usll 8.0三、课程设计的详细设计方案(一)、总体设计方案的描述1.1、根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先 根据功能要求,明确两组交通灯的状态,这两组交通灯总共共有四种状态,我们用ST0, ST1,ST2, ST3来表示:St0表示东西路绿灯亮,南北路红灯亮;St1表示东西路黄灯亮,南北路红灯亮;St2表示东西路红灯亮,南北路绿灯亮;St3表示东西路红灯亮,南北路黄灯亮;1.2、根据上述四种状态描述列出的状态转换表表9-1交通灯控制器状态转换表当前状态下一状态转换条件St0St1主路绿灯亮了 40秒St1St2主路黄灯亮了 5秒St2St3主路绿灯亮了
3、 40秒St3St0支路黄灯亮了 5秒1.3、根据状态转换表得到交通灯控制器的状态转移图如图所示。交通灯控制器的状态转移图(二)各个模块设计2.1、控制器模块控制器模块示意图其中,elk为时钟信号,时钟上升沿有效。hold为紧急制动信号,低电平有效。ared,agree n,ayellow分别表示东西方向的红灯,黄灯,绿灯显示信号,高电平有效。bred,bgree n, byellow分别表示南北方向的红灯,黄灯,绿灯显示信号,高电平有效。用于控制红绿黄灯的亮暗情况。2.2、45秒倒计时计数器模块m45CLKQL3.OENQH3.OCROCin st245秒倒计时计数器模块示意图其中,CLK为
4、时钟信号,时钟上升沿有效。EN为使能端,高电平有效。CR为紧急制动信号低电平有效。QL3.0是计数低位。QH3.0是计数高位。用于45秒的倒计时计数。2.3、7位译码器模块7位译码器模块示意图其中dat3.0为要译码的信号。a,b,c,d,e,f,g为译码后的信号用于将45秒倒计时计数的信号译码成数码管可以识别的信号。2.4、50MHZ分频器模块50MHZ分频器模块示意图其中clk为50MHZ时钟信号,时钟上升沿有效。输出clk_out为1HZ时钟信号,时钟上 升沿有效。用于将50MHZ的时钟信号转变成1HZ的时钟信号。(三)结构图设计” 1 Lzsa鼻 EKT-|i=K7TT=i=br”.
5、2> £«* ao ibh闪ChK-7.|-u己二I> a'i *T L j *卢=, - BassraJ=!=£'(四)仿真电路从图中可看到首先进入stO状态,此时东西路绿灯亮,南北路红灯亮;计数器计数到40秒时,交通灯控制器进入 st1状态,此时东西路黄灯亮,南北路红灯亮;在 st1状态计 数器又开始计数,计数器计数到5秒后,交通灯控制器状态进入st2,此时东西路红灯亮,南北路绿灯亮;在 st2状态计数器又开始计数,计数器计数到40秒后,交通灯控制器状进入st3状态,此时东西路红灯亮,南北路绿灯亮;在st3状态计数器又开始计数,计数
6、器计数到5秒后,交通灯控制器状态进入stO状态,此时东西路绿灯亮,南北路红灯亮,如些循环反复,完成十字交通路口的红绿灯控制。A0-G0,A1-G1分别为45到0的译码。(五)分配引脚为了对此工程进行硬件测试,应将编译成功后的程序下载到目标芯片上,并指定输入输出信号的管脚,以便添加激励信号和测试输出信号在下载编译成功的文件之前,需要制定器件的管脚,选择Assignments|Pins 命令,在随后出现的下拉列表框中选择对应端口信号名的器件引脚号,如下图:I5 it JlTWiejJWPFilLETS7JI13.SY比li3* 4LOlAWl:S Si Be细细J* 4EDuifaElHI2.3&
7、#165;4斗 ARDubt.FTija=1 Hl5.3* MUn-.5¥X4>ur* I JuE J1-曉&列jnltbrtMn4ft KJ=7J<12.S¥ (dri注ri;二T“ mOuw:心L>Mi HeiMtl<>BG丘戶e:ihm3.3 w0 m.cuu:pm_£a5J.HJ.9V RiJ* 辭14P aPTi口S? Hl-U甘 CLi-口0 ktFfehjiriW-kHWHA CJMJrp-t吓冲h3.9 V中W"CRLrpJIftUfi±1 W* B押、(dtbJTfl比啊們<>
8、 DL7:"Hlj.n q«£bj竹-3?甘 HCvUM.f '_h rm氐显1i 履 3l0 ECULtSTJil3.9 V 樹ai=也IQri* 迥FLi'lllZ匸h:诣"WJl*|Tah i2軒啊21PFs FLS="Hl2.9 ;乂匕川1Z.Rrt皿-Mi33* 4L叽刨1UNi 瞧 H.I21L l-OESlrnJ-FT®El JU3.9 V UriU四、设计总结和心得通过此次EDA设计,我系统性的学习了课本上相关的知识,对课堂上的知识更加了解。通过认真研究课本,使我对EDA程序设计有了一定思路;通过实验课
9、的学习,在程序的设计, 程序的调试方面都学到了很多东西,在这几天时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。其中在编程中也出现了很多的问题,但通过老师和同学的帮助下,把问题一一解决。其实只要我们自己认真看书,仔细分析,仔细调试,就一定会发下错误,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当 中,学习EDA更是如此,程序只有经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。五、源代码控制器模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigne
10、d.all;entity control isport(clk,hold:in std_logic; ared,agreen,ayellow,bred,bgreen,byellow:out stdo gic); end control;architecture behavior of control istype state_type is (s0,s1,s2,s3,s4);signal current_state,next_state : state_type;signal counter : std_logic_vector(6 downto 0);beginsynch : process
11、 beginwait until clk'event and clk ='1' if hold='0' then counter<=counter;elseif counter<89 then counter<=counter+1;else counter<=(others=>'0'); end if;end if;end process;process beginwait until clk'event and clk='1' current_state<=next_state
12、; end process;state_trans:process(current_state) begincase current_state iswhen s0=> if hold='0' then next_state<=s4;else if counter<39 then next_state<=s0;else next_state<=s1;end if;end if;when s1=>if hold='0' then next_state<=s4;else if counter<44 then next_
13、state<=s1;else next_state<=s2;end if;end if;when s2=>if hold='0' then next_state<=s4;else if counter<84 then next_state<=s2;else next_state<=s3;end if;end if;when s3=>if hold='0' then next_state<=s4;elseif counter<89 then next_state<=s3;else next_stat
14、e<=s0;end if;end if;when s4=> if hold='0' then next_state<=s4;else 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 case; end process;output:proc
15、ess(current_state)begin case current_state is when s0 =>ared<='0' agreen<='1' ayellow<='0'bred<='1'bgreen<='0' byellow<='0'when s1 => ared<='0' agreen<='0' ayellow<='1' bred<='1' bgree
16、n<='0' byellow<='0'when s2 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen<='1' byellow<='0'when s3 => ared<='1' agreen<='0' ayellow<='0' bred<='0' bgreen&
17、lt;='0' byellow<='1'when s4 => ared<='1' agreen<='0' ayellow<='0' bred<='1' bgreen<='0' byellow<='0'end case;end process;end behavior;45 秒倒计时计数器模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsig
18、ned.all;entity m45 is port(CLK :in std_logic;EN :in std_logic;CR :in std_logic;QL,QH :out std_logic_vector(3 downto 0); OC :out std_logic);end m45;architecture behav of m45 issignal couL,couH:std_logic_vector(3 downto 0);beginprocess(CR,CLK,EN)beginif CR='0' then couL<="0000" co
19、uH<="0000"elsif clk'event and clk='1' then if EN='1' thenif(couL=0 and couH=0)then couL<="0100" couH<="0100"elsif couL=0 then couL<="1001" couH<=couH-1;elsecouL<=couL-1;end if;end if;end if;end process;process(couL,couH)be
20、ginif(couL=0 and couH=0) thenOC<='1'elseOC<='0'end if;end process;QL<=couL;QH<=couH;end behav;7 位译码器模块:library ieee;use ieee.std_logic_1164.all;entity seg7 isport(dat : in std_logic_vector(3 downto 0);a,b,c,d,e,f,g : out std_logic);end seg7;architecture arc of seg7 issign
21、al tmp :std_logic_vector(6 downto 0);beginprocess(dat)begincase dat iswhen"0000"=>tmp<="0000001"when"0001"=>tmp<="1001111"when"0010"=>tmp<="0010010"when"0011"=>tmp<="0000110"when"0100"=&
22、gt;tmp<="1001100"when"0101"=>tmp<="0100100"when"0110"=>tmp<="0100000"when"0111"=>tmp<="0001111"when"1000"=>tmp<="0000000"when"1001"=>tmp<="0000100"when"1010"=>tmp<="0001000"when"1011"=>tmp<="1100000"when"1100"=>tmp<="0110001"when
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论