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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

桂林电子科技大学EDA实训交通灯控制电路的设计.docx

1、桂林电子科技大学EDA实训交通灯控制电路的设计 桂林电子科技大学信息科技学院EDA技术及应用实训报告学 号 06 姓 名 陈 力 指导教师:李德明2014 年 4 月 29 日交通灯控制电路的设计1 系统设计1.1 设计要求1.1.1 设计任务 用EDA实训仪上的4只八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。1.1.2 性能指标要求 能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。红、绿、黄灯显示的次序应符合实际交通道路控制的要求。1.2 设计思路及设计框图fpq是分频器,将EDA

2、实训仪主板提供的20MHz的主频经分频后,得到电路所需的1Hz(1秒)时钟。Rgwork和ywork是减法计数器,产生道路东西和南北通行和禁止的倒计时时间。Counter是控制电路,控制整个系统的工作。控制器接收倒计时的结果,当倒计时归0时,改变电路的控制模式,输出倒计时的初始时间和交通灯亮灭控制信号。6输入或非门和2输入与非门组成了简易密码锁的功能(通过拨码开关实现)。分频器 交通灯控制电路 数码管及LED灯2 各个模块程序的设计2.1分频器模块的设计分频器模块截图:分频器模块程序设计:module fpq(clk,newclk);input clk;output reg newclk;re

3、g24:0 counter;always (posedge clk )begincounter=counter+1;if(counter=)counter=0;if(counter)newclk=b0;endendmodule2.2红绿灯模块设计红绿灯模块截图:红绿灯模块程序设计:module rgwork(clk,clrn,ydbj,gzfs,LED,t1,t2,q1,q2);input clk,clrn;input 7:0 q1,q2;output reg ydbj;output reg1:0 gzfs;output reg7:0 LED;output reg7:0 t1,t2;reg7:

4、0 rtime,gtime,ytime,rtime1=h20,gtime1=h16;reg1:0 z;initial begin rtime=h20;gtime=h16;ytime=h03;ydbj=0;z=0;endalways (posedge clk or negedge clrn)begin if(clrn) ydbj=1; else begin if(q1=0|q2=0) ydbj=1; else begin ydbj=0; rtime=rtime1;gtime=gtime1; end endend always (posedge ydbj or negedge clrn) begi

5、n if(clrn) begin t1=rtime;t2=gtime;LED=b01100110;gzfs=2;z=0; end else begin z=z+1; case (z) 0:begin t1=rtime;t2=gtime;LED=b01100110;gzfs=2;end 1:begin t1=ytime;t2=ytime;LED=b00100010;gzfs=0;end 2:begin t1=gtime;t2=rtime;LED=b;gzfs=2;end 3:begin t1=ytime;t2=ytime;LED=b;gzfs=1;end default:begin t1=rti

6、me;t2=gtime;LED=b01100110;gzfs=2;end endcase endendendmodule2.3黄灯模块设计黄灯模块截图:黄灯模块程序设计:module ywork(gzfs,clk,clrn,q1,q2,LED_h);input7:0 q1,q2;input clk,clrn;input 1:0 gzfs;output reg3:0 LED_h;always (posedge clk or negedge clrn)begin if(clrn) LED_h=b0000; else begin if(gzfs=0) begin if(q1=h03&q2=h03)

7、LED_h=b1010; if(q1=h02&q2=h02) LED_h=b0000; if(q1=h01&q2=h01) LED_h=b1010; if(q1=h00&q2=h00) LED_h=b0000; end if(gzfs=1) begin if(q1=h03&q2=h03) LED_h=b0101; if(q1=h02&q2=h02) LED_h=b0000; if(q1=h01&q2=h01) LED_h=b0101; if(q1=h00&q2=h00) LED_h=b0000; end endend endmodule 2.4控制模块的设计控制模块截图:控制模块程序设计:mo

8、dule countor(ts,en,clk,ybj,t1,t2,q1,q2);input clk,ybj,en,ts;input7:0 t1,t2;output reg7:0 q1,q2;always (posedge clkts or posedge ybj or posedge en)begin if(en) begin q1=q1;q2=q2; end else begin if(ybj) begin q1=t1;q2=t2; end else begin if(q1=0) q1=h99; else begin q1=q1-1;end if(q13:0=ha) q13:0=9; if(

9、q2=0) q2=h99; else begin q2=q2-1;end if(q23:0=ha) q23:0=9; end endendendmodule3 调试过程用Quartus 软件对程序编译成功后下载到EDA试验箱。LED开始亮,四个数码管显示3s倒计时,即黄灯开始进入闪烁状态,然后开始实现东西方绿灯,南北方红灯状态。绿灯倒计时结束以后黄灯再次闪烁,随后进入南北方绿灯,东西方红灯状态。并不断自动进行转换。当S15拨到上方时,实现交通灯暂停(使能端作用)。当K8按键按下时,交通灯自动恢复到初始化状态。当将S3,S2,S1,S0拨为1010并按下K7按键能实现减计数调时。4 功能测试4.

10、1 测试仪器与设备 EDA实训箱、 计算机一台、Quartus 软件4.2 性能指标测试 基本实现要求,初始化南北方向为红灯,东西方向为绿灯,倒计时20s,东西方向开始黄灯闪烁3秒,同时南北方向还为红灯,3秒后东西方向变为红灯,南北方向变为绿灯。倒计时的同时数码管交替显示不同亮灯的倒计时时间。实现4位数码管显示。拨码开关S15实现暂停功能,S3到S0四个拨码开关实现简易密码锁功能(当拨“1010”时,可以实现调时功能,密码错误时则无法实现调时功能)。两个按键K8,K7分别实现复位与调时功能(调时功能在密码正确情况下实现)。5 实训心得体会这次实验使我更进一步地熟悉了VHDL硬件描述语言的设计思

11、想,同时通过对程序的调试也使自己对VHDL语言的语法,结构和基本语句有了更深刻的了解。在设计较复杂数字电路系统时最好采用分层设计的方法,分为各个功能模块,逐个进行仿真,最后通过顶层文件调用各个底层文件完成设计,程序也便于修改如程序要增加一些功能也只需加入相应的模块即可。在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。在今后的工作和学习中,我们不能仅仅把目光停留在课本上,要多理论联系实际。有的时候,理论上是正确的东西放到现实中去,可能由于种种因素的制约,并不能达到实际的效果,还需要我们进行相应的修改才能完成要求。这次的课程设计使我巩固了以

12、前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。6 参考文献【1】江国强.新编数字逻辑电路 北京邮电大学出版社 2006年12月【2】江国强. EDA技术与应用 电子工业出版社 2010年4月【3】王金明、冷自强.EDA技术与Verilog设计科学出版社 2008年8月【4】谢自美.电子线路设计实验测试(第二版)武汉华中科技大学出版社2000【5】谭会生、张昌凡 EDA技术与应用-Verilog HDL版西安电子科技大学出版社附 录附录1:仿真波形图(部分模块)分频器模块波形仿真:红绿灯模块波形仿真: 黄灯模块波形仿真: 控制模块波形仿真:附录2:程序清单分频器模块程序设

13、计:module fpq(clk,newclk);input clk;output reg newclk;reg24:0 counter;always (posedge clk )begincounter=counter+1;if(counter=)counter=0;if(counter)newclk=b0;endendmodule红绿灯模块程序设计:module rgwork(clk,clrn,ydbj,gzfs,LED,t1,t2,q1,q2);input clk,clrn;input 7:0 q1,q2;output reg ydbj;output reg1:0 gzfs;output

14、 reg7:0 LED;output reg7:0 t1,t2;reg7:0 rtime,gtime,ytime,rtime1=h20,gtime1=h16;reg1:0 z;initial begin rtime=h20;gtime=h16;ytime=h03;ydbj=0;z=0;endalways (posedge clk or negedge clrn)begin if(clrn) ydbj=1; else begin if(q1=0|q2=0) ydbj=1; else begin ydbj=0; rtime=rtime1;gtime=gtime1; end endend alway

15、s (posedge ydbj or negedge clrn) begin if(clrn) begin t1=rtime;t2=gtime;LED=b01100110;gzfs=2;z=0; end else begin z=z+1; case (z) 0:begin t1=rtime;t2=gtime;LED=b01100110;gzfs=2;end 1:begin t1=ytime;t2=ytime;LED=b00100010;gzfs=0;end 2:begin t1=gtime;t2=rtime;LED=b;gzfs=2;end 3:begin t1=ytime;t2=ytime;

16、LED=b;gzfs=1;end default:begin t1=rtime;t2=gtime;LED=b01100110;gzfs=2;end endcase endendendmodule黄灯模块程序设计:module ywork(gzfs,clk,clrn,q1,q2,LED_h);input7:0 q1,q2;input clk,clrn;input 1:0 gzfs;output reg3:0 LED_h;always (posedge clk or negedge clrn)begin if(clrn) LED_h=b0000; else begin if(gzfs=0) beg

17、in if(q1=h03&q2=h03) LED_h=b1010; if(q1=h02&q2=h02) LED_h=b0000; if(q1=h01&q2=h01) LED_h=b1010; if(q1=h00&q2=h00) LED_h=b0000; end if(gzfs=1) begin if(q1=h03&q2=h03) LED_h=b0101; if(q1=h02&q2=h02) LED_h=b0000; if(q1=h01&q2=h01) LED_h=b0101; if(q1=h00&q2=h00) LED_h=b0000; end endend endmodule 控制模块程序设

18、计:module countor(ts,en,clk,ybj,t1,t2,q1,q2);input clk,ybj,en,ts;input7:0 t1,t2;output reg7:0 q1,q2;always (posedge clkts or posedge ybj or posedge en)begin if(en) begin q1=q1;q2=q2; end else begin if(ybj) begin q1=t1;q2=t2; end else begin if(q1=0) q1=h99; else begin q1=q1-1;end if(q13:0=ha) q13:0=9; if(q2=0) q2=h99; else begin q2=q2-1;end if(q23:0=ha) q23:0=9; end endendendmodule

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2