课程设计:交通灯控制器设计

课程设计:交通灯控制器设计

ID:18564960

大小:152.00 KB

页数:11页

时间:2018-09-18

课程设计:交通灯控制器设计_第1页
课程设计:交通灯控制器设计_第2页
课程设计:交通灯控制器设计_第3页
课程设计:交通灯控制器设计_第4页
课程设计:交通灯控制器设计_第5页
资源描述:

《课程设计:交通灯控制器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、洛阳理工学院课程设计报告课程名称PLD原理与应用设计题目交通灯控制器设计专业通信工程班级B090507学号B09050714姓名王东浦完成日期2012-12-21课程设计任务书设计题目:交通灯控制器设计设计内容与要求:运用VHDL(Verilog)语言编写控制模块程序,仿真并调试好所设计程序预期的功能,最后在实验开发板上下载并运行成功。指导教师:_______________年月日课程设计评语成绩:指导教师:_______________年月日洛阳理工学院课程设计报告一.设计目的.(1)运用VHDL(Verilog)语言编写模块程序。(2)巩固课堂所学的组合逻辑电路

2、,时序逻辑电路及其有关的应用,如计数器,分频器。(3)提高实践及运用意识。二.设计任务及要求.基本模型:设交通灯信号控制器用于主干道公路的交叉路口,要求是优先保证主干道的畅通,因此,平时处于“主干道绿灯,支道红灯”状态。(1)当处于“主干道绿灯,支道红灯”状态:①主干道有车要求通行,支道也有车要求通行时,若主干道通行时间大于等于30秒则切换到“主黄,支红”,4秒后自动切换到“主红,支绿”。②主干道无车要求通行,支道有车要求通行时,立即切换到“主黄,支红”,4秒后自动切换到“主红,支绿”。其它情况保持“主绿,支红”状态。(2)当处于“主干道红灯,支道绿灯”状态:①支道

3、有车要求通行时,保持“主红,支绿”9洛阳理工学院课程设计报告状态,但最多保持30秒,然后自动切换到“主红,支黄”状态4秒,之后自动切换到“主绿,支红”状态。②支道无车要求通行时,立即切换到“主红,支黄”状态,4秒之后,自动切换到“主绿,支红”状态。(3)利用八位七段管码显示模块其中的2位实现时间显示。(4)扩展要求:自主设计(如改变时间显示方式,丰富控制逻辑等)三.设计原理及方案.1.总体设计框图2.原理概述:(1)由于主干道,支干道的交通灯均在绿,黄,红三种状态之间有顺序的转换,组合共有四种。所以,利用状态机按照设定的条件实现“主绿,支红”、“主黄,支红”、“主红

4、,支绿”、“主红,支黄”4种状态之间的切换。(2)因为红黄绿灯之间转换有时间限制,所以要有计数器,可用七段数码管显示模块,由于时间是两位数,所以只需要八位七段管码显示模块其中的2位实现时间显示。(3)由于实验室提供的基准频率为50MHZ,所以得用分频器得到所需要的频率。9洛阳理工学院课程设计报告四、VHDL功能语言实现程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitytrafficisport(clk:instd_logic;A1,B1,C1,D1,A2,B2

5、,C2,D2:outstd_logic;AR,AY,AG,BR,BY,BG,oe:outstd_logic);end;architecturearchoftrafficistypestatesis(s3,s2,s1,s0);signalstate:states:=s0;signalnext_state:states:=s0;signalcount:std_logic_vector(2downto0);signalcount0:std_logic_vector(3downto0);signalcount1:std_logic_vector(3downto0);sign

6、aldata0:std_logic_vector(3downto0);signaldata1:std_logic_vector(3downto0);signallight:std_logic_vector(5downto0);signalen,load,carry:std_logic;beginp1:process(clk,load)beginifrising_edge(clk)thenifload='1'thencount0<=data0;9洛阳理工学院课程设计报告elsifcount0="0000"thencount0<="1001";elsecount0<=c

7、ount0-'1';endif;endif;endprocessp1;p2:process(clk)beginifclk='0'thenifcount0="0000"thenen<='1';elseen<='0';endif;endif;endprocessp2;p3:process(clk,en)beginif(rising_edge(clk)ANDen='1')thenifload='1'thencount1<=data1;elsifcount1="0000"thencount1<="0001";elsecount1<=count1-'1';9洛阳理工学院课

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。