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

上传人:b****5 文档编号:18886074 上传时间:2023-01-02 格式:DOCX 页数:13 大小:406.79KB
下载 相关 举报
桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx_第1页
第1页 / 共13页
桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx_第2页
第2页 / 共13页
桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx_第3页
第3页 / 共13页
桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx_第4页
第4页 / 共13页
桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

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

《桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx》由会员分享,可在线阅读,更多相关《桂林电子科技大学EDA实训交通灯控制电路的设计文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

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

Rgwork和ywork是减法计数器,产生道路东西和南北通行和禁止的倒计时时间。

Counter是控制电路,控制整个系统的工作。

控制器接收倒计时的结果,当倒计时归0时,改变电路的控制模式,输出倒计时的初始时间和交通灯亮灭控制信号。

6输入或非门和2输入与非门组成了简易密码锁的功能(通过拨码开关实现)。

1.2.2总体设计框图

分频器交通灯控制电路数码管及LED灯

2各个模块程序的设计

2.1分频器模块的设计

分频器模块截图:

分频器模块程序设计:

modulefpq(clk,newclk);

inputclk;

outputregnewclk;

reg[24:

0]counter;

always@(posedgeclk)

begin

counter=counter+1;

if(counter>

=20000000)counter=0;

if(counter<

=10000000)newclk='

b1;

elseif(counter>

10000000)newclk='

b0;

end

endmodule

2.2红绿灯模块设计

红绿灯模块截图:

红绿灯模块程序设计:

modulergwork(clk,clrn,ydbj,gzfs,LED,t1,t2,q1,q2);

inputclk,clrn;

input[7:

0]q1,q2;

outputregydbj;

outputreg[1:

0]gzfs;

outputreg[7:

0]LED;

0]t1,t2;

reg[7:

0]rtime,gtime,ytime,rtime1='

h20,gtime1='

h16;

reg[1:

0]z;

initialbeginrtime='

h20;

gtime='

ytime='

h03;

ydbj=0;

z=0;

always@(posedgeclkornegedgeclrn)

begin

if(~clrn)ydbj=1;

else

begin

if(q1==0||q2==0)ydbj=1;

else

begin

ydbj=0;

rtime=rtime1;

gtime=gtime1;

end

end

always@(posedgeydbjornegedgeclrn)

if(~clrn)

t1=rtime;

t2=gtime;

LED='

b01100110;

gzfs=2;

z=z+1;

case(z)

0:

begint1=rtime;

1:

begint1=ytime;

t2=ytime;

b00100010;

gzfs=0;

2:

begint1=gtime;

t2=rtime;

b10011001;

3:

b10001000;

gzfs=1;

default:

endcase

2.3黄灯模块设计

黄灯模块截图:

黄灯模块程序设计:

moduleywork(gzfs,clk,clrn,q1,q2,LED_h);

input[7:

input[1:

outputreg[3:

0]LED_h;

if(~clrn)

LED_h='

b0000;

if(gzfs==0)

begin

if(q1=='

h03&

&

q2=='

h03)LED_h='

b1010;

if(q1=='

h02&

h02)LED_h='

h01&

h01)LED_h='

h00&

h00)LED_h='

end

if(gzfs==1)

b0101;

endmodule

2.4控制模块的设计

控制模块截图:

控制模块程序设计:

modulecountor(ts,en,clk,ybj,t1,t2,q1,q2);

inputclk,ybj,en,ts;

always@(posedgeclk^tsorposedgeybjorposedgeen)

if(en)beginq1=q1;

q2=q2;

if(ybj)beginq1=t1;

q2=t2;

else

begin

if(q1==0)q1='

h99;

elsebeginq1=q1-1;

if(q1[3:

0]>

='

ha)q1[3:

0]=9;

if(q2==0)q2='

elsebeginq2=q2-1;

if(q2[3:

ha)q2[3:

end

3调试过程

用QuartusⅡ软件对程序编译成功后下载到EDA试验箱。

LED开始亮,四个数码管显示3s倒计时,即黄灯开始进入闪烁状态,然后开始实现东西方绿灯,南北方红灯状态。

绿灯倒计时结束以后黄灯再次闪烁,随后进入南北方绿灯,东西方红灯状态。

并不断自动进行转换。

当S15拨到上方时,实现交通灯暂停(使能端作用)。

当K8按键按下时,交通灯自动恢复到初始化状态。

当将S3,S2,S1,S0拨为1010并按下K7按键能实现减计数调时。

4功能测试

4.1测试仪器与设备

EDA实训箱、计算机一台、QuartusⅡ软件

4.2性能指标测试

基本实现要求,初始化南北方向为红灯,东西方向为绿灯,倒计时20s,东西方向开始黄灯闪烁3秒,同时南北方向还为红灯,3秒后东西方向变为红灯,南北方向变为绿灯。

倒计时的同时数码管交替显示不同亮灯的倒计时时间。

实现4位数码管显示。

拨码开关S15实现暂停功能,S3到S0四个拨码开关实现简易密码锁功能(当拨“1010”时,可以实现调时功能,密码错误时则无法实现调时功能)。

两个按键K8,K7分别实现复位与调时功能(调时功能在密码正确情况下实现)。

5实训心得体会

这次实验使我更进一步地熟悉了VHDL硬件描述语言的设计思想,同时通过对程序的调试也使自己对VHDL语言的语法,结构和基本语句有了更深刻的了解。

在设计较复杂数字电路系统时最好采用分层设计的方法,分为各个功能模块,逐个进行仿真,最后通过顶层文件调用各个底层文件完成设计,程序也便于修改如程序要增加一些功能也只需加入相应的模块即可。

在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。

在今后的工作和学习中,我们不能仅仅把目光停留在课本上,要多理论联系实际。

有的时候,理论上是正确的东西放到现实中去,可能由于种种因素的制约,并不能达到实际的效果,还需要我们进行相应的修改才能完成要求。

这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。

6参考文献

【1】江国强.《新编数字逻辑电路》北京邮电大学出版社2006年12月

【2】江国强.《EDA技术与应用》电子工业出版社2010年4月

【3】王金明、冷自强.《EDA技术与Verilog设计》科学出版社2008年8月

【4】谢自美.《电子线路设计·

实验·

测试(第二版)》武汉华中科技大学出版社2000

【5】谭会生、张昌凡《EDA技术与应用---VerilogHDL版》西安电子科技大学出版社

附录

附录1:

仿真波形图(部分模块)

分频器模块波形仿真:

红绿灯模块波形仿真:

黄灯模块波形仿真:

控制模块波形仿真:

附录2:

程序清单

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

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

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