大规模数字逻辑课程设计-交通灯设计.doc

上传人:yyf 文档编号:5095618 上传时间:2020-02-01 格式:DOC 页数:10 大小:135.75KB
返回 下载 相关 举报
大规模数字逻辑课程设计-交通灯设计.doc_第1页
第1页 / 共10页
大规模数字逻辑课程设计-交通灯设计.doc_第2页
第2页 / 共10页
大规模数字逻辑课程设计-交通灯设计.doc_第3页
第3页 / 共10页
大规模数字逻辑课程设计-交通灯设计.doc_第4页
第4页 / 共10页
大规模数字逻辑课程设计-交通灯设计.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《大规模数字逻辑课程设计-交通灯设计.doc》由会员分享,可在线阅读,更多相关《大规模数字逻辑课程设计-交通灯设计.doc(10页珍藏版)》请在三一文库上搜索。

1、大规模数字逻辑课程设计题目:交通灯设计学 号: xxx 姓 名: xxx 班 级: xxx 2011年12月4日目录1.交通信号灯控制的实验要求与思路31.1实验要求31.2实验思路32.系统逻辑设计:43.源程序代码4(1)分频器部分4(2)控制模块54.实验步骤:75. 实验原理图:76.分配管脚87.运行界面:88.总结与体会109.参考文献101. 交通信号灯控制的实验要求与思路1.1实验要求 (1)在交通灯控制系统中,要求东、西、南、北都有绿灯、黄灯、红灯。当控制系统启动执行时,南北方向绿灯亮10s,过后由绿灯变为黄灯并亮5s,而同时在这15s内,东西方向为红灯并保持15s;当15s

2、过后,南北方向由黄灯变为红灯并亮15s,东西方向绿灯先亮10s,然后换为黄灯亮5s;按照这个控制步骤就可以实现系统的单次循环,重复以上四个状态就可以实现交通灯控制系统的循环运作。 (2)南北向的红灯、黄灯、绿灯分别对应开发板上的LED0,、LED1、LED2; 东西向的红灯、黄灯、绿灯分别对应开发板上的LED3、LED4、LED5;(3) 时间分配表状态0状态1状态2状态3南北绿(10秒)黄(5秒)红(10秒)红(5秒)东西红(10秒)红(5秒)绿(10秒)黄(5秒)1.2实验思路由上图的时间分配可以列出其状态列表状态南、北向灯东、西向灯绿灯黄灯红灯绿灯黄灯红灯S0100001S1010001

3、S2001100S3001010根据设计要求,系统状态转换图如图所示。S0S1S3 S2 状态转换图2. 系统逻辑设计: 根据以上的设计要求,运用模块化的设计思路,我们在Quartus II8.0 软件系统中设计了交通灯控制模块、分频器模块,并通过各个模块程序之间的端口合理连接和协调,成功设计出交通信号灯控制电路,得到逻辑结构原理图,即为整个交通信号灯控制电路的逻辑结构。使用VerilogHDL语言设计相应的模块。3.源程序代码(1)/ 分频器部分 ,获得便于试验观察的时钟信号 module clk_div(clk_out,clk_in); input clk_in; output clk_o

4、ut; reg clk_out; reg25:0 counter; /50_000_000=1011_1110_1011_1100_0010_0000_00parameter cnt=50_000_000; / 50MHz is the sys clk,50_000_000=2FAF080 always (posedge clk_in) begincounter=counter+1; if(counter=cnt/2-1)begin clk_out=!clk_out; counter=0;end endendmodule(2)/控制模块:module traffic(clk,reset,red

5、1,yellow1,green1,red2,yellow2,green2);input clk,reset;output red1,yellow1,green1,red2,yellow2,green2; parameter st0=0,st1=1,st2=2,st3=3;reg4:0 state,nxstate;reg red1,yellow1,green1,red2,yellow2,green2;always (posedge clk or posedge reset)beginif(reset)state=st0;elsestate=nxstate;endalways (state)cas

6、e(state)st0:begin/S0:南北绿(10秒),东西红(10秒)red1=1b0;green1=1b1;yellow1=1b0;red2=1b1;green2=1b0;yellow2=1b0;nxstate=st1;endst1:begin/S1南北黄(5秒),东西红(5秒)red1=1b0;green1=1b0;yellow1=1b1;red2=1b1;green2=1b0;yellow2=1b0;nxstate=st2;endst2:begin/S2:南北红(10秒),东西绿(10秒)red1=1b1;green1=1b0;yellow1=1b0;red2=1b0;green2

7、=1b1;yellow2=1b0;nxstate=st3;endst3:begin /S3:南北红(5秒),东西黄(5秒)red1=1b1;green1=1b0;yellow1=1b0;red2=1b0;green2=1b0;yellow2=1b1;nxstate=st0;endendcaseendmodule4.实验步骤:将MODUL_SEL拨码开关组合为1,2,8拨上3,4,5,6,7拨下,是数码管显示为C1.1 建立工程,对建立的工程命名、文件命名,选择相应的芯片及配置,然后在打开的工程下建立VerilogHDL语言编写的文件:文件名分别是traffic、clk_div,将这两个文件同时

8、加入此工程内。2 将相应的文件转换为符号文件,并创建一个block,生成电路原理图,然后将此文件保存到当前工程下,并将文件名命名为Block,然后将其设置为顶层实体。3 将步骤2中生成的Block文件先进行综合,待综合无误之后进行管脚分配,之后进行全编译生成我们需要下载到开发板上的sof文件,然后加入下载界面,选择相应的设置,且在JTAG模式下,然后下载该sof文件来观察开发板上LED的变化现象。5. 实验原理图:从图中可以看出开发板的系统时钟在经过预分频后会由50MHZ分频到我们所需要的1HZ,然后在时钟的控制下,信号灯会一次按照指定的顺序来亮或者灭,从而达到信号灯的循环控制。6.分配管脚设

9、计端口芯片引脚开发平台模块EP2C35F484C7clk_inPIN_L1red1PIN_Y13LED0yellow1PIN_U14LED1green1 PIN_W16LED2 red2PIN_AA16LED3yellow2PIN_AA17LED4green2PIN_V14LED5resetPIN_U227.运行界面:(1)根据traffic文件代码创建符号文件:(2)根据clk_div文件代码创建符号文件:(3)综合时显示框(4)全编译时显示框(5)下载文件的界面:8.总结与体会 通过这次的课程设计,使我对一些基础知识进一步的理解,熟练了软件Qutars II8.0中的一些基本操作,并且对一个设计实例中的整个运作流程有所了解,知道了每个操作步骤的具体作用,这样可以是自己避免一些常规的错误。在此编写控制信号的代码时候,其中有些语法知识需要认真理解,当编译代码时候发生错误时需要一步一步地来进行调试,只有这样才能够得到我们所需要的理想值。9.参考文献 VerilogHDL综合实用教程 J.Bhasker 著 孙海平 译 清华大学出版社 2004. 110

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1