ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:147.75KB ,
资源ID:6400777      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6400777.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA交通灯信号控制器的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA交通灯信号控制器的设计.docx

1、EDA交通灯信号控制器的设计课程设计说明书题目 交通灯信号控制器的设计 交通灯的信号控制器的设计说明书一、设计内容及其要求:试设计一个交通信号等控制器,用于主干道与支道公路的交叉路口,要求是优先保证主干道的畅通。因此,平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆要穿行主干道时,才将交通等切向“主干道红灯,支道绿灯”,一旦支道无车辆通过路口,交通灯又回到“主干道绿灯,支道红灯”的状态。此外,主干道和支道每次通行的时间不得短于30秒,而在两个状态交换过程出现的“主黄,支红”和“主红,支黄”状态,持续时间都为4秒。主干道和支道的红、黄、绿灯驱动信号接LED,时间都需通过数码管显示。系统提供

2、50MHZ频率的时钟源。完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。二、设计主要内容:2.1 设计的总体方案根据设计要求和系统所具有功能,并参考相关的文献资料设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图2.1所示: 图2.1 系统的框图2.2交通灯思路分析因为有主干道和支道,所以可以定义为5种状态,分别是1:主道绿灯,支道红灯且没有车辆行驶;2:主道绿灯,支道红灯或者支道有车辆驶入;3:主道红灯,支道绿灯;4:主道红灯,支道黄灯;5:主道黄灯,支道红灯。并设置主道

3、红灯亮34秒,支道绿灯亮30秒,黄灯亮4秒的设计要求。如下图:图2.2 三种灯的循环顺序三、设计程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity redgreen isPort( clock_in:in std_logic; hold_state:in std_logic; reset_state:in std_logic; hold_state1:in std_logic; reset_state1:in std_logic; led_red,led_green,led_yell

4、ow,led_red1,led_green1,led_yellow1:out std_logic; select_display:out std_logic_vector(0 to 6); led_selout:out std_logic_vector(0 to 3) ); end;Architecture redgreen1 of redgreen isconstant loop_hz:integer:=20000000; -constant loop_hz:integer:=2; constant loop_hz1:integer:=500;signal count_time:intege

5、r range 0 to loop_hz;signal count_time1:integer range 0 to loop_hz1;signal clock_buffer:std_logic;signal clock_buffer1:std_logic;signal clock_out:std_logic;signal clock_out1:std_logic;signal count_num:integer range 0 to 68;signal count_num1:integer range 0 to 68;signal display_num:integer range 0 to

6、 68;signal display_num1:integer range 0 to 68;signal display_shi:integer range 0 to 9;signal display_ge:integer range 0 to 9;signal display_shi1:integer range 0 to 9;signal display_ge1:integer range 0 to 9;signal b:integer range 0 to 9;signal a:std_logic_vector(1 downto 0);constant loop_time:integer

7、:=68;constant red_time:integer:=34;constant green_time:integer:=30;constant yellow_time:integer:=4;begin process(clock_in) -分频进程 begin if clock_inevent and clock_in=1 then if count_time=loop_hz then count_time=0; clock_buffer=not clock_buffer; else count_time=count_time+1; end if; end if; clock_out=

8、clock_buffer; end process; process(clock_in) -分频进程 begin if clock_inevent and clock_in=1 then if count_time1=loop_hz1 then count_time1=0; a=a+1; clock_buffer1=not clock_buffer1; else count_time1=count_time1+1; end if; end if; clock_out1=clock_buffer1; end process; process(reset_state,clock_out,count

9、_num) begin if reset_state=1then count_num=0; elsif clock_outevent and clock_out=1 then if hold_state=1 then count_num=count_num; elsif count_num=loop_time-1 then count_num=0; else count_num=count_num+1; end if; end if; end process; process(reset_state1,clock_out,count_num1) begin if reset_state=1th

10、en count_num1=0; elsif clock_outevent and clock_out=1 then if hold_state1=1 then count_num1=count_num1; elsif count_num1=loop_time-1 then count_num1=0; else count_num1=count_num1+1; end if; end if; end process; process(clock_out,count_num,a) -交通灯显示 begin if clock_outevent and clock_out=0 then if hol

11、d_state=1 then led_red=1; led_green=0; led_yellow=0; elsif count_num=33 then display_num=red_time-count_num; led_red=1; led_green=0; led_yellow=0; elsif count_num=63 then display_num=green_time+red_time-count_num; led_red=0; led_green=1; led_yellow=0; elsif count_num=67 then display_num=loop_time-co

12、unt_num; led_red=0; led_green=0; led_yellow=1; end if; end if; end process; process(clock_out,count_num1) -交通灯显示 begin if clock_outevent and clock_out=0 then if hold_state1=1 then led_red1=1; led_green1=0; led_yellow1=0; elsif count_num1=29 then display_num1=green_time-count_num1; led_red1=0; led_gr

13、een1=1; led_yellow1=0; elsif count_num1=33 then display_num1=yellow_time+green_time-count_num1; led_red1=0; led_green1=0; led_yellow1=1; elsif count_num1=67 then display_num1=loop_time-count_num1; led_red1=1; led_green1=0; led_yellow1=0; end if; end if; end process; process(display_num) -分位进程 begin

14、if display_num10 then display_shi=0; display_ge=display_num; display_shi1=0; display_ge1=display_num; elsif display_num20 then display_shi=1; display_shi1=1; display_ge=display_num-10; display_ge1=display_num-10; elsif display_num30 then display_shi=2; display_shi1=2; display_ge=display_num-20; disp

15、lay_ge1=display_num-20; elsif display_num40 then display_shi=3; display_shi1=3; display_ge=display_num-30; display_ge1select_displayselect_displayselect_displayselect_displayselect_displayselect_displayselect_displayselect_displayselect_displayselect_displayselect_display led_selout=0001;b led_selou

16、t=0010;b led_selout=0100;b led_selout=1000;b null; end case; end process; end;四波形仿真及其编程下载4.1仿真波形42 波形分析 由上述波形可知,刚开始,主道亮红灯,支道亮绿灯;当支道绿灯倒计34秒后,支道黄灯亮,主道红灯亮;而支道黄灯倒计时4秒后,支道红灯亮,主道绿灯亮;当主道绿灯倒计时30秒后,主道黄灯亮,支道红灯亮;当主道黄灯倒计时4秒后,主道红灯亮,支道绿灯亮。各时间段每个交通灯的状态都符合,所有,仿真波形正确。4.3编程下载 因为有主干道和支干道,所以我选择了两个重置键和保持键,而六个信号灯分别为主道的红绿

17、黄和支道的红绿黄,锁好引脚后,两个方向上的数码管显示时间完全吻合,按两个干道上的重置键时,会恢复原状态,继续计时,当按下两个干道的保持键时,时间保持不变,结果证实调试成功。四、引脚分配引脚分配如表1所示:表1引脚名称引脚编号连接网络引脚名称引脚编号连接网络clock_inPIN_J3select_display0PIN_L3E_7SEG-Ahold_statePIN_M3FPGA_M1select_display1PIN_L4E_7SEG-Breset_statePIN_M4FPGA_M2select_display2PIN_H3E_7SEG-Chold_state1PIN_N1FPGA_M3

18、select_display3PIN_H4E_7SEG-Dreset_state1PIN_N2FPGA_M4select_display4PIN_H1E_7SEG-Eled_greenPIN_U11LED2select_display5PIN_L2E_7SEG-Fled_green1PIN_R12LED5select_display6PIN_K4E_7SEG-Gled_redPIN_R10LED1led_selout0PIN_G4E_7SEG-A1led_red1PIN_R11LED4led_selout1PIN_G3E_7SEG-A2led_yellowPIN_N15LED3led_selo

19、ut2PIN_E2E_7SEG-A3led_yellow1PIN_U12LED6led_selout3PIN_F2E_7SEG-A4五、心得与体会通过这次课程设计,我们可以更好的熟悉和理解Quartus集成环境下EDA技术,它是用VHDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,我这次做的课题是交通灯信号控制器的设计。这次课程设计对于我是个很大的挑战,并且遇到了很多困难,这是因为在做课程设计之前,只做了一些比较简单的电路图设计,没有做过比较复杂的设计,所以有很多的语法和整体结构的设计没有掌握和理解,所

20、以在编写程序时我大量参考了在图书馆借阅的资料,还借助了网络的帮助,我基本上掌握了VHDL语言的基本语法。在这几天课程设计的时间里,实验室的氛围对我影响很大,大家一起努力,这也是我们完成课程设计的动力。这次课程设计也多亏了我这一组的同学与老师的帮助,在老师的提点下,我理清了思路,交通灯原来有五种状态,沿着这条思路,把程序编出来,所以我明白了独立思考与不懂就问的重要性。 还有一点是我们做任何事情都无法缺少的,那就是细心认真,此次设计我就深深体会到了,由于编程时没有做到足够的细心,调试时总出现问题,但需要好长时间才能找出问题的所在,这也让我真正明白了科学的严谨性,它不允许出半点差错,否则后果会比较麻烦。这次课程设计让我看到了自身的不足,不够严谨细心,并且太急躁,我会努力克服的。这次课程设计必定成为我人生旅途上一个非常美好的回忆!参考文献:EDA技术与VHDL 第3版 潘松,黄继业 :华大学出版社EDA教程孟庆辉,刘辉,程继航,石静苑:防工业出版社,2008电子技术EDA实践教程杨晓慧等著编:国防工业出版社,2005EDA技术可编程器件的应用包明编著:北京航空航天大学出版社,2007

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1