电子设计自动化(红绿交通灯)课程设计报告

电子设计自动化(红绿交通灯)课程设计报告

ID:12153341

大小:61.00 KB

页数:6页

时间:2018-07-15

电子设计自动化(红绿交通灯)课程设计报告_第1页
电子设计自动化(红绿交通灯)课程设计报告_第2页
电子设计自动化(红绿交通灯)课程设计报告_第3页
电子设计自动化(红绿交通灯)课程设计报告_第4页
电子设计自动化(红绿交通灯)课程设计报告_第5页
资源描述:

《电子设计自动化(红绿交通灯)课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、课程设计(综合实验)的目的与要求目的:1.熟悉EDA试验箱的操作。2.熟悉并掌握CPLD编程及下载。3.掌握编写一个工程的基本流程。4.学习并熟悉硬件编程思想。5.掌握VHDL状态机设计。实验要求:1、使用VHDL语言实现上述模块并显示交通计时。2、编译、下载、验证。二、设计(实验)正文实验内容:设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2)主、支道交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过

2、程中,要亮5s的黄灯作为过渡,并进行减计时显示。问题分析:红绿灯周期转换示意图:东西主干道红灯持续时间40S,黄灯5s,绿灯25s南北次干道红灯持续时间45S,黄灯5s,绿灯20s由以上的红绿灯周期转换示意图可以知道:一个完整的红绿灯周期里,主干道每次放行45s,支干道每次放行25s,5s的黄灯作为绿灯转为红灯的过渡,这样一个周期的总时间为:70s,满足设计要求。具体分析一下红绿灯周期转换的规律可以发现,红绿灯在转换过程中总共有四个状态:s0,s1,s2和s3,以r0,y0,g0分别表示东西主干道的红灯,黄灯,绿灯的状态,以r1,y1,g1分别表示

3、南北次干道的红灯,黄灯,绿灯的状态,用“1”和“0”表示亮灭状态,则四个状态的具体描述如下表所示:r0y0g0r1y1g1S0001100S1010100S2100001S3100010设计步骤:1.编程实现主次干道红绿灯的周期转换,根据问题的实际背景将问题简化:即将红绿灯的转换变为四个状态的相互切换。2.设计计数器来实现计时功能,同时要注意最后的输出信号要为二进制码,这要能保证输出后的信号直接控制数码管的显示。3.设置全局使能en,用其来控制计数的开始,在为“1”时能够实现置数功能。用case和if判断语句语句,自动进行红绿灯四个状态的转换。4.

4、在电脑上用软件对编号的程序进行编译和仿真,检查是否有错误,看能否实现预期的功能。5.选择器件:an程序仿真无误后,击maxpluII菜单中的assign-device在DeviceFamily选择ACEX1KDevices选择EP1K30QC208-36.管脚配置。按照“实验箱数码管显示管脚对应表”给器件

5、配置管脚。7.配置完管脚后再进行一次编译和仿真,将生成的工程文件下载到实验箱上。8.通过按键操作,我们可以观察到实验箱上的数码管和红绿黄指示灯按照预定的设置进行正常的转换,说明实验达到了预期的效果。实验程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityzhangminis——实体的定义port(clk,en:instd_logic;——设置时钟和全局使能pin1,pin2,pin3,pin4:outstd_logic;counter1:buf

6、ferstd_logic_vector(3downto0);counter2:bufferstd_logic_vector(3downto0);counter3:bufferstd_logic_vector(3downto0);counter4:bufferstd_logic_vector(3downto0);r0,y0,g0:bufferstd_logic;r1,y1,g1:bufferstd_logic);endzhangmin;architecturertlofzhangministypestatesis(s3,s2,s1,s0);——枚举类

7、型signalstate:states:=s0;signalcnt1:std_logic_vector(3downto0);signalcnt2:std_logic_vector(3downto0);signalcnt3:std_logic_vector(3downto0);signalcnt4:std_logic_vector(3downto0);beginprocess(clk,en)beginif(clk'eventandclk='1')thenif(en='1')thencnt1<="0100";全局使能功能的实现。cnt2<="0000"

8、;cnt3<="0100";cnt4<="0101";elseif(cnt2="0000")thencnt2<="1001

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

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

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