(交通运输)EDA课程设计——交通灯精品

上传人:精****库 文档编号:137916577 上传时间:2020-07-12 格式:DOC 页数:7 大小:405.29KB
返回 下载 相关 举报
(交通运输)EDA课程设计——交通灯精品_第1页
第1页 / 共7页
(交通运输)EDA课程设计——交通灯精品_第2页
第2页 / 共7页
(交通运输)EDA课程设计——交通灯精品_第3页
第3页 / 共7页
(交通运输)EDA课程设计——交通灯精品_第4页
第4页 / 共7页
(交通运输)EDA课程设计——交通灯精品_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《(交通运输)EDA课程设计——交通灯精品》由会员分享,可在线阅读,更多相关《(交通运输)EDA课程设计——交通灯精品(7页珍藏版)》请在金锄头文库上搜索。

1、 实验报告 设计题目:交通信号控制器 班 级: 学 号: 姓 名: 指导老师: 设计时间:2011年4月交通信号控制器的VHDL设计一、设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求:(1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4) 在任意时间,显示每个状态到该状态结束所需的时间。 支干道 主干道图1 路口交通管理示意图ABCD主干道交通灯绿(40秒)黄(4秒)红(20秒)红(4秒)支干道交通灯红红绿

2、黄表1 交通信号灯的4种状态 二、设计目的: 设计交通灯控制系统主要是为了实现城市十字交叉路口红绿灯的控制。通过对QuartusII软件使用方法与技巧的学习,掌握VHDL程序设计的实现,熟悉可编程逻辑器件的使用。同时加深对交通灯控制系统的了解与应用。3、 设计方案:定时时间到检测电路计时器预置数产生电路状态发生器(两位二进制计数器) 时间显示数据输出红黄绿灯输出控制电路(RYG) 红黄绿灯信号输出1秒时钟脉冲信号发生器 图2 交通信号灯控制器的原理框图秒脉冲信号发生器(进程P1和P2)状态寄存器(进程P6)计数器(进程P3、P4和P5)CLK 时间显示数据输出 次态发生器信号灯输出信号(进程P

3、7) 信号灯输出 图3 交通信号灯控制器程序原理框图四、程序清单和说明:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRAFFIC IS PORT (CLK: IN STD_LOGIC; LED7S1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管高位显示数字 LED7S2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管低位显示数字 LIGHT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);-各交通

4、灯显示END ENTITY;ARCHITECTURE ONE OF TRAFFIC ISTYPE STATES IS( STA, STB, STC, STE);-定义状态变量SIGNAL ST0:STATES;SIGNAL ST1:STATES;SIGNAL FULL: STD_LOGIC;SIGNAL FOUT: STD_LOGIC;时钟输出信号(秒频)SIGNAL TIME: STD_LOGIC_VECTOR(6 DOWNTO 0);时间计数值SIGNAL TIME_LEFT: STD_LOGIC_VECTOR(6 DOWNTO 0);显示时间剩余值SIGNAL T_HIGH:STD_LO

5、GIC_VECTOR(1 DOWNTO 0);高位显示SIGNAL T_LOW:STD_LOGIC_VECTOR(6 DOWNTO 0);低位显示BEGIN PROCESS(CLK) -秒脉冲产生进程(分频作用) VARIABLE CNT8: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT8=11111111 THEN CNT8:=00000000; -当CNT8计数计满时,给计数器CNT8预置数 FULL=1; -同时使溢出标志信号FULL输出为高电平 ELSE CNT8:=CNT8+1; -否则继续

6、作加1计数 FULL=0; -且输出溢出标志信号FULL为低电平 END IF; END IF; END PROCESS; PROCESS(FULL)VARIABLE CNT2: STD_LOGIC;BEGIN IF FULLEVENT AND FULL=1THEN CNT2:=NOT CNT2; IF CNT2=1 THEN FOUT=1; ELSE FOUT=0;END IF;END IF;END PROCESS;-FOUT输出是时钟信号 PROCESS(FOUT) -计数模块。此模块定义一个变量time,当其值不超过63时实现循环加1功能,超过63则time值归零。 IF FOUTEVE

7、NT AND FOUT=1THEN IF TIME67 THEN TIME=TIME+1; ELSE TIMEIF TIME=39 THEN ST1=STB; ELSE ST1=STA; END IF; LIGHT=001100;TIME_LEFTIF TIME=43 THEN ST1=STC; ELSE ST1=STB; END IF; LIGHT=010100;TIME_LEFTIF TIME=63 THEN ST1=STE; ELSE ST1=STC; END IF; LIGHT=100010;TIME_LEFTIF TIME=67 THEN ST1=STA; ELSE ST1=STE;

8、 END IF; LIGHT=100001;TIME_LEFT=67-TIME; END CASE; IF FOUTEVENT AND FOUT=1THEN ST0=30 THEN T_HIGH=11;T_LOW=20 THEN T_HIGH=10;T_LOW=10 THEN T_HIGH=01;T_LOW=TIME_LEFT-10; ELSE T_HIGH=00; T_LOWLED7S1LED7S1LED7S1LED7S1NULL; END CASE; CASE T_LOW IS WHEN0000000=LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2LED7S2NULL; END CASE; END PROCESS;END ARCHITECTURE; 为实现硬件测试,实验箱应选模式6状态,但此时可用的四个数码管中有两个数码管端口与用到的LED灯端口相同,理论上互不影响,但实际测试时却不能同时定义。由于时间紧张没有过多调试,故在实际测试时对程序进行了修改,将原本需要四个数码管分别显示主干道和支干道信号灯状态改

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

当前位置:首页 > 商业/管理/HR > 企业文档

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