基于vhdl的交通灯设计.doc

基于vhdl的交通灯设计.doc

ID:57275317

大小:97.50 KB

页数:4页

时间:2020-08-08

基于vhdl的交通灯设计.doc_第1页
基于vhdl的交通灯设计.doc_第2页
基于vhdl的交通灯设计.doc_第3页
基于vhdl的交通灯设计.doc_第4页
资源描述:

《基于vhdl的交通灯设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、交通灯设计课程名称:学院专业姓名:学号:年级:任课教师:2011年9月5日实验目的:1.熟悉quartus的使用,了解VHDL编程2.掌握逻辑电路的设计方法3.利用Quartus,使用VHDL语言编写一个交通灯的程序,使之可以实现红黄绿灯的交替出现,并在十字路口的另一条岔路上实现指挥的同步,完成交通指挥的功能。实验基本原理:在假设时钟信号为1HZ的情况下,对路口的灯进行计时,每当时间到时转入下一个状态,开始新一轮的计时,一个十字路口的交通灯组合后有四种情况(绿,红)(黄,红)(红,绿)(红,黄),每个状态可对应一个时间。在对每种状态

2、编号后就可以开始状态的循环了。实验内容:实验代码:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytrafficisport(clk:instd_logic;r1,y1,g1,r2,y2,g2:outstd_logic--六个输出对应十字路口的六个红绿灯);endtraffic;architectureactoftrafficisconstantyellow_time:int

3、eger:=5;constantgreen_time:integer:=20;--不用定义红灯的时间,因为后面用不到.signalstate:integerrange0to3;--这里有四种状态,用state来表示beginprocess(clk)beginif(clk'eventandclk='1')thencasestateis--用来展示这四种状态when0=>r1<='0';y1<='0';g1<='1';r2<='1';y2<='0';g2<='0';when1=>r1<='0';y1<='1';g1<='0';r2<='

4、1';y2<='0';g2<='0';when2=>r1<='1';y1<='0';g1<='0';r2<='0';y2<='0';g2<='1';whenothers=>r1<='1';y1<='0';g1<='0';r2<='0';y2<='1';g2<='0';endcase;endif;endprocess;process(clk)variablecount:integerrange0to25;beginif(clk'eventandclk='1')thenifcount=0then--状态的循环ifstate=3thens

5、tate<=0;elsestate<=state+1;endif;casestateiswhen0=>count:=yellow_time;--选择状态对应的时间when1=>count:=green_time;when2=>count:=yellow_time;whenothers=>count:=green_time;endcase;elsecount:=count-1;--状态的计时endif;endif;endprocess;endact;实验结果点击编译,可以看出没有出现错误设计出相应的波形文件并加载后,点击仿真,就可以出

6、现如下的波形由时序仿真的结果可以看出,它实现了红绿灯的交替以及十字路口的两路灯的协调实验总结:此次实验做出的交通灯是建立在时钟频率为1HZ的基础上的,而硬件实验中提供的时钟信号一般都为几兆赫兹,因此如果这个实验想要下载到实验箱上去模拟的的话就需要在前面加上分频的代码,并将clk换成更改后的时钟通过实验的结果可以看出,在红绿灯稳定之前,有几秒钟的不稳定时期,这个是由于在设计是没有给变量赋给初值造成的,这在以后的设计中尤其需要注意,而在稳定后,功能实现较好,各时间段的衔接很顺畅,并且计时的时候用的是定义的常数green_time和yel

7、low_time本实验中定义式25秒和5秒,这种做法可以方便以后的维护,修改起来也比较方便,并且使代码比较容易读懂。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。