交通灯信号控制器的设计实验报告Word格式文档下载.docx

上传人:b****3 文档编号:18199878 上传时间:2022-12-14 格式:DOCX 页数:19 大小:956.51KB
下载 相关 举报
交通灯信号控制器的设计实验报告Word格式文档下载.docx_第1页
第1页 / 共19页
交通灯信号控制器的设计实验报告Word格式文档下载.docx_第2页
第2页 / 共19页
交通灯信号控制器的设计实验报告Word格式文档下载.docx_第3页
第3页 / 共19页
交通灯信号控制器的设计实验报告Word格式文档下载.docx_第4页
第4页 / 共19页
交通灯信号控制器的设计实验报告Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

交通灯信号控制器的设计实验报告Word格式文档下载.docx

《交通灯信号控制器的设计实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通灯信号控制器的设计实验报告Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

交通灯信号控制器的设计实验报告Word格式文档下载.docx

在定时单元CNT45S和CNT25S的设计中,根据设计要求需要进行减计数,但本设计中仍使用的是加法计数,只是在将计数结果转换成两位BCD码时,将计数的最小值对应转换成显示定时的最大值,计数值加1时,转换的显示值减1,以此类推。

同时,由于主、支道从亮绿灯转到亮红灯中间有5s亮黄灯的时间过渡,因此对应的支、主道亮红灯的时间比对应的主、支道亮绿灯的时间要多5s,考虑到此原因,CNT45S和CNT25S计数器在把计数结果转换成显示的BCD码值时,将用于驱动绿灯的BCD码按实际定时要求转换,而将对应的用于驱动红灯的BCD码在实际定时要求的基础上加5进行转换。

4、实验设计

1)

系统原理框图

本系统总体可分为两个两个层次,即LED显示和数码管显示,核心模块为JTDKZ产生系统的所有信号

2)VHDL程序

◆JTDKZ的VHDL程序

--Jtdkz.vhd

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYJTDKZIS

PORT(CLK,SM,SB:

INSTD_LOGIC;

MR,MY,MG,BR,BY,BG:

OUTSTD_LOGIC);

ENDENTITYJTDKZ;

ARCHITECTUREARTOFJTDKZIS

TYPESTATE_TYPEIS(A,B,C,D);

SIGNALSTATE:

STATE_TYPE:

=A;

BEGIN

CNT:

PROCESS(CLK)IS

VARIABLES:

INTEGERRANGE0TO45:

=0;

VARIABLECLR:

BIT:

='

0'

;

VARIABLEEN:

BEGIN

IF(CLK'

EVENTANDCLK='

1'

)THEN

IFCLR='

THENS:

ELSIFEN='

=S;

ELSES:

=S+1;

ENDIF;

CASESTATEIS

WHENA=>

MR<

MY<

MG<

BR<

BY<

BG<

IF(SBANDSM)='

THEN

IFS=45THENSTATE<

=B;

CLR:

EN:

ELSESTATE<

ENDIF;

ELSIF(SBAND(NOTSM))='

STATE<

=C;

--STATE<

=B

ELSESTATE<

--

ENDIF;

WHENB=>

IFS=5THENSTATE<

ELSESTATE<

ENDIF;

WHENC=>

IFS=25THENSTATE<

=D;

ELSIFSB='

THENSTATE<

ELSIFS=25THENSTATE<

WHEND=>

WHENOTHERS=>

ENDCASE;

ENDPROCESSCNT;

ENDARCHITECTUREART;

◆XSKZ的VHDL程序

--Xskz.vhd

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYXSKZIS

PORT(EN45,EN25,EN05M,EN05B:

AIN45M,AIN45B,AIN25M,AIN25B,AIN05:

INSTD_LOGIC_VECTOR(7DOWNTO0);

DOUTM,DOUTB:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYXSKZ;

ARCHITECTUREARTOFXSKZIS

BEGIN

PROCESS(EN45,EN25,EN05M,EN05B,AIN45M,AIN45B,AIN25M,AIN25B,AIN05)IS

IFEN45='

THENDOUTM<

=AIN45M(7DOWNTO0);

DOUTB<

=AIN45B(7DOWNTO0);

ELSIFEN05M='

=AIN05(7DOWNTO0);

ELSIFEN25='

=AIN25M(7DOWNTO0);

=AIN25B(7DOWNTO0);

ELSIFEN05B='

ENDPROCESS;

◆CNT05S的VHDL程序

--Cnt05s.vhd

ENTITYCNT05SIS

PORT(CLK,EN05M,EN05B:

DOUT5:

ENDENTITYCNT05S;

ARCHITECTUREARTOFCNT05SIS

SIGNALCNT3B:

STD_LOGIC_VECTOR(2DOWNTO0);

PROCESS(CLK,EN05M,EN05B)IS

BEGIN

IF(CLK'

IFEN05M='

THENCNT3B<

=CNT3B+1;

ELSIFEN05B='

=CNT3B-CNT3B-1;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CNT3B)IS

CASECNT3BIS

WHEN"

000"

=>

DOUT5<

="

00000101"

001"

00000100"

010"

00000011"

011"

00000010"

100"

00000001"

WHENOTHERS=>

00000000"

ENDCASE;

◆CNT25S的VHDL程序

--Cnt25s.vhd

ENTITYCNT25SIS

PORT(SB,SM,CLK,EN25:

DOUT25M,DOUT25B:

ENDENTITYCNT25S;

ARCHITECTUREARTOFCNT25SIS

SIGNALCNT5B:

STD_LOGIC_VECTOR(4DOWNTO0);

PROCESS(SB,SM,CLK,EN25)IS

IF(SB='

ORSM='

)THENCNT5B<

=CNT5B-CNT5B-1;

ELSIF(CLK'

IFEN25='

THENCNT5B<

=CNT5B+1;

ELSIFEN25='

PROCESS(CNT5B)IS

CASECNT5BISWHEN"

00000"

DOUT25M<

00100101"

DOUT25B<

00110000"

WHEN"

00001"

00100100"

00101001"

WHEN"

00010"

00100011"

00101000"

00011"

00100010"

00100111"

00100"

00100001"

00100110"

00101"

00100000"

00110"

00011001"

00111"

00011000"

01000"

00010111"

01001"

00010110"

01010"

00010101"

01011"

00010100"

01100"

00010011"

01101"

00010010"

01110"

00010001"

01111"

00010000"

10000"

00001001"

10001"

00001000"

10010"

00000111"

10011"

00000110"

10100"

10101"

10110"

10111"

11000"

WHENOTHERS=>

◆CNT45S的VHDL程序

--Cnt45s.vhd

ENTITYCNT45SIS

PORT(SB,SM,CLK,EN45:

DOUT45M,DOUT45B:

ENDENTITYCNT45S;

ARCHITECTUREARTOFCNT45SIS

SIGNALCNT6B:

STD_LOGIC_VECTOR(5DOWNTO0);

PROCESS(SB,SM,CLK,EN45)IS

IFSB='

ORSM='

THENCNT6B<

=CNT6B-CNT6B-1;

IFEN45='

=CNT6B+1;

ELSIFEN45='

PROCESS(CNT6B)IS

CASECNT6BIS

000000"

DOUT45M<

01000101"

DOUT45B<

01010000"

000001"

01000100"

01001001"

000010"

01000011"

01001000"

000011"

01000010"

01000111"

000100"

01000001"

01000110"

000101"

01000000"

000110"

00111001"

000111"

00111000"

001000"

00110111"

001001"

00110110"

001010"

00110101"

001011"

00110100"

001100"

00110011"

001101"

00110010"

001110"

00110001"

001111"

010000"

010001"

010010"

010011"

010100"

010101"

010110"

010111"

WHEN"

011000"

011001"

011010"

011011"

011100"

011101"

011110"

011111"

100000"

100001"

100010"

100011"

100100"

100101"

100110"

100111"

101000"

101001"

101010"

101011"

101100"

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

当前位置:首页 > 解决方案 > 学习计划

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

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