欢迎来到天天文库
浏览记录
ID:35567968
大小:198.50 KB
页数:14页
时间:2019-03-29
《交通灯控制电路设计与仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.交通灯控制电路设计与仿真一、实验目的1、了解交通灯的燃灭规律。2、了解交通灯控制器的工作原理。3、熟悉VHDL语言编程,了解实际设计中的优化方案。二、实验原理交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通
2、的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用8个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s。数码管的时间总是显示为19、18、17……2、1、0、19、18……。在显示时间小于3秒的时候,通车方向的黄灯闪烁。三、实验内容本实验要完成任务就
3、是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的1KHz时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次,在显示时间小于3秒的时候,通车方向的黄灯以2Hz的频率闪烁。系统中用S1按键进行复位。实验箱中用到的数字时钟模块、按键开关、数码管与FPGA的接口电路,以及数字时钟源、按键开关、数码管与FPGA的管脚连接在以前的实验中都做了详细说明,这里不在赘述。交通灯模块原理与LED灯模块的电路原理一致,当有高电平输入时LED灯就会被点亮,反之不亮。只是LED
4、发出的光有颜色之分。其与FPGA的管脚连接如下表19-1所示:四、实验步骤1、打开QUARTUSII软件,新建一个工程。2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。...3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。4、编写完VHDL程序后,保存起来。(1)-jtdkz.vhdlibraryieee;useieee.std_logic_1164.all;entityjtdkzisport(clk,sm,sb:instd_logic;mr,my0,mg0,br,by0,
5、bg0:outstd_logic);endentityjtdkz;architectureartofjtdkzistypestate_typeis(A,B,C,D);signalstate:state_type;begincnt:process(clk)isvariables:integerrange0to45;variableclr,en:bit;beginif(clk'eventandclk='1')thenifclr='0'thens:=0;elsifen='0'thens:=s;elses:=s+1;endif;casestateiswh
6、enA=>mr<='0';my0<='0';mg0<='1';br<='1';by0<='0';bg0<='0';if(sbandsm)='1'thenifs=45thenstate<=B;clr:='0';en:='0';elsestate<=A;clr:='1';en:='1';endif;elsif(sband(notsm))='1'thenstate<=B;clr:='0';en:='0';elsestate<=A;clr:='1';en:='1';endif;whenB=>mr<='0';my0<='1';mg0<='0';br<='1
7、';by0<='0';bg0<='0';ifs=5thenstate<=C;clr:='0';en:='0';elsestate<=B;clr:='1';en:='1';endif;whenC=>mr<='1';my0<='0';mg0<='0';br<='0';by0<='0';bg0<='1';if(sbandsm)='1'thenifs=25thenstate<=D;clr:='0';en:='0';elsestate<=C;clr:='1';en:='1';endif;...elsifsb='0'thenstate<=D;clr:='0'
8、;en:='0';elsestate<=C;clr:='1';en:='1';endif;whenD=>mr<='1';my0<='0'
此文档下载收益归作者所有