十字交通灯设计报告

上传人:第*** 文档编号:32822114 上传时间:2018-02-12 格式:DOC 页数:15 大小:215KB
返回 下载 相关 举报
十字交通灯设计报告_第1页
第1页 / 共15页
十字交通灯设计报告_第2页
第2页 / 共15页
十字交通灯设计报告_第3页
第3页 / 共15页
十字交通灯设计报告_第4页
第4页 / 共15页
十字交通灯设计报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《十字交通灯设计报告》由会员分享,可在线阅读,更多相关《十字交通灯设计报告(15页珍藏版)》请在金锄头文库上搜索。

1、电子技术课程设计十字交通灯一 课题要求1 南北方向绿灯 30s,东西方向 20s,黄灯间隔时间 5s,且可显示当前时间2 转向灯控制时间一律为 20s3 对 1 和 2 中时间均可程序外控制。二 课题分析南北方向为绿灯时,东西方向为红灯,当 30 秒后,南北方向变为黄灯,东西方向仍然为红灯;再过 5 秒,南北方向变为红灯,东西方向产生 20 秒的绿灯和 5 秒的黄灯。此过程共用去 30+5+20+5=60 秒。接着四个方向的转向灯斜对称,各产生 20 秒的转向绿灯,共用去 20*4=80 秒,故十字交通灯一个循环用费时 140 秒。这就是十字交通灯的工作过程。 (题中各时间可通过按键修改)三

2、设计思路共 12 个灯。每个方向的中间的灯作为直路交通灯,有红黄绿三种颜色,南北对称,东西对称。每个方向两边的灯为转向灯,有红绿两种颜色,南北斜对称,东西斜对阵,红灯不可转向,绿灯可转向。以此为依据,以时间的顺序完成十字交通灯的内容,具体程序可见各模块详解。四 系统流程图计数器计数从 0 到 TG1,东西方向中间绿灯,南北方向中间红灯从 TG1 到 TY1,东西方向中间黄灯,南北方向中间红灯从 T到,东西方向红灯,南北方向绿灯从到,东西方向红灯,南北方向黄灯从 TY到、T1 到 T2、T2到 T3、T3 到 140,转向灯从第一到第四依次变为绿灯,南北、东西方向中间均为红灯。计数器清零五 模块

3、分析1 计数模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY COUNTER ISPORT(CLOCK:IN STD_LOGIC;RESET:IN STD_LOGIC;COUNT:BUFFER INTEGER RANGE 0 TO 139); 以 140 为周期END; 的计数器ARCHITECTURE ONE OF COUNTER ISBEGINPROCESS(CLOCK) BEGINIF RESET=1THENCOUNT=30 THEN M1=20 THEN M1=10 THEN M1OUTPUTOUTPUTOUTPUTOUTPUTOUTP

4、UTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUT=0000000;END CASE;END PROCESS;END;此部分主要完成将各灯剩余秒数在七段译码显示器上显示。以下为仿真波形:上图反映了输入为 0 到 9 时七段译码显示器的输出,由七段译码的原理可知输出显示正确。3 控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CONTROLLER ISPORT(CLK:IN STD_LOGIC;INPUT:IN INTEGER RANGE 0 TO 1

5、39;TG1: IN INTEGER RANGE 0 TO 139;TY1: IN INTEGER RANGE 0 TO 139;TG2: IN INTEGER RANGE 0 TO 139; 定义时间变量TY2: IN INTEGER RANGE 0 TO 139; (变量含义参照下项引脚说明)T1: IN INTEGER RANGE 0 TO 139;T2: IN INTEGER RANGE 0 TO 139;T3: IN INTEGER RANGE 0 TO 139;R1:OUT STD_LOGIC;R2:OUT STD_LOGIC;Y1:OUT STD_LOGIC;Y2:OUT STD

6、_LOGIC;G1:OUT STD_LOGIC; 定义各灯变量G2:OUT STD_LOGIC;TURN1:OUT STD_LOGIC;TURN2: OUT STD_LOGIC;TURN3: OUT STD_LOGIC;TURN4: OUT STD_LOGIC;REMAIN1:OUT INTEGER RANGE 0 TO 35;REMAIN2:OUT INTEGER RANGE 0 TO 35); 定义剩余时间变量END;ARCHITECTURE ONE OF CONTROLLER ISSIGNAL M1,M2:INTEGER RANGE 0 TO 35;BEGINPROCESS(CLK,IN

7、PUT)BEGINIF FALLING_EDGE(CLK) THEN 时钟下降沿触发IF INPUT=TG1 THEN TURN1=0; 时间为 0 到 TG1 时,转向灯TURN2=0; 为红灯,东西方向绿灯,南北方TURN3=0; 为红灯。TURN4=0;M1=TG1-INPUT;M2=TY1-INPUT;R1=0; Y1=0;G1=1;R2=1;Y2=0;G2=0;ELSIF INPUT=TY1 THENM1=TY1-INPUT;M2=TY1-INPUT; 时间为 TG1 到 TY1 时,东西方R1=0; 向为黄灯,南北方向为红灯。Y1=1;G1=0;R2=1;Y2=0;G2=0;ELS

8、IF INPUT =TG2 THENM1=TY2-INPUT; 时间为 TY1 到 TG2 时,东西方M2=TG2-INPUT; 向为红灯,南北方向为绿灯。R1=1;Y1=0;G1=0;R2=0;Y2=0;G2=1;ELSIF INPUT=TY2 THENM1=TY2-INPUT; 时间为 TG2 到 TY2 时,东西M2=TY2-INPUT; 方向为红灯,南北方向为绿灯R1=1;Y1=0;G1=0;R2=0;G2=0;Y2=1;ELSIF INPUT=T1 THENTURN1=1;TURN2=0; 时间为 TY2 到 T1 时,第一转TURN3=0; 向灯绿,其余转向灯为红灯, TURN4=

9、0; 四个方向中间灯为红灯。R1=1;R2=1;G1=0;G2=0;Y1=0;Y2=0;ELSIF INPUT=T2 THEN TURN1=0; 时间为 T1 到 T2 时,第二转向TURN2=1; 灯为绿灯。TURN3=0;TURN4=0;ELSIF INPUT=T3 THENTURN1=0; 时间为 T2 到 T3 时,第三转向TURN2=0; 灯为绿灯。TURN3=1;TURN4=0;ELSETURN1=0; 时间为 T3 到 139 时,第四转向TURN2=0; 灯为绿灯。TURN3=0;TURN4=1;END IF;END IF;END PROCESS;REMAIN1=M1;REMA

10、IN2=M2;END;以下为控制模块的原件图引脚说明: CLK:时钟信号INPUT:计数器输入秒数TG1:东西方向中间绿灯时间TY1:东西方向中间黄灯时间TG2:南北方向中间绿灯时间TY2:南北方向中间黄灯时间T1: 第一转向灯绿灯时间T2: 第二转向灯绿灯时间T3: 第三转向灯绿灯时间T4: 第四转向灯绿灯时间(以上时间都是顺序执行,以计数器为标准,如从 0 开始到 TG1 为东西方向中间绿灯时间,TG1 到 TY1 为东西方向中间黄灯时间,以此类推)R1、Y1、G1 分别为东西方向中间红灯、黄灯、绿灯,1 为亮,0 为灭R2、Y2、G2 分别为南北方向中间红灯、黄灯、绿灯,1 为亮,0 为

11、灭TURN1、TURN2、TURN3、TURN4 为四对两两斜对称的交通灯REMAIN1、REMAIN2 分别为东西方向、南北方向中间灯的剩余时间。控制模块仿真,加入计数器,原理图如下:仿真波形:此处仿真 CLK 时钟信号均用周期 200ns。1如图所示,从 100ns 开始,随着 CLK 脉冲的变化,从 200ns 到 4.2us,G1为 1,Y1、R1 为 0,说明东西方向中间绿灯亮,亮灯时间 20s,REMAIN1 从 19开始倒计时;R2 为 1,Y2、G2 为 0,说明南北方向中间红灯亮,亮灯时间 25秒,REMAIN2 开始从 24 倒计时。从 4.2us 到 5.2us,Y1 为

12、 1,R1、G1 为 0,说明东西方向黄灯亮,亮灯时间为 5s;R2 为 1,Y2、G2 为 0,南北方向继续红灯。2从 5.2us 开始到 11.2us,R1 为 1,G1、Y1 为 0,说明东西方向中间红灯亮,从 34 开始计时;G2 为 1,Y2、R2 为 0,说明南北方向绿灯亮,从 30 开始计时。从 11.2us 到 12.2us,R1 为 1,G1、Y1 为 0,说明东西方向中间红灯亮,Y2 为1,G2、R2 为 0,说明南北方向黄灯亮,持续时间为 5 秒。3 从 12.2us 到 16.2us,R1=1,G1、Y1 为 0,东西方向中间红灯亮,R2=1,G2、Y2 为 0,南北方

13、向中间红灯亮;TURN1 为1,TURN2、TURN3、TURN4 为 0,第一转向灯为绿灯,其余转向灯为红灯。从 16.2us 到 20.2us,R1=1,G1、Y1 为 0,东西方向中间红灯亮,R2=1,G2、Y2 为 0,南北方向中间红灯亮;TURN2 为1,TURN1、TURN3、TURN4 为 0,第二转向灯为绿灯,其余转向灯为红灯。从 20.2us 到 24.2us,R1=1,G1、Y1 为 0,东西方向中间红灯亮,R2=1,G2、Y2 为 0,南北方向中间红灯亮;TURN3 为1,TURN1、TURN2、TURN4 为 0,第三转向灯为绿灯,其余转向灯为红灯。从 24.2us 到

14、 28.2us,R1=1,G1、Y1 为 0,东西方向中间红灯亮,R2=1,G2、Y2 为 0,南北方向中间红灯亮;TURN4 为1,TURN1、TURN2、TURN3 为 0,第四转向灯为绿灯,其余转向灯为红灯。4 修改时间模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TIMER ISPORT(CLOCK:IN STD_LOGIC;COUNT:BUFFER INTEGER RANGE 0 TO 130);END;ARCHITECTURE ONE OF TIMER ISBEGINPROCESS(CLOCK)BEGINIF RISING_EDGE(CLOCK) THENIF COUNT=130 THENCOUNT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号