实验八 交通灯控制电路的设计Word格式文档下载.docx

上传人:b****1 文档编号:2969148 上传时间:2023-05-01 格式:DOCX 页数:15 大小:45.12KB
下载 相关 举报
实验八 交通灯控制电路的设计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_第6页
第6页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第7页
第7页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第8页
第8页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第9页
第9页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第10页
第10页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第11页
第11页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第12页
第12页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第13页
第13页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第14页
第14页 / 共15页
实验八 交通灯控制电路的设计Word格式文档下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验八 交通灯控制电路的设计Word格式文档下载.docx

《实验八 交通灯控制电路的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验八 交通灯控制电路的设计Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。

实验八 交通灯控制电路的设计Word格式文档下载.docx

时序流程图2所示。

图2中,假设每个单位时间为3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。

其中红灯亮的时间为绿灯、黄灯亮的时间之和。

123456789

101112123456

NSG

NSY

NSR

EWR

EWG

EWY

t

5t

6t

图2交通灯时序工作流程图

3、十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间。

具体为:

当某方向红灯亮时,置显示器为某值,然后以每秒减1计数方式方式工作,直至减到数为“0”,十字路口红、绿灯交换,一次工作循环结束,进入下一步某方向地工作循环。

例如:

当南北方向从黄灯转换成红灯时,置南北方向数字显示为24,并使数显计数器开始减“1”计数,当减到“0”,时,此时红灯灭,而南北方向的绿灯亮;

同时,东西方向的红灯亮,并置东西方向的数显为24。

三、实验内容:

1、根据实验要求及原理1、2画出交通指示灯控制电路原理框图。

提示:

两个方向的控制电路可以共用一个24进制计数器实现。

2、用VHDL硬件描述语言层次化设计方法进行顶层文件和各模块电路的设计。

3、用QuartusII对设计进行编译、综合、仿真,给出仿真波形和时序分析数据(不包括数码显示部分)。

4、通过QuartusII集成环境,将设计下载到实验电路上进行硬件测试。

管脚锁定:

clk:

clk143clk1

start:

PIO2330SW1

NSGPIO1929LED12

NSYPIO2028LED11

NSRPIO2127LED10

EWGPIO22LED3

EWYPIO12LED2

EWRLED1

5、画出完整的交通灯控制电路原理框图(含数码显示部分)。

6、修改上述内容2的设计,增加数码显示部分。

注意:

两方向的计数要求分别显示在数码管1、2和数码管7、8上。

7、用MAX_plusⅡ对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。

8、再次将设计下载到实验电路上进行硬件测试。

新增管脚锁定:

A(6):

PIO611SEGg

A(5):

PIO510SEGf

A(4):

PIO49SEGe

A(3):

PIO38SEGd

A

(2):

PIO27SEGc

A

(1):

PIO16SEGb

A(0):

PIO05SEGa

*S

(2):

80

*S

(1):

79

*S(0):

78

四、思考题:

1、控制电路除用有限状态机实现外,还可以采用什么方法实现?

2、如果增加夜间显示(即全部黄灯闪烁),电路该怎样设计?

实验结果:

交通灯控制电路原理框图:

顶层电路的VHDL描述:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitytrafficis

port(clk,start:

instd_logic;

NSG,NSY,NSR,EWG,EWY,EWR:

outstd_logic;

ledNS,ledEW:

outstd_logic_vector(7downto0)

);

end;

architecturebehavoftrafficis

componentNSEW

outstd_logic

endcomponent;

componentled7s

port(clock,start:

ledns,ledew:

signalclk0,clk1,clk2,clknsr,clkewr:

std_logic;

begin

u1:

NSEWportmap(clk=>

clk,start=>

start,

NSG=>

NSG,NSY=>

NSY,NSR=>

NSR,

EWG=>

EWG,EWY=>

EWY,EWR=>

EWR);

u2:

led7sportmap(clock=>

ledns=>

ledNS,ledew=>

ledEW);

各模块电路的VHDL描述:

模块clock的VHDL描述——

entityclockis

clk0,clk1,clk2:

endclock;

architecturebehavofclockis

process(clk,start)

variablecql:

std_logic_vector(6downto0);

ifclk'

eventandclk='

1'

then

ifstart='

then

ifcql<

48thencql:

=cql+1;

elsecql:

=(others=>

'

0'

endif;

24then

clk1<

='

;

elseclk1<

ifcql>

23andcql<

48then

clk2<

elseclk2<

endprocess;

模块cnt10的VHDL描述——

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK,EN,LD:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

D:

INSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC

ENDCNT10;

ARCHITECTUREBEHAVOFCNT10IS

BEGIN

PROCESS(CLK,EN)

VARIABLECQI:

STD_LOGIC_VECTOR(3DOWNTO0);

IFCLK'

EVENTANDCLK='

THEN

IFLD='

THENCQI:

=D;

IFEN='

IFCQI>

0THENCQI:

=CQI-1;

ELSECQI:

="

1001"

ENDIF;

IFCQI=0THENCOUT<

ELSECOUT<

CQ<

=CQI;

ENDPROCESS;

ENDBEHAV;

模块NSG的VHDL描述——

entityNSGis

cq:

outstd_logic_vector(3downto0);

oout:

architectureoneofNSGis

variablecqi:

std_logic_vector(3downto0);

then

ifcqi<

11thencqi:

=cqi+1;

elsecqi:

5thenoout<

elseoout<

cq<

=cqi;

endone;

模块NSR的VHDL描述——

entityNSRis

architectureoneofNSRis

6thenoout<

模块NSEW的VHDL描述——

entityNSEWis

architectureoneofNSEWis

std_logic_vector(5downto0);

andstart='

47thencqi:

21thenNSG<

elseNSG<

ifcqi>

20andcqi<

25thenNSY<

elseNSY<

25thenEWR<

elseEWR<

24andcqi<

49thenNSR<

elseNSR<

24ANDcqi<

45thenEWG<

elseEWG<

44ANDCQI<

49thenEWY<

elseEWY<

模块led7s的VHDL描述:

entityled7sis

architecturebehavofled7sis

signalcqi:

std_logic_vector(7downto0);

signalcql:

signalcnt6:

signalclk:

std_logic;

clk<

=clock;

process(clk)

ifclk'

ifstart='

then

ifcnt6<

47thencnt6<

=cnt6+1;

elsecnt6<

00000000"

endif;

endif;

32thencqi<

=cqi-1;

elsifcqi=32thencqi<

00011001"

elsifcqi>

16thencqi<

elsifcqi=16thencqi<

00001001"

0thencqi<

elsifcqi=0andcnt6=0

thencqi<

00100100"

32thencql<

=cql-1;

elsifcql=32thencql<

elsifcql>

16thencql<

elsifcql=16thencql<

0thencql<

elsifcql=0andcnt6=24

thencql<

ledew<

ledns<

=cql;

交通灯工作时序仿真波形:

测试结果及分析:

(1)东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和.

(2)当某方向红灯亮时,置显示器为某值,然后以每秒减1计数方式方式工作,直至减到数为“0”,十字路口红、绿灯交换,一次工作循环结束,进入下一步某方向地工作循环。

当东西方向从黄灯转换成红灯时,置东西方向数字显示为24,并使数显计数器开始减“1”计数,当减到“0”,时,此时红灯灭,而东西方向的绿灯亮;

同时,南北方向的红灯亮,并置南北方向的数显为24。

【回答问题】

答:

1.还可以用进程语句实现,用一个十二进制的计数器作为控制模块,则EWR、EWG、EWY、NSR、NSG、NSY在计数器不同输出的时候有相应的输出。

2.把黄灯输出信号EWY、NSY作为使能端,接到一个锁存器上,锁存器的输入时一个频率较高的信号,输出接黄色LED。

当EWY、NSY=1时,黄灯闪烁。

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2