EDA交通灯课程设计Word格式文档下载.docx

上传人:b****5 文档编号:15936202 上传时间:2022-11-17 格式:DOCX 页数:6 大小:26.40KB
下载 相关 举报
EDA交通灯课程设计Word格式文档下载.docx_第1页
第1页 / 共6页
EDA交通灯课程设计Word格式文档下载.docx_第2页
第2页 / 共6页
EDA交通灯课程设计Word格式文档下载.docx_第3页
第3页 / 共6页
EDA交通灯课程设计Word格式文档下载.docx_第4页
第4页 / 共6页
EDA交通灯课程设计Word格式文档下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

EDA交通灯课程设计Word格式文档下载.docx

《EDA交通灯课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA交通灯课程设计Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。

EDA交通灯课程设计Word格式文档下载.docx

2设计原理

交通灯控制器的状态转换

根据论文题目要求,将红绿灯的状态转换列成如下表

上表为交通灯控制器的状态转换表

设计方案

1、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;

二是由发光二极管代替的交通灯,每个方向3个发光二极管。

2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

LED动态显示与频率

由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为1024hz

3电路符号

交通控制器的电路符号如图所示。

其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。

4设计方法

采用文本编辑法,既采用vhdl语言描述交通控制器,代码如下:

libraryieee;

usetrafficIS

port(clk1k,SN:

instd_logic;

led1,led2,led3,led4:

outstd_logic_vector(3downto0);

--显示管显示时间用

light:

outstd_logic_vector(5downto0));

--红绿黄灯

endtraffic;

architecturetraffic1oftrafficIS

signalS:

std_logic_vector(1downto0);

--状态

signalDXT:

std_logic_vector(7downto0):

=X"

01"

;

--东西方向时间

signalNBX:

--南北方向时间

signalART,AGT,AYT,BRT,BGT,BYT:

std_logic_vector(7downto0);

--红绿黄灯信号

signalSL:

std_logic;

signaltemp:

integerrange0to1023;

--产生1s计数器时计数

signalclk:

begin

sL<

='

1'

--红绿灯时间设定

ART<

="

00100101"

AGT<

00100000"

AYT<

00000100"

BRT<

BGT<

BYT<

process(clk1k)--选频率为1024HZ

if(clk1k'

eventandclk1k='

)then

iftemp=1023then

temp<

=0;

clk<

else

=temp+1;

0'

endif;

endprocess;

--进程结束

process(clk,DXT,NBX)--状态转换进程

begin

ifclk'

eventandclk='

then

if(DXT="

00000001"

)OR(NBX="

)thenS<

=S+1;

elseS<

=S;

--状态转换结束

process(clk,SN,S)--倒计时模块

ifSN='

thenDXT<

=DXT;

NBX<

=NBX;

else

eventandclk='

then

if(DXT="

0000000"

)OR(NBX="

00000000"

caseSIS

when"

00"

=>

DXT<

=ART;

=BGT;

--南北红灯、东西绿灯

=BYT;

--南北红灯、东西黄灯

10"

=AGT;

=BRT;

--南北绿灯、东西红灯

11"

=AYT;

--南北黄灯、东西红灯

whenothers=>

NULL;

endcase;

ifDXT/="

ifDXT(3downto0)="

0000"

DXT(3downto0)<

1001"

DXT(7downto4)<

=DXT(7downto4)-1;

elseDXT(3downto0)<

=DXT(3downto0)-1;

=DXT(7downto4);

ifNBX/="

ifNBX(3downto0)="

NBX(3downto0)<

NBX(7downto4)<

=NBX(7downto4)-1;

elseNBX(3downto0)<

=NBX(3downto0)-1;

=NBX(7downto4);

--倒计时模块结束

process(SL,DXT,NBX,S,SN)--显示模块

caseSLIS

when'

led1<

=NBX(3downto0);

led2<

led3<

=DXT(3downto0);

led4<

endcase;

ifSN='

thenlight<

001001"

light<

010001"

light<

100001"

001010"

001100"

endtraffic1;

5软件仿真

时序仿真图

6结论

数码管动态显示,需要通过位选、段选控制。

通过查询手册,将2位位选信号接到试验箱数码管位选端,将7位段选信号连接到试验箱数码管的段选控制端。

当送人合适的控制信号后,数码管即可正常工作。

通过下载仿真后,能得到预期的实验结果。

通过拨动(开关控制)为高电平,能实现交通灯紧急状态(红灯全亮)。

若SN为低电平,数码管和主南北的红绿灯能有序亮灭。

7收获及感想

短短一个星期的EDA课程设计很块就结束了,虽然在之前的学习过程中还存在着没有弄懂的问题,但是通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

在拿到题目后,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真,在波形仿真的过程中,同样遇到了困难,有的时候,由于ENDTIME的时间修改的太大,会出现仿真时间过长的问题,这个时候应该要把ENDTIME的时间相应的改小,或是修改系统时钟的频率。

在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。

在今后的工作和学习中,我们不能仅仅把目光停留在课本上,要多理论联系实际。

有的时候,理论上是正确的东西放到现实中去,可能由于种种因素的制约,并不能达到实际的效果,还需要我们进行相应的修改才能完成要求。

这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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