文档详情

EDA课程设计交通灯控制器的设计.doc

发布:2018-10-07约3.91千字共11页下载文档
文本预览下载声明
PAGE PAGE 1 EDA课程设计 题目: 交通灯控制器的设计 学院: 信息科学技术学院 专业: 电子信息工程 姓名: 同组: 指导老师: 龙翔 设计题目 交通灯控制器的设计 设计功能: 实现高速公路与乡间小路的交叉路口红绿灯的控制 三、具体功能要求: 1、只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。 2、当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的延迟时间。 (注:这段时间定义为20秒时间) 3、高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定时间内保持高速公路绿灯。 (注:这段时间定义为60秒时间) 4、交通信号灯的4种状态如下表: A B C D 高速交通灯 绿(60秒) 黄(5秒) 红(20秒) 红(5秒) 小道交通灯 红 红 绿 黄 四,设计思路 根据交通信号灯的变化可以有四种状态,分别为A,B,C,D输入为XLB即判断小路是否有车,当小路有车时再判断此时大路的绿灯状态,如果绿灯的状态还没结束,那么小路此时为红色,当高速路60s结束后在经过5s的黄灯,在跳转到C状态即小路变为绿灯,大路变为红灯,当小路20s过后再经过5s的黄灯跳转到D状态,大路变为绿灯小路变为红灯,采用赋值的方法来计数,当计数到想要值得时候在令CLR清零,状态也是采用赋值的方法实现不同状态的变化。 各输入端口和输出端口及变量信号的说明: 输入端 CLK XLB 意义 时钟信号 小路是否有车 输出端 GSR GSY GSG XLR XLY XLG 意义 高速红灯 高速黄灯 高速绿灯 小路红灯 小路黄灯 小路绿灯 变量或信号 CLR S 意义 清零变量 计时变量 五,源程序的设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JTDKZ IS PORT(CLK:IN STD_LOGIC; XLB:IN STD_LOGIC; GSR,GSY,GSG,XLR,XLY,XLG:OUT STD_LOGIC); END ENTITY JTDKZ; ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D);  SIGNAL BEGIN CNT:PROCESS(CLK) IS VARIABLE CLR:BIT; --在进程中定义变量CLR(CLR=0:计时清零) VARIABLE S:STD_LOGIC_VECTOR(0 TO 5); --在进程中定义变量S(S为时钟计时器) BEGIN IF(CLKEVENT AND CLK=1)THEN--判断时钟信号上升沿 IF CLR=0THEN--当CLR=0时计时变量清零 S:=000000; ELSE S:=S+1; END IF; CASE --状态A为大路通车(绿灯),小路禁止通车(红灯) WHEN A=GSR=0;GSY=0;GSG=1; BR=1;BY=0;BG=0; IF(XLB=1) THEN--判断小路是否有车 IF(S=111011) THEN--判断大路通行是否满60秒 STATE=B;CLR:=0; --大路满60秒,计时清零,转到状态B ELSE STATE=A;CLR:=1; --大路不满60秒,继续状态A END IF; ELSE STATE=A;CLR:=1;--小路没车,大路一直通车 END IF; --状态B为大路禁止通车(黄灯),小路禁止通车(红灯) WHEN B=GSR=0;GSY=1;GSG=0; XLR=1;XLY=
显示全部
相似文档