文档详情

EDA实训 交通灯.doc

发布:2018-06-21约3.71千字共8页下载文档
文本预览下载声明
桂林电子科技大学信息科技学院 《EDA技术与应用》实训报告 学 号 0852100103 姓 名 程 茜 指导教师: 覃琴 2010 年 11 月 14 日 实训题目:交通灯控制电路的设计 1.系统设计 1.1 设计要求 1.1.1 设计任务 用EDA试验箱实现交通灯控制电路设计,用发光二极管显示东西、南北方向红灯、绿灯和黄灯情况,并在数码管上显示倒计时时间,整个控制电路符合实际交通道路控制要求。 1.1.2 技术要求 ① 用EDA实训仪上的4只八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。 ② 能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。 ③ 交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。 ④ 红、绿、黄灯显示的次序应符合实际交通道路控制的要求。 1.2 方案比较 1.3 方案论证 1.3.1 总体思路 以下为总体设计思路框图: 根据交通灯控制要实现的功能,使用设计一个清零键实现清零恢复到初始状态,使能键实现对交通灯的运行和暂停。用case语句控制一个方向的3种等按如下顺序点亮,并往复循环:绿灯——黄灯——红灯。为了实现黄灯亮时可以闪烁,专门设计控制黄灯的程序。在倒计时的同时,一秒亮,下一秒灭交替实现闪烁。 每种灯亮的时间采用一个减法计数器进行计数,计数器用与执法设计,这样只需改变预置数据就能改变计数器的模。倒计时用2个数码管分别交替显示数据。 设定两个方向红灯、黄灯、绿灯时间分别为:30s、3s、30s。 1.3.2 设计方案 2.各个模块程序的设计     ⑴ 分频器的设计       该模块将的脉冲信号进行分频,产生1的方波,作为系统的时钟计时脉冲信号。   ⑵控制电路 该模块主要是整个电路控制系统,通过使能端接受信号开始工作,初始化后接受来自数码管输出的反馈进行下一次灯亮,并控制数码管显示倒计时。   ⑶黄灯闪烁控制电路       为了使黄灯实现闪烁功能特将黄灯单独设置一个模块,将情况分为3种,实现东西、南北方向黄灯闪烁和全灭。 ⑷扫描显示电路   扫描显示译码电路,根据控制信号,驱动交通信号以及倒计时数码管的显示。 3.制作与调试过程 打开Quartus Ⅱ软件,对程序编译成功后下载到EDA试验箱,LED开始亮,进入初始化状态,并开始自动进行准换。当K8拨到上方时,交通灯暂停;当S15按下时,交通灯自动恢复到初始化状态。 4.结论 基本实现要求,初始化南北方向为红灯,东西方向为绿灯,倒计时30s,东西方向开始黄灯闪烁3秒,同时南北方向还为红灯,3秒后东西方向变为红灯,南北方向变为绿灯。倒计时的同时数码管交替显示不同亮灯的倒计时时间。但没有实现4位数码管显示,只有2位。 5.实训心得体会 通过本次实训使我对EDA这门课有了重新的认识,不是简单的课堂上好好听讲就可以,很多扩展的东西需要自己去学,去揣摩,而不是等老师来讲。 编写基本的程序较简单,但如何扩展是个难题。首先要明白交通灯是怎样工作的,这才发现平常都没有注意,通过上网准确查询才了解。很多东西都是平时积累,积累了才能为学习提供依据,才能有新的想法。在今后的无论学习还是生活都应注意观察学习。扩展部分是和同学一起完成的,我有很多想法,也试着编程,但都不成功。主要是平时积累太少,基础知识不够扎实,缺乏编程思想,逻辑思维也不够严谨,考虑过少。一些语句的使用环境比较模糊,导致编完后错误较多。怎样把学到的东西运用到实践这是今后一定要注意的问题。 本次实训不是很成功,这段程序不全是我一个人完成的,部分是借鉴同学的程序,而且只用了2位数码管,虽然回答上了老师的问题,但其中还存在很多问题。 6.参考文献 【1】 新编数字逻辑电路 北京邮电大学出版社 江国强 2006年12月 【2】 EDA技术与应用 电子工业出版社 江国强 2010年4月 【3】 EDA技术与Verilog设计 科学出版社 王金明、冷自强 2008年8月 附录:①仿真波形图(部分模块) Contr模块仿真波形 Cnt100的仿真图 ②程序清单 1、 module clkgen(clk,newclk); input clk; output newclk; reg newclk; reg[24:0] cnter; always @(posedge clk) begin if(cnte1) cnter=cnter+1; else cnter=0; if(cnter=
显示全部
相似文档