数字系统课程设计-交通灯控制器实验报告(共20页).doc

上传人:飞****2 文档编号:13980975 上传时间:2022-05-02 格式:DOC 页数:20 大小:346.50KB
返回 下载 相关 举报
数字系统课程设计-交通灯控制器实验报告(共20页).doc_第1页
第1页 / 共20页
数字系统课程设计-交通灯控制器实验报告(共20页).doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《数字系统课程设计-交通灯控制器实验报告(共20页).doc》由会员分享,可在线阅读,更多相关《数字系统课程设计-交通灯控制器实验报告(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上交通灯控制器数字系统设计报告姓名: 学号:一 实验目的1.基本掌握自顶向下的电子系统设计方法2.学会使用PLD和硬件描述语言设计数字电路,掌握 Quartus II等开发工具的使用方法3.培养学生自主学习、正确分析和解决问题的能力 二 设计要求我所选择的课题是用Verilog HDL实现交通灯控制器。该课题的具体内容及要求如下:主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。主干道和乡村公路都安装了传感器,检测车辆

2、通行情况,用于主干道的优先权控制。 (1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。(2)当乡村公路有车时,而主干道通车时间已经超过它的最短通车时间时,禁止主干道通行,让乡村公路通行。主干道最短通车时间为25s 。(3)当乡村公路和主干道都有车时,按主干道通车25s,乡村公路通车16s交替进行。(4)不论主干道情况如何,乡村公路通车最长时间为16s。(5)在每次由绿灯亮变成红灯亮的转换过程中间,要亮5s时间的黄灯作为过渡。(6)用开关代替传感器作为检测车辆是否到来的信号。用红、绿、黄三种颜色的发光二极管作交通灯。(7)要求显示时间,倒计时。 交通灯控制器框图如下:(C表示乡村道路

3、是否有车到来,1表示有,0表示无;SET用来控制系统的开始及停止;RST是复位信号,高电平有效,当RST=1时,恢复到初始设置;CLK是外加时钟信号;MR、MY、MG分别表示主干道的红灯、黄灯和绿灯;CR、CY、CG分别表示乡村道路的红灯、黄灯和绿灯,1表示亮,0表示灭)系统流程图如下:(MGCR:主干道绿灯,乡村道路红灯;MYCR:主干道黄灯,乡村道路红灯;MRCG:主干道红灯,乡村道路绿灯;MRCY:主干道红灯,乡村道路黄灯;T0=1表示主干道最短通车时间到,T1=1表示5秒黄灯时间到,T2=1表示乡村道路最长通车时间到。) 三设计方案本交通灯控制系统设计利用Verilog HDL语言进行

4、设计编程,利用Cyclone EP1C6Q240C8芯片和一些外围器件组成硬件电路,利用QUARTUS II软件将编写好的程序进行编译、仿真,并将调试完成的程序下载到Cyclone EP1C6Q240C8芯片上,观测电路板上的红绿信号灯以及数码管显示,看是否按设计要求正常工作.四、设计流程本系统采用自顶向下的设计,设计一个顶层文件和三个底层文件。各模块关系如下:交通灯控制器(jiaotongdeng)系统工作模块(traffic1)八段译码模块(decode4_7)分频模块(blk1)设计文件如下:1. 低层文件(1)系统工作模块(traffic1)如下: 功能:该模块完成对输入信号CLK,r

5、st,c的处理,实现交通灯控制的主要功能。源程序:module traffic1(CLK,rst,c,LAMPA,LAMPB,TAH,TAL,TBH,TBL);output3:0 TAH,TAL,TBH,TBL;/TAH,TAL分别表示主干道倒计时的高位和低位,TBH,TBL表示乡村道路倒计时的高位和低位output2:0 LAMPA,LAMPB;/从高位到低位分别表示红,黄,绿input CLK,rst,c;reg7:0 numa,numb,s1,s2;/numa,numb分别表示主干道和乡村道路的倒计时;s1用来表示主干道最短通车时间是否已到,到了s1=1;s2用来表示乡村道路最长通车时间

6、是否已到,到了s2=1reg3:0 TAH,TAL,TBH,TBL;reg2:0 LAMPA,LAMPB;always (posedge CLK or posedge rst ) /该进程控制主道方向的四种灯begin if(rst)/重置 begin LAMPA =1;LAMPB =4; /重置情况视乡村道路无车,主干道一直通行 numa = 8b;/主干道计时20秒 numb = 8b; /乡村道路计时25秒 end else begin if(LAMPA=1) /主干道绿灯亮 begin if(numa=1&c=0&s1) /主干道最短通车时间已到,但乡村道路没车 begin numa=

7、1;/倒计时停在1秒 LAMPA=1;/保持在主干道绿灯 end else if(numa=1&c=1&s1)/主干道最短通车时间没到,并且乡村道路有车 begin /主干道变黄灯倒计时变成5秒 s1=0; LAMPA =2; numa = 8b;/为了配合时钟设置为6秒 end else begin if(numa3:0 = 0 & numa7:4) /逢十时 begin numa3:0 = 9; numa7:4 = numa7:4 - 1; end else if(numa7:0 & numa3:0) begin numa3:0 = numa3:0 - 1; end if (numa=0)

8、 begin /主干道变黄灯倒计时变成5秒 LAMPA =2; numa = 8b;/为了配合时钟设置为6秒 end endend if(LAMPA=2) /假如主干道是黄灯 begin if(numa3:0 = 0 & numa7:4) /开始主干道黄灯的倒计时 begin numa3:0 = 9; numa7:4 = numa7:4 - 1; end else if(numa7:0 & numa3:0) begin numa3:0 = numa3:0 - 1; end if(numa7:0=0) /黄灯倒计时时间到 begin if(c) /乡村道路有车 begin /主干道变红灯,倒计时

9、变成16秒 LAMPA =4; numa =8b; /为了配合时钟设置为17秒 end else if(!c) begin s1=1; LAMPA =1; numa = 8b;/主干道计时1秒 end end end if(LAMPA=4&c)/假如主干道是红灯并且乡村道路有车 begin if(numa3:0 = 0 & numa7:4) /开始主干道红灯的倒计时 begin numa3:0 = 9; numa7:4 = numa7:4 - 1; end else if(numa7:0 & numa3:0) begin numa3:0 = numa3:0 - 1; end if(numa=0

10、)/红灯倒计时到 begin /主干道变绿灯,倒计时变成20秒 LAMPA =1; numa =8b; end end if(LAMPA=4&!c& numa5)/假如主干道是红灯并且乡村道路无车并且倒计时时间大于5米秒,使主干道倒计时变成5秒 begin /主干道仍是红灯,倒计时变成5秒 numa =8b; end if(LAMPA=4&!c& numa7) begin if(numa3:0 = 0 & numa7:4) /开始主干道5秒的倒计时 begin numa3:0 = 9; numa7:4 = numa7:4 - 1; end else if(numa7:0 & numa3:0)

11、begin numa3:0 = numa3:0 - 1; end if(numa=0)/5秒倒计时到 begin /主干道变绿灯,倒计时变成20秒 LAMPA =1; numa =8b; end end if(LAMPB=4) /乡村道路红灯亮 begin /开始乡村道路红灯的倒计时 if(c=0&numb=1) numb=1; if(c=1&numb=1&s2=1) begin numb=5; s2=0; end else begin if(numb3:0 = 0 & numb7:4) /逢十时 begin numb3:0 = 9; numb7:4 = numb7:4 - 1; end el

12、se if(numb & numb3:0) begin numb3:0 = numb3:0 - 1; end if(numb=0) /红灯时间到 begin if(c) begin /乡村道路变绿灯,倒计时变11秒 LAMPB =1; numb =8b; end else if(!c) begin LAMPB =4; numb = 8b; /乡村道路计时1 s2=1;/s置为1; end end end end if(LAMPB=1&c) /假如乡村道路是绿灯并且乡村道路有车并且倒计时大于五秒 begin if(numb3:0 = 0 & numb7:4) /开始乡村道路绿灯的倒计时 begi

13、n numb3:0 = 9; numb7:4 = numb7:4 - 1; end else if(numb & numb3:0) begin numb3:0 = numb3:0 - 1; end if(numb=0) /绿灯倒计时时间到 begin /乡村道路变黄灯,倒计时变成5秒 LAMPB =2; numb =8b; end end if(LAMPB=1&!c) /假如乡村道路是绿灯并且乡村道路无车 begin /绿灯变黄灯,倒计时变成5秒 LAMPB =2; numb =8b; end if(LAMPB=2) /假如乡村道路是黄灯 begin if(numb3:0 = 0 & numb

14、7:4) /开始乡村道路黄灯的倒计时 begin numb3:0 = 9; numb7:4 = numb7:4 - 1; end else if(numb & numb3:0) begin numb3:0 = numb3:0 - 1; end if(numb=0) /黄灯倒计时时间到 begin /乡村道路变红灯,倒计时变成25秒 LAMPB =4; numb =8b; end end end TAH=numa7:4; TAL=numa3:0; TBH=numb7:4; TBL=numb3:0; endendmodule仿真结果:对该模块进行仿真,考虑各种情况,结果如下:1) 乡村道路一直没车

15、,即c=0:可以看到主干道是绿灯20秒,黄灯5秒,然后变成绿灯,倒计时停在1秒,乡村道路一直是红灯,倒计时从25一直到1停止。2) 乡村道路开始没车,T时间后(T25秒)有车来:从图中可以看到开始时c=0,主干道绿灯20秒后变成黄灯,5秒后由于没车又变成绿灯,倒计时停在1,乡村道路红灯25秒后变成绿灯,倒计时停在1。c变成1后,主干道变成黄灯倒计时5秒,之后变成红灯,乡村道路红灯倒计时5秒后变成绿灯,再后面的变化同情况2。4)当乡村道路为绿灯时c变成0:可以看到,当乡村道路为绿灯,c变成0时,乡村道路立刻变成黄灯,倒计时5秒后变成红灯,而主干道红灯倒计时5秒后变成绿灯。(2)八段译码模块(de

16、code4_7)如下:功能:将输入的四位信号进行译码,输出到八段共阳极数码管显示出来。用于显示倒计时。源程序:module decode4_7(decodeout,indec);output7:0 decodeout;input3:0 indec;reg7:0 decodeout;always (indec)begincase(indec) /用case 语句进行译码,小数点始终不亮4d0:decodeout=8b;4d1:decodeout=8b;4d2:decodeout=8b;4d3:decodeout=8b;4d4:decodeout=8b;4d5:decodeout=8b;4d6:d

17、ecodeout=8b;4d7:decodeout=8b;4d8:decodeout=8b;4d9:decodeout=8b;default: decodeout=8bx;endcaseendendmodule仿真结果:从图中可以看到输入09,输出与之对应的八段码,结果正确。(3)分频模块(blk1)如下:功能:由于实验箱提供的是2MHZ的时钟信号,为了得到1HZ的时钟信号,要对输入时钟信号进行分频。得到合适的时钟信号。set信号可以控制系统的起始及终止。源程序:module blk1(clk,set,out);input clk,set; /基频与使能output out; /分频后的输出r

18、eg out;reg23:0 count1,count2;/count1用于记录时钟总数,count2用于记录经过了多少个时钟周期always (posedge clk)beginif(set)begin count1 = ;/实际下载时改成,方便看到结果 count1 = count1 - 1;count2 = 0;out = 0;endelsebeginif(count2 count1)begincount2 = count2 + 1;endelsebeginout = out;count2 = 0;endendendendmodule仿真结果:由于分频看不出仿真结果,这里改成4分频。如图

19、,当set信号有一个正跳变之后,out才开始有输出。而之后set为高电平时,out停止产生时钟信号,相当于起到暂停的作用。另外,可以看出out的频率是clk的1/4,实现了4分频。2顶层文件交通灯控制器(jiaotongdeng):由三个底层模块构成,结构图如下:仿真结果:分析亮灯情况及倒计时情况,与设计要求相符合,仿真结果正确。五、管脚绑定clk绑定到晶振时钟信号,设定管脚号为28;rst,c,set分别绑定到三个乒乓开关,这里设定管脚号分别为139,138,137;LAMPA0,LAMPA1,LAMPA2分别绑定到绿灯,黄灯,红灯上,这里设定管脚号分别为221,204,233;LAMPB0

20、,LAMPB1,LAMPB2分别绑定到绿灯,黄灯,红灯上,这里设定管脚号分别为206,186,222;TAH0TAH7, TAL0TAL7,TBH0TBH7 ,TBL0TBL7分别绑定到四个数码管上,管脚号这里就不一一赘述。六、编译下载,验证结果。实验结果分析:c为乡村道路信号,当c=0时,即乡村道路无车,主干道经过绿灯20秒,黄灯5秒,此时若c=1,则变成红灯,倒计时变成16秒,否则,又回到绿灯,倒计时停在1;乡村道路经过红灯25秒,此时若c=1,则变成绿灯,倒计时变成11秒,否则仍为红灯,倒计时停在1秒。如果开始时c=0,经过一段时间后有车来,假设此时主干道通行时间已经超过最短通行时间25秒,则主干道变黄灯,倒计时5秒后变红灯,乡村道路红灯倒计时5秒后变绿灯。假设乡村道路绿灯时,c=0,则不管乡村道路倒计时有没有到1都变黄灯,5秒后变红灯,主干道倒计时5秒后变绿灯。分析实验结果可以看到该系统实现了所有设计要求,运行结果正确。七、实验总结该设计用了3个底层模块和一个顶层文件,总体思路比较清晰,实现了交通灯控制器的各种功能,还有主干道和乡村道路的倒计时显示。八、实验心得 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁