交通灯控制系统设计报告Word格式.docx

上传人:b****9 文档编号:13044094 上传时间:2022-10-03 格式:DOCX 页数:15 大小:172.67KB
下载 相关 举报
交通灯控制系统设计报告Word格式.docx_第1页
第1页 / 共15页
交通灯控制系统设计报告Word格式.docx_第2页
第2页 / 共15页
交通灯控制系统设计报告Word格式.docx_第3页
第3页 / 共15页
交通灯控制系统设计报告Word格式.docx_第4页
第4页 / 共15页
交通灯控制系统设计报告Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

交通灯控制系统设计报告Word格式.docx

《交通灯控制系统设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统设计报告Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

交通灯控制系统设计报告Word格式.docx

3.3倒计时模块(jtdtime)的设计

3.4数码管显示模块(jtdxs)的设计

3.5信号灯显示模块(jtdlight)的设计

3.6引脚锁定

4编程下载

设东西方向和南北方向的车流量大致相同,因此红、黄、绿灯的时长也相同,定为红灯45秒,黄灯5秒,绿灯40秒,同时用数码管指示当前状态(红、黄、绿灯)剩余时间。

另外,设计一个紧急状态,当紧急状态出现时,两个方向都禁止通行,指示红灯且数码管停止计时并闪烁。

根据交通灯控制器的功能与要求,将其总体电路分为状态控制,倒计时,数码管显示,信号灯显示模块(jtdctrl,jtdtime,jtdxs,jtdlight)。

jtdctrl实现逻辑和时序控制,外部两路脉冲振荡器的频率选为1kHz和1Hz的信号,1khz信号用于显示模块的扫描,1Hz信号用做倒计时模块的计数脉冲。

M为紧急状态和自动运行状态的控制端。

总体框图:

当M=“1”时,进入紧急状态,S输出为B"

100100"

即南北、东西向均为红灯亮。

且数码管停止计时并闪烁。

(数码管在当时时间与X“FF”之间来回切换)

当M=“0”时,交通即开始正常工作。

M=“0”时,经过40秒,S由B"

100010"

变为B"

100001"

,再经过5秒,S变为B"

010100"

,再经过40秒,S变为B"

001100"

……如此循环下去。

当M=“1”跳变到M=“0”时,数码管继续计时,恢复正常工作状态。

南北、东西方向的红绿灯按表一表二变化。

表一交通灯状态转换表

东西(A)方向

红灯

绿灯

黄灯

45秒

40秒

5秒

南北(B)方向

表二交通灯状态转换表

M

S

备注

1

100100

长时间亮红灯

状态1:

100010

持续40秒,转到状态2

状态2:

100001

持续5秒,转到状态3

状态3:

010100

持续40秒,转到状态4

状态4:

001100

持续5秒,转到状态1

注:

S的六位分别对应东西方向(A方向)的红绿黄和南北方向(B方向)的红绿黄。

‘1’表示亮,‘0’表示灭。

图2顶层原理图

顶层原理图设计可以依据系统框图进行,由反馈控制,倒计时,数码管显示,信号灯显示模块(jtdctrl,jtdtime,jtdxs,jtdlight)五部分组成。

其顶层原理图如图2所示。

顶层文件的仿真波形图如图3所示:

图3顶层文件的仿真波形

·

状态控制模块根据倒计时模块(jtdtime)的输出信号和1hz的时钟信号,产生系统的状态机,控制其他部分的协调工作。

该模块的源文件程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYJTD_CTROLIS

PORT(CLK:

INSTD_LOGIC;

AT,BT:

INSTD_LOGIC_VECTOR(7DOWNTO0);

S:

OUTSTD_LOGIC_VECTOR(1DOWNTO0));

ENDJTD_CTROL;

ARCHITECTUREJTDOFJTD_CTROLIS

SIGNALQ:

STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

PROCESS(CLK,AT,BT)

BEGIN

IFCLK'

EVENTANDCLK='

1'

THEN

IF(AT=X"

01"

)OR(BT=X"

)THENQ<

=Q+1;

——通过AT,BT的反馈信号控制倒计时模块和信号显示jtd_light模块的工作

ELSEQ<

=Q;

ENDIF;

ENDPROCESS;

S<

ENDJTD;

状态控制模块的仿真波形图如图4所示:

图4状态控制模块的仿真波形图

倒计时模块用来设定A和B两个方向计时器的初值,并为数码管显示模块提供倒计时时间。

倒计时模块源文件程序如下:

ENTITYJTD_TIMEIS

PORT(CLK:

INSTD_LOGIC;

M:

S:

INSTD_LOGIC_VECTOR(1DOWNTO0);

AT,BT:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDJTD_TIME;

ARCHITECTUREJTD_1OFJTD_TIMEIS

SIGNALATI:

STD_LOGIC_VECTOR(7DOWNTO0):

=X"

;

SIGNALBTI:

SIGNALART,AGT,AYT:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALBRT,BGT,BYT:

sharedvariablebf:

std_logic:

='

0'

BEGIN——设定各个红绿黄的工作时间

ART<

45"

AGT<

40"

AYT<

05"

BRT<

BGT<

BYT<

process

begin

waituntilclk'

eventandclk='

ifM='

then

AT<

=ATI;

BT<

=BTI;

elsif(M='

andbf='

)then

AT<

="

11111111"

bf:

=notbf;

endif;

endprocess;

PROCESS(CLK,M,S)

IFM='

THEN

ATI<

BTI<

ELSE

EVENTANDCLK='

THEN

IF(ATI=X"

)OR(BTI=X"

)THEN

CASESIS——通过S的变化控制各个状态,给倒计时显示灯赋值

WHEN"

00"

=>

=ART;

=BGT;

BTI<

=BYT;

10"

=AGT;

=BRT;

11"

=AYT;

ENDCASE;

IFATI/=X"

THEN——A方向(东西方向)倒计时

IFATI(3DOWNTO0)="

0000"

ATI(3DOWNTO0)<

1001"

ATI(7DOWNTO4)<

=ATI(7DOWNTO4)-1;

ELSEATI(3DOWNTO0)<

=ATI(3DOWNTO0)-1;

ATI(7DOWNTO4)<

=ATI(7DOWNTO4);

IFBTI/=X"

THEN——B方向(南北方向)倒计时

IFBTI(3DOWNTO0)="

BTI(3DOWNTO0)<

BTI(7DOWNTO4)<

=BTI(7DOWNTO4)-1;

ELSEBTI(3DOWNTO0)<

=BTI(3DOWNTO0)-1;

BTI(7DOWNTO4)<

=BTI(7DOWNTO4);

--AT<

--BT<

ENDJTD_1;

倒计时模块的仿真波形图如图5所示为:

图5倒计时模块的仿真波形图

显示模块用来显示倒计时时间。

采用动态扫描显示,通过分位程序,控制四个数码管的显示时间。

数码管显示模块的源文件程序为:

ENTITYJTD_XSIS

PORT(CLK1K:

AT,BT:

INSTD_LOGIC_VECTOR(7DOWNTO0);

LED1,LED2,LED3,LED4:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDJTD_XS;

ARCHITECTUREJTD_3OFJTD_XSIS

SIGNALOU1,OU2,OU3,OU4:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALSL:

STD_LOGIC_VECTOR(1DOWNTO0);

PROCESS(CLK1K)

IFCLK1K'

EVENTANDCLK1K='

IFSL="

THENSL<

——扫描LED显示管

ELS

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

当前位置:首页 > 求职职场 > 简历

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

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