基于EDA的VHDL语言设计的交通灯.

上传人:我** 文档编号:115311804 上传时间:2019-11-13 格式:DOC 页数:16 大小:508.29KB
返回 下载 相关 举报
基于EDA的VHDL语言设计的交通灯._第1页
第1页 / 共16页
基于EDA的VHDL语言设计的交通灯._第2页
第2页 / 共16页
基于EDA的VHDL语言设计的交通灯._第3页
第3页 / 共16页
基于EDA的VHDL语言设计的交通灯._第4页
第4页 / 共16页
基于EDA的VHDL语言设计的交通灯._第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于EDA的VHDL语言设计的交通灯.》由会员分享,可在线阅读,更多相关《基于EDA的VHDL语言设计的交通灯.(16页珍藏版)》请在金锄头文库上搜索。

1、玉林师范学院本科生课程设计论文基于Verilog HDL的RS编码器设计院 系电子与通信工程学院专 业通信工程学 生 班 级通信111班姓 名韦仁良学 号201108402123指导教师单位电子与通信工程学院指导教师姓名陈宇宁 【摘 要】随着社会上特别是城市中机动车辆保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要,在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理。本文以VHDL硬件描述语言为设计手段,完成了交通信号灯控制电路的设计,其中交通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿灯的转换

2、有一个准确的时间间隔和转换顺序。所设计的交通信号灯控制电路经过在Quartus 软件下进行模拟仿真,观察其波形,证明所设计的交通信号灯控制电路完全可以实现预定的功能,并有一定的实用性。【关键词】 VHDL; Quartus; 交通灯【题目要求】 用有限状态机设计一个交通灯控制器,设计要求:A路和B路,每路都有红、黄、绿三种灯,持续时间为:红灯45s、黄灯5s、绿灯40s。A、B路交通灯的转换状态是:(1)A红、B绿 (持续时间40s);(2)A红、B黄 (持续时间5);(3)A绿、B红 (持续时间40s);(4)A黄、B红 (持续时间5s);【系统总体设计原理】4000Hz分频器发光二极管交通

3、灯控制器 50MHz1秒分频器外部时钟显示模块 数码管该系统主要由分频模块fen50m_1s、控制模块traffic_control、转换模块bin2bcd以及显示模块display电路构成。其中分频模块fen50m_1s主要将系统输入的基准时钟信号转换为1Hz的激励信号,驱动控制模块工作。控制模块traffic_control根据计数情况对交通灯的亮灭及持续时间进行控制。转换模块bin2bcd将控制模块设计的亮灯时间的二进制转换为bcd码。显示模块display主要将亮灯时间以倒计时的形式通过数码显示出来【时钟分频模块】系统时钟脉冲为50MHz,为满足各个模块脉冲需求,需要分频成2Hz和40

4、00Hz的脉冲。 fen50m_1s模块设计,实现频率由50MHz到2Hz的转变,达到我们需要的1s的要求,模块如下图: 分频器一端口说明:clkin:输入50MHz时钟脉冲clkout:输出2Hz脉冲fen50m_1s实现Verilog语言描述如下:module fen50m_1s(clkin,clkout); input clkin; output clkout; reg clkout; reg 24:0 q; always (posedge clkin) begin if (q=24999999) begin q=0; clkout=clkout; end else q=q+1; end

5、endmodule 编译结果: 分频器二fen50m_4000模块设计,实现频率由50MHz到4000Hz的转变 分频器二端口说明:clkin:输入50MHz时钟脉冲clkout:输出4000Hz脉冲分频器fen50m_4000模块实现程序:module fen50m_4000(clkin,clkout); input clkin; output clkout; reg clkout; reg 24:0 q; always (posedge clkin) begin if (q=12499) begin q=0; clkout=clkout; end else q=q+1; endendmod

6、ule编译结果: 【交通灯控制及计时模块】 端口说明:Clock:输入时钟信号,上升沿有效。Reset:复位信号,高电平有效。Red1、yellow1、green1:分别表示A路的红灯、黄灯、绿灯显示信号,高电平有效。Red2、yellow2、green2:分别表示B路的红灯、黄灯、绿灯显示信号,高电平有效。Timea:A路绿灯亮时间,高电平有效。Timeb:B路红灯亮时间,高电平有效。Alarm:倒计时信号输出实现程序:module traffic_control(clock,reset,red1,yellow1,green1,red2,yellow2,green2,timea,timeb,

7、alarm);input clock,reset;output red1,yellow1,green1,red2,yellow2,green2,alarm;output 7:0 timea,timeb;reg 1:0 state=2b00;reg 7:0 timea=40; /A路绿灯亮时间reg 7:0 timeb=45; /B路红灯亮时间reg red1=1b0,yellow1=1b0,green1=1b1; /A绿灯亮reg red2=1b1,yellow2=1b0,green2=1b0; /B红灯亮 reg alarm=1b0; always (posedge clock or pos

8、edge reset)begin if (reset) beginstate=2b00; timea=40; timeb=45; end else begin case (state) 2b00: begin if (timea=0) /A绿灯亮时间40S结束 begin timea=5; /A黄灯亮时间5S red1=1b0; yellow1=1b1; green1=1b0; /A黄灯亮 red2=1b1; yellow2=1b0; green2=1b0; /B红灯继续亮state=2b01; /转到A黄灯,B红灯end elsebegintimea=timea-1; /A绿灯亮时间40S-

9、timeb=timeb-1; /B红灯亮时间45S-state=2b00;endend 2b01: begin if (timea=0) /A黄灯亮5S时间结束begintimea=45; /A红灯亮时间45Stimeb=40; /B绿灯亮时间40Sred1=1b1; yellow1=1b0; green1=1b0; /A红灯亮red2=1b0; yellow2=1b0; green2=1b1; /B绿灯亮alarm=1b0;state=2b10; /转到A红灯,B绿灯end elsebegintimea=timea-1; /A黄灯亮时间3S-timeb=timeb-1; /B红灯亮时间3S-

10、 alarm=alarm; yellow1=yellow1;state=2b01;end end 2b10: begin if (timeb=0) /B绿灯亮40S时间结束 begin timeb=5; /B灯黄亮时间5S red1=1b1; yellow1=1b0; green1=1b0; /A红灯亮 red2=1b0; yellow2=1b1; green2=1b0; /B黄灯亮state=2b11; /转到A红灯,B黄灯endelse begintimea=timea-1; /A红灯亮时间-timeb=timeb-1; /B绿灯亮时间- state=2b10;endend 2b11: b

11、egin if (timeb=0) /B黄灯亮5S时间结束 begin timea=40; /A绿灯亮时间40S timeb=45; /B绿灯亮时间45S red1=1b0; yellow1=1b0; green1=1b1; /A绿灯亮 red2=1b1; yellow2=1b0; green2=1b0; /B红灯亮 alarm=1b0;state=2b00; /转到A绿灯,B红灯endelsebegintimea=timea-1; /A红灯亮时间-timeb=timeb-1; /B黄灯亮时间- alarm=alarm; yellow2=yellow2; state=2b11;end end

12、endcase end endEndmodule编译结果: 此模块是整个系统的核心部分,主要功能是完成四个状态的转换,并且在每个状态里完成相应的控制作用,即控制主干道和支干道的红黄绿灯的点亮和各自数码管倒计时显示。【bin2bcd转换模块】 该模块将二进制语言转换为BCD码输出,模块如下图: 端口说明: numin7.0:输入8位二进制编码 numa3.0:输出高4位BCD码 numb3.0:输出低4位BCD码 bin2bcd转换模块实现程序: module bin2bcd(numin,numa,numb); input7:0 numin; output3:0 numa,numb; reg3:0 numa,numb; always (numin) begin

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

当前位置:首页 > 高等教育 > 大学课件

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