交通灯控制器的设计_第1页
交通灯控制器的设计_第2页
交通灯控制器的设计_第3页
交通灯控制器的设计_第4页
交通灯控制器的设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA实验报告、课程设计题目及要求十字路口交通灯具体要求:设计一个十字路口得交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯得指示状态。用两组红、黄、绿三种颜色得灯分别作为东西、南北两个方向红、黄、绿等。变化规律为:东西绿灯亮,南北红灯亮一一东西黄灯亮,南北红灯亮一一东西红灯亮,南北绿灯亮——东西红灯亮,南北黄灯亮——东西绿灯亮,南北红灯亮,这样循环下去。南北方向每次通行时间为45秒,东西方向每次通行时间为45秒,要求两条交叉道路上得车辆交替运行,时间可设置修改。绿灯转为红灯时,要求黄夕T先亮5秒钟,才能变换运行车道。并要求所有交通灯得状态变化在时钟脉冲上升沿处。二、实验编程环境QuartusII8、0三、课程设计得详细设计方案(一)、总体设计方案得描述1、1、根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先根据功能要求,明确两组交通灯得状态,这两组交通灯总共共有四种状态,我们用ST0,ST1,ST2,ST3来表示:St0表小东西路绿灯凫,南北路红灯亮;St1表示东西路黄灯亮,南北路红灯亮;St2表示东西路红灯亮St0表小东西路绿灯凫,南北路红灯亮;St1表示东西路黄灯亮,南北路红灯亮;St2表示东西路红灯亮,南北路绿灯亮;St3表示东西路红灯亮,南北路黄灯亮;1、2、根据上述四种状态描述列出得状态转换表表9-1交通灯控制器状态转换表当前状态下一状态转换条件St0St1主路绿灯亮了40秒St1St2主路黄灯亮了5秒St2St3主路绿灯亮了40秒St3St0支路黄灯亮了5秒1、3、根据状态转换表得到交通灯控制器得状态转移图如图所示。

St0St3St1St2交通灯控制器得状态转移图(二)各个模块设计2St0St3St1St2交通灯控制器得状态转移图(二)各个模块设计2、1、控制器模块控制器模块示意图其中,clk为时钟信号,时钟上升沿有效。hold为紧急制动信号,低电平有效。ared,agreen,ayellow分别表示东西方向得红灯,黄灯,绿灯显示信号,高电平有效。bred,bgreen,byellow分别表示南北方向:m45红灯一黄灯于剥bred,bgreen,byellow分别表示南北方向:m45红灯一黄灯于剥:丁显示信号,高电平有效。用于控制红绿黄灯得亮暗情况。2、2、45秒倒计时计数器模块CLK QL[3、、0]EN QH[3、、0'CR OC'inst245秒倒计时计数器模块示意图其中,CLK为时钟信号,时钟上升沿有效。EN为使能端,高电平有效。CR为紧急制动信号低电平有效。QL{3、、0}就是计数低位。QH{3、、0}就是计数高位。用于45秒得倒计时计数。2、3、7位译码器模块7位译码器模块示意图其中dat{3、、0}为要译码得信号。a,b,c,d,e,f,g为译码后得信号。用于将45秒倒计时计数得信号译码成数码管可以识别得信号。2、4、50MHZ分频器模块50MHZ分频器模块示意图其中clk为50MHZ时钟信号,时钟上升沿有效。输出clk_out为1HZ时钟信号,时钟上升沿有效。用于将50MHz得时钟信号转变成1HZ得时钟信号(三)结构图设计(四)仿真电路时序仿真图从图中可瞧到首先进入st0状态,此时东西路绿灯亮,南北路红灯亮;计数器计数到40秒时,交通灯控制器进入st1状态,此时东西路黄灯亮,南北路红灯亮;在st1状态计数器又开始计数,计数器计数到5秒后,交通灯控制器状态进入st2,此时东西路红灯亮,南北路绿灯亮;在st2状态计数器又开始计数,计数器计数到40秒后,交通灯控制器状进入st3状态,此时东西路红灯亮,南北路绿灯亮;在st3状态计数器又开始计数,计数器计数到5秒后,交通灯控制器状态进入st0状态,此时东西路绿灯亮,南北路红灯亮,如些循环反复,完成十字交通路口得红绿灯控制。A0-G0,A1-G1分别为45到0得译码。(五)分配引脚为了对此工程进行硬件测试,应将编译成功后得程序下载到目标芯片上,并指定输入输出信号得管脚,以便添加激励信号与测试输出信号。在下载编译成功得文件之前,需要制定器件得管脚,选才IAssignments|Pins命令,在随后出现得下拉列表框中选择对应端口信号名得器件引脚号,如下图:

X期 ] uKIW-BIgyeUmX期 ] uKIW-BIgyeUm有MtFTi_fLL司ijjjBfcjg/I"PFh^FLI:2awFfrjalK4日Pf.Ju炉最.殖JU所*川puyisMl所二^JUB限版却IHeun¥Idebljp晦3刈、IdvfiLftj所二♦派班期|口:限ZQ与占jjMLJdvWiijr.mi.14f»i.}ctarbJI!、小班利、fddhJIJ工■sBeMn工快ZH、■加i%出iifJirhd!.r曲珈川3胆、比H二七烘班刈J覆、*j二"jj.把"I、火班则工米吨n.MvUiJ%i施Zq四、设计总结与心得通过此次EDA设计,我系统性得学习了课本上相关得知识,对课堂上得知识更加了解。通过认真研究课本,使我对EDA程序设计有了一定思路;通过实验课得学习,在程序彳#设计,程序得调试方面都学到了很多东西,在这几天时间里,实验室得氛围对我们得影响很大,大家一起努力,这也就是我们能完成课设得动力。其中在编程中也出现了很多得问题,但通过老师与同学得帮助下,把问题一一解决。其实只要我们自己认真瞧书,仔细分析,仔细调试,就一定会发下错误,在以后得学习中,要理论联系实际,把我们所学得理论知识用到实际当中,学习EDA更就是如此,程序只有经常得写与读得过程中才能提高,这就就是我在这次课程设计中得最大收获。五、源代码控制器模块:libraryieee;useieee、std_logic_1164、all;useieee、std_logic_unsigned、all;entitycontrolisport(clk,hold:instd_logic;ared,agreen,ayellow,bred,bgreen,byellow:outstd_logic);endcontrol;architecturebehaviorofcontrolistypestate_typeis(s0,s1,s2,s3,s4);signalcurrent_state,next_state:state_type;signalcounter:std_logic_vector(6downto0);beginsynch:processbeginwaituntilclk'eventandclk='1';ifhold='0'thencounter<=counter;elseifcounter<89thencounter<=counter+1;elsecounter<=(others=>'0');endif;endif;endprocess;processbeginwaituntilclk'eventandclk='1';current_state<=next_state;endprocess;state_trans:process(current_state)begincasecurrent_stateiswhens0=>ifhold='0'thennext_state<=s4;elseifcounter<39thennext_state<=s0;elsenext_state<=s1;endif;endif;whens1=>ifhold='0'thennext_state<=s4;elseifcounter<44thennext_state<=s1;elsenext_state<=s2;endif;endif;whens2=>ifhold='0'thennext_state<=s4;elseifcounter<84thennext_state<=s2;elsenext_state<=s3;endif;endif;whens3=>ifhold='0'thennext_state<=s4;elseifcounter<89thennext_state<=s3;elsenext_state<=s0;endif;endif;whens4=>ifhold='0'thennext_state<=s4;elseifcounter<39thennext_state<=s0;elsifcounter<44thennext_state<=s1;elsifcounter<84thennext_state<=s2;elsifcounter<89thennext_state<=s3;endif;endif;endcase;endprocess;output:process(current_state)begincasecurrent_stateiswhens0=>ared<='0';agreen<='1';ayellow<='0';bred<='1';bgreen<='0';byellow<='0';whens1=>ared<='0';agreen<='0';ayellow<='1';bred<='1';bgreen<='0';byellow<='0';whens2=>ared<='1';agreen<='0';ayellow<='0';bred<='0';bgreen<='1';byellow<='0';whens3=>ared<='1';agreen<='0';ayellow<='0';bred<='0';bgreen<='0';byellow<='1';whens4=>ared<='1';agreen<='0';ayellow<='0';bred<='1';bgreen<='0';byellow<='0';endcase;endprocess;endbehavior;45秒倒计时计数器模块:libraryieee;useieee、std_logic_1164、all;useieee、std_logic_unsigned、all;entitym45isport(CLK:instd_logic;EN:instd_logic;CR:instd_logic;QL,QH:outstd_logic_vector(3downto0);OC:outstd_logic);endm45;architecturebehavofm45issignalcouL,couH:std_logic_vector(3downto0);beginprocess(CR,CLK,EN)beginifCR='0'thencouL<="0000";couH<="0000";elsifclk'eventandclk='1'thenifEN='1'thenif(couL=0andcouH=0)thencouL<="0100";couH<="0100";elsifcouL=0thencouL<="1001";couH<=couH-1;elsecouL<=couL-1;endif;endif;endif;endprocess;process(couL,couH)beginif(couL=0andcouH=0)thenOC<='1';elseOC<='0';endif;endprocess;QL<=couL;QH<=couH;endbehav;7位译码器模块:libraryieee;useieee、std_logic_1164、all;entityseg7isport(dat:instd_logic_vector(3downto0);a,b,c,d,e,f,g:outstd_logic);endseg7;architecturearcofseg7issignaltmp:std_logic_vector(6downto0);beginprocess(dat)begincasedatiswhen"0000"=>tmp<="0000001";when"0001"=>tmp<="1001111";when"0010"=>tmp<="0010010";when"0011"=>tmp<="0000110";when"0100"=>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"1101"=>tmp<="1000010";when"1110"=>tmp<="0110000";when"1111"=>tmp<="0111000";whenothers=>null;endcase;endprocess;a<=tmp(6);b<=tmp(5);c<=tmp(4);d<=tmp(3);e<=tmp(2);f<=tmp(1);g<=tmp(0);endarc;50MHZ分频器模块:libraryieee;useieee、std_logic_1164、all;useieee、std_logic_unsigned、all;entitydevideispo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论