交通灯控制器 EDA课程设计实验报告.docx

上传人:b****5 文档编号:12028330 上传时间:2023-04-16 格式:DOCX 页数:11 大小:287.71KB
下载 相关 举报
交通灯控制器 EDA课程设计实验报告.docx_第1页
第1页 / 共11页
交通灯控制器 EDA课程设计实验报告.docx_第2页
第2页 / 共11页
交通灯控制器 EDA课程设计实验报告.docx_第3页
第3页 / 共11页
交通灯控制器 EDA课程设计实验报告.docx_第4页
第4页 / 共11页
交通灯控制器 EDA课程设计实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

交通灯控制器 EDA课程设计实验报告.docx

《交通灯控制器 EDA课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《交通灯控制器 EDA课程设计实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

交通灯控制器 EDA课程设计实验报告.docx

交通灯控制器EDA课程设计实验报告

目录

1课程设计要求·····································································3

2电路功能描述····································································3

3设计方案·············································································3

4设计原理图··········································································4

5VHDL语言············································································4

6仿真截图···············································································6

7心得体会···············································································11

8参考文献···············································································11

 

1.课程设计要求

1.1.红、黄、绿灯分别控制显示;

1.2.每一个状态分别分配一个时间显示(两位十进制,倒计时);

1.3.符合实际交通规律。

2.电路功能描述

本设计是实现交通灯的控制,模拟实现了红、绿、黄灯指挥交通的功能。

本设计适用东西和南北方向的车流量大致相同的路口,红灯显示时间30S,绿灯显示时间25S,黄灯显示时间5S,同时用数码管指示当前的状态(红、绿、黄灯)的剩余时间。

当有紧急状况发生时,两个方向都禁止通行,并且显示红灯,当紧急状况解除后,重新计时并且指示时间。

3.设计方案

根据设计要求,需要控制显示红、黄、绿三个灯的亮灭状态及显示的时间。

这个设计主要由两部分组成,红黄绿灯的显示模块,显示时间模块。

由实际的交通情况可知,东西方向的显示情况是一致的,南北方向的显示情况也是一致,故在设计的时候就只考虑两种状态,将东西方向合成一种,南北方向合成一种。

红黄绿灯的显示模块用两组共6个灯显示,时间显示模块用LED数码管显示。

此外,本交通灯控制器设置的红黄绿显示方式是参照一些城市的显示规律,红灯30S,绿灯25S,黄灯5S,同时用数码管指示当前状(红、绿、黄灯)的剩余时间。

另外还设有一个紧急状态,当特殊情况发生时,两个方向都禁止通行,指示红灯,紧急状态解除后,重新计时并指示时间。

时间采用倒计时的方式显示。

本设计采用VHDL语言编程,描述各个硬件模块实现的功能,使红、黄、绿灯的转换有一个准确的转换顺序和时间间隔,并进行仿真,通过仿真的结果,得出实验的结果。

在正常情况下的一个完整周期内,交通灯控制器系统一共有四种状态,分别是东西红、南北绿,东西红、南北黄,东西绿、南北红,东西黄、南北红。

其运行方式为东西红、南北绿→东西红、南北黄→东西绿、南北红→东西黄、南北绿,东西黄、南北绿结束后再回到东西红、南北绿的状态,整个周期持续60s。

urgency为紧急控制信号,为高电平时系统转换为东西南北均是红灯亮的状态,状态结束后系统重新设置,转换为东西红,南北绿的状态。

4.设计的原理图

 

5.VHDL硬件描述语言

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYtrafficIS--定义实体

PORT(clk:

INSTD_LOGIC;--CLK为时钟信号(1Hz)

urgency:

INSTD_LOGIC;--紧急状态控制端

led:

BUFFERSTD_LOGIC_VECTOR(5DOWNTO0);--红黄绿绿黄红

East_West,South_North:

BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));

END;--东西、南北倒计时数码管(高4位为十位,低4位为个位)

ARCHITECTURErtlOFtrafficIS--定义结构体

BEGIN

PROCESS(clk,urgency)

BEGIN

IFurgency='1'THEN--出现紧急状态

led<="100001";--东西南北都亮红灯

East_West<="00000000";--设置重新计时的数据

South_North<="00000000";

ELSIF(clk'EVENTANDclk='1')THEN

IF(East_West>"00110000"orSouth_North>"00110000")THEN

East_West<="00101001";--计数错误时纠正到初始转态

South_North<="00100100";

led<="100100";--东西红灯亮30秒,南北绿灯亮25秒

ELSIF(East_West="00000101"ANDSouth_North="00000000")THEN

East_West<="00000100";--红、绿灯亮了25秒,绿灯将转变为黄灯

South_North<="00000100";

led<="100010";--东西红灯亮剩余5秒,南北黄灯亮5秒

ELSIF(East_West="00000000"ANDSouth_North="00000000"ANDled="100010")THEN--东西红灯30秒时间结束,南北黄灯5秒结束

East_West<="00100100";

South_North<="00101001";

led<="001001";--东西亮绿灯25秒,南北亮红灯30秒

ELSIF(East_West="00000000"ANDSouth_North="00000101")THEN

East_West<="00000100";--东西红绿亮25秒结束,转为5秒黄灯

South_North<="00000100";

led<="010001";--东西黄灯亮5秒,南北红灯亮剩余5秒

ELSIF(East_West="00000000"ANDSouth_North="00000000"ANDled="010001")THEN--东西亮黄灯5秒结束,南北亮30秒红灯结束

East_West<="00101001";

South_North<="00100100";

led<="100100";--东西红灯30秒,南北绿灯25秒,循环

ELSIF(East_West(3DOWNTO0)=0ANDSouth_North(3DOWNTO0)=0)THEN

East_West<=East_West-7;--BCD码减法转换

South_North<=South_North-7;

ELSIF(East_West(3DOWNTO0)=0ANDSouth_North(3DOWNTO0)=0)THEN

East_West<=East_West-7;--BCD码减法转换

South_North<=South_North-1;

ELSIF(South_North(3DOWNTO0)=0ANDEast_West(3DOWNTO0)=0)THEN

South_North<=South_North-7;--BCD码减法转换

East_West<=East_West-1;

ELSEEast_West<=East_West-1;--不满足上述特殊情况时减一

South_North<=South_North-1;

ENDIF;

ENDIF;

ENDPROCESS;

END;

 

6.仿真截图

6.1VHDL源程序仿真

创建VHDL语言的编程窗口,并进行保存

程序截图:

对源程序进行编译,为出现错误。

6.1.2创建波形文件并进行仿真

导入,

将仿真的结束时间定为65s,进行仿真;

(1)、东西红,南北绿:

(2)、东西红,南北黄

(3)东西绿,南北红

7.心得体会

通过这次的课程设计,加深了我对EDA技术这么课程的理解和认识,同时也让我对其有了更加熟练的运用。

之前对VHDL的了解仅局限于课本上的些许知识,而没有深入体会,缺乏实践经验。

这次的课程设计是很有意义的。

看到设计题目之后,我意识到自己对VHDL语言的掌握程度远远不够,开始查阅VHDL教程,寻找教程上的相似问题。

最先做的是对设计进行模块的划分。

在这个过程中,我也遇到了很多的问题,刚开始,没有找对方向,浪费了很多的时间。

慢慢的,在查阅了相关的书籍之后,我找到了设计思路,确定了其由两个模块构成的思路。

在对各个模块进行仿真的时候,遇到了不少困难,各个模块的连接以及信号的定义老是出现错误,经过反复修改才成功。

8.参考文献

[1]潘松黄继业•EDA技术实用教程——VHDL版(第4版)•科学出版社,2010

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

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1