1 / 9
文档名称:

交通灯控制器的vhdl程序设计.doc

格式:doc   大小:443KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

交通灯控制器的vhdl程序设计.doc

上传人:小枷 2019/5/1 文件大小:443 KB

下载得到文件列表

交通灯控制器的vhdl程序设计.doc

相关文档

文档介绍

文档介绍:交通灯控制器实验目的:1、学会使用VHDL语言编程解决实际问题;2、实现高速公路与乡间小路的交叉路口红绿灯的控制;3、熟悉MAX-plusⅡ的使用。实验设备:PC机一台实验原理与内容:实现高速公路与乡间小路的交叉路口红绿灯的控制。功能如下要求:,高速公路上的交通灯才可能变为红灯。、小路的交通灯保持为绿灯,但不能超过给定的延迟时间。〔注;这段时间定义为20S时间)。高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定的时间内保持高速公路绿灯。(注:这段时间定义为60S)。程序流程图:实验步骤:在C盘以后的盘上建一个文件夹,后缀名不能有中文。打开MAX-plusⅡ,单击file,在new中选择texteditorfile,单击ok打开文本编辑框。保存到新建的文件夹中,名称与实体一致,。在编辑框中输入程序,保存,置顶(file->project->setprojectcurrentfile);编译MAX-plusⅡ->compiler->star,如果有错误,可根据错误提示修改源程序,直到编译没有错误。波形编辑MAX-plusⅡ->Wavefromeditor->EnterNodesfromSnf->list->=>->ok;设置仿真信号(时钟信号,输入信号),保存。仿真simulator,保存,改变输入信号仿真。程序:LIBRARYIEEE;--;;ENTITYJTDKZIS--实体JTDKZ的说明PORT(CLK:INSTD_LOGIC;--时钟信号SB:INSTD_LOGIC;--小路有无车信号(SB=1:小路有车) MR,MY,MG,BR,BY,BG:OUTSTD_LOGIC);--交通灯信号ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZIS--JTDKZ的结构体说明 TYPESTATE_TYPEIS(A,B,C,D);--定义信号 SIGNALSTATE:STATE_TYPE; T:PROCESS(CLK)ISVARIABLECLR:BIT;--在进程中定义变量CLR(CLR=0:计时清零)VARIABLES:STD_LOGIC_VECTOR(0TO5);--在进程中定义变量S(S为时钟计时器) BEGIN IF(CLK'EVENTANDCLK='1')THEN--判断时钟信号上升沿 IFCLR='0'THEN--当CLR=0时计时变量清零 S:="000000"; ELSE S:=S+1; ENDIF; CASESTATEIS--状态A为大路通车(绿灯),小路禁止通车(红灯) WHENA=>MR<='0';MY<='0';MG<='1'; BR<='1';BY<='0';BG<='0'; IF(SB='1')THEN--判断小路是否有车 IF(S="111011")THEN--判断大路通行是否满60秒STATE<=B;CLR:='0';--大路满60秒,计时清零,转到状态B ELSE STATE<=A;CLR:='1';--大路不满60秒,继续状态A ENDIF;ELSE STATE<=A;CLR:='1';-