交通灯控制器设计实验报告
设计性实验项目名称交通灯控制器设计实验项目学时:3学时实验要求:必修口选修、实验目的1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA实验装置和Quartusn软件的使用方法;3、学习二进制码到BCD码的转换;4、学习有限状态机的设计应用。二、实验原理交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”其交通灯的燃灭规律为:初始态是两个路口的红灯全亮之后,主干道的绿灯亮,乡间道路的红灯亮,主干道方向通车,延时一段时间后,乡间公路来车,主干道绿灯灭,黄灯开始闪烁。闪烁若干次后,主干道红灯亮,而同时乡间公路的绿灯亮,延时一段时间后,乡间公路的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到主干道方向,重复上述过程。三、设计要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。四、主要仪器设备1、微机1台2、Quartusll集成开发软件1套3、EDA实验装置1套五、实验步骤源程序:Omoduletraffic1(clk,s,rst,light,sel,SG);inputclk,s,rst;output5:0light;output2:0sel;output7:0SG;reg5:0light;regclk1;reg3:0sc;reg7:0count;reg7:0cnt,SG;reg2:0sel;reg3:0a;parameters0=0,s1=1,s2=2,s3=3,s4=4;initialbegincount<=8'b01100000;light<=6'b001100;sc=s0;endalways(posedgeclk)beginbegincnt=cnt+1;if(cnt=100)beginclk1=1'b1;cnt=0;endelseclk1=1'b0;/100分频,CLK为数码管扫描频率,CLK1为计数频率if(sel<7)sel=sel+1;elsesel=6;end/sel为数码管选择begincase(sel)7:a=count3:0;0数码管为个位6:a=count7:4;1数码管为十位default:a=0;endcasecase(a)0:SG<=8'b00111111;1:SG<=8'b00000110;2:SG<=8'b01011011;3:SG<=8'b01001111;4:SG<=8'b01100110;5:SG<=8'b01101101;6:SG<=8'b01111101;7:SG<=8'b00000111;8:SG<=8'b01111111;9:SG<=8'b01101111;8段译码值default:SG=8'b11111111;endcaseendendalways(posedgeclk1ornegedgerst)beginif(!rst)begincount=0;sc=s3;end/countsetnothingbutelse0elseif(count=0)begincase(sc)s0:beginif(s)beginsc=s1;count=8'b00000100;light=6'b010100;endelsebeginsc=s4;count=8'b01100000;endends1:begincount=8'b00100000;sc=s2;light=6'b100001;ends2:begincount=8'b00000100;sc=s3;light=6'b100010;ends3:begincount=8'b01100000;sc=s0;light=6'b001100;ends4:beginif(s)beginsc=s1;count=8'b00000100;light=6'b010100;endelsebeginsc=s4;count=8'b01100000;light<=6'b001100;endenddefaultbeginsc=s0;count=8'h60;endendcaseendelseif(sc=s2)&(s=0)beginsc=s3;count=8'b00000100;light=6'b100010;endelseif(sc=s4)&(s=1)beginsc=s1;count=8'b00000100;light=6'b010100;endelseif(count3:0=4'b0000)begincount=count-7;endelsebegincount=count-1;endendendmodule管脚锁定六、波形仿真主干道60s倒计时0II-:;VEH|LMi*iri|ffi(1*lTffi.rl-irricl-吊inu臥町nR(如t-芍im咖卯'册曲ieH普F?tE*lffitrrrh-tsja站4护曲6记丹0曰4輛1T«h.WdOwHc>B<|ffti|tTncikdviv"5mU#i9n貝慣眄畳也LtgdNdIkhTHnwnmwy母UHFLv£聖刚昨'iirwuiq*爭irtthgi岩|辱5imuLrtKnWmkrmHI誓毎恤1DbWge,昨誓IMLH49t"JSi*wjiat>E>r-WanwlRrmvaditlfelE<fdviMnjtfinIO£4u-lISStjbmI.U尹ul«-MMLi*ri”一L側址Pliririwt1*1AE毋HPkHDlHlhW啲、h泅A胡疋k网/EXMniiB-9e419*l-tlk«wd1forHrippniiFli筍arra-s信号为1时p押亡b»L¥E丹加曰灯COH-ftF-dOwl-HJMD口日0当-|rrficizJMZ©u甞7:乜趙監逹醫zi包p押亡b»L¥E丹加曰灯COH-ftF-dOwl-HJMD口日0当-|rrficizJMZ©u甞7:乜趙監逹醫zi包kwhciv*.hSmJiticjiiRFpon:占1曲Nntxi!SOirnmvry巫HIFlSwWEi曲j-或Ml如出靱nvTwy出LrffHmgi£jiTul«tKn'A'vwfcnrnINILH碎0$IW,«l3CKtlBIMimJE-uwnWcurdhjIUmJIfId13li由IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIiIINIIIIIIIIIIIIIIIIIIIIIIIIII悄呕輕农邈瑩豳削毘:忙:削也冬做脇诃)旺黑脚欢哨型嵋藁頤旦醴WM炉f诲虺电绅世:申塗吧瀚如E老劄捲懈詡魁輕戦JWKIIj.IW10Ml!:七、实验心得通过本次实验,让我进一步掌握了软件quartus的使用流程,一开始实验时波形仿真是正确的,但在电路上实现时主干道亮黄灯时,乡间道路亮的是绿灯,这显然是不对的,后面发现是管脚锁定时出现了问题,改回来之后就没问题了。管脚锁定时不能粗心,不然很容易出现问题。曹军生医121班