交通信号灯控制x
时间:2020-11-16 13:13:07 来源:勤学考试网 本文已影响 人
精品文档
精品文档
PAGE
PAGE #欢迎下载
精品文档
精品文档
北华航天工业学院
综合实践总结报告
综合实践名称: EDA技术与实践
综合实践地点、时间
专业班级:
姓 名:
学 号:
同组人:
交通信号灯控制
目录
设计任务
实验目地
原理图
程序
心得体会
交通信号控制器的VHDL的设计
一、设计任务
模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿 LED
作为交通信号灯,用数码管显示等待时间。设计一个交通信号灯控制器。能达到 的要求:
(1) 交通灯从绿变红时,有5秒黄灯亮的间隔时间;
(2) 交通灯红变绿是直接进行的,没有间隔时间;
(3) 主干道上的绿灯时间为30秒,支干道的绿灯时间为20秒;
(4) 在任意时间,显示等待时间。
支干道
O O O
O
O
O
O
主干道
O
图1路口交通管理示意图
A
B
C
D
主干道交
通灯
绿(30
秒)
黄(5 秒)
红(20
秒)
红(5 秒)
支干道交
通灯
红
红
绿
黄
表1交通信号灯的4种状态
、实验目的
学习EDAff发软件quartusll的使用方法,熟悉可编程逻辑器件的使用
三、原理图
四、交通灯模块
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all; entity JTDKZ is port(clk:in std_logic;
Rm,Ym,Gm,rf,yf,gf:out std_logic); end JTDKZ;
architecture arc of JTDKZ is type state_type is(A,B,C,D);
signal state:state_type;
begin
cnt:process(clk)
variable S:integer range 0 to 2900000;
variable nclr,en:bit;
begin
if(clk'event and clk='1')then
if nclr='0'then S:=0;
elsif en='0'then S:=S;
else S:=S+1;
end if;
case state is
when A=>Rm<='0';Ym<='0';Gm<='1'; rf<='1';yf<='0';gf<='0';
if S=2900000 then state<=B;nclr:='0';en:='0';
else
state<=A;nclr:='1';en:='1';
end if;
when B=>Rm<='0';Ym<='1';Gm<='0';
rfv='1';yfv='O';gfv='O';
if S=400000
the n
state<=C; nclr:='0';e n:='0';
else
state<=B; nclr:='1';e n:='1';
end if;
whe n C=>Rm<='1';Ymv='0';Gm<='0';
rf<='0';yf<='0';gf<='1';
if S=1900000 then state<=D; nclr:='0';e n:='0'; else
state<=C; nclr:='1';e n:='1'; end if;
whe n D=>Rm<='1';Ymv='0';Gm<='0'; rf<='0';yf<='1';gf<='0';
if S=400000 then
state<=A; nclr:='0';e n:='0';
else
state<=D; nclr:='1';e n:='1';
end if;
end case;
end if;
end process ent;
end arc;
9— cikO 呻* Ym p Yf 吨# Rm
P Rf
Gm
>4^ Gf -L? fxl
五 心得体会
通过这次课设,我深深地感受到,要把知识真正掌握到手 里,在理论的基础上,还必须要有更深一步的实践。通过大作 业的实践, 把那些书本上的知识点都运用起来, 去真正地做点 东西出来,远比死记硬背理论知识更有意义。
从刚开始的毫无头绪,无从下手,到之后积极查找资料, 与组员讨论,再到后来着手设计,划分模块,编写代码,编译 仿真,纠错反思。
这样一步步脚踏实地迈向成功的感觉真的不 错。
以后,我会继续用VHDL去做一些自己感兴趣的东西, 慢慢
积累,慢慢地争取往更高的目标发展。