桂林电子科技大学EDA实训——交通灯控制电路的设计.doc
文本预览下载声明
桂林电子科技大学信息科技学院
《EDA技术及应用》实训报告
学 号 1252310106
姓 名 陈 力
指导教师:李德明
2014 年 4 月 29 日
交通灯控制电路的设计
1 系统设计
1.1 设计要求
1.1.1 设计任务
用EDA实训仪上的4只八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。
1.1.2 性能指标要求
能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。
交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。
红、绿、黄灯显示的次序应符合实际交通道路控制的要求。
1.2 设计思路及设计框图
1.2.1设计思路
fpq是分频器,将EDA实训仪主板提供的20MHz的主频频后,得到电路所需的1Hz(1秒)时钟。Rgwork和ywork是减法计数器,产生道路东西和南北通行和禁止的倒计时时间。Counter是控制电路,控制整个系统的工作。控制器接收倒计时的结果,当倒计时归0时,改变电路的控制模式,输出倒计时的初始时间和交通灯亮灭控制信号。6输入或非门和2输入与非门组成了简易密码锁的功能(通过拨码开关实现)。
1.2.2总体设计框图
分频器 交通灯控制电路 数码管及LED灯
2 各个模块程序的设计
2.1分频器模块的设计
分频器模块截图:
分频器模块程序设计:
module fpq(clk,newclk);
input clk;
output reg newclk;
reg[24:0] counter;
always @(posedge clk )
begin
counter=counter+1;
if(countercounter=0;
if(counternewclk=b1;
else if(countenewclk=b0;
end
endmodule
2.2红绿灯模块设计
红绿灯模块截图:
红绿灯模块程序设计:
module rgwork(clk,clrn,ydbj,gzfs,LED,t1,t2,q1,q2);
input clk,clrn;
input [7:0] q1,q2;
output reg ydbj;
output reg[1:0] gzfs;
output reg[7:0] LED;
output reg[7:0] t1,t2;
reg[7:0] rtime,gtime,ytime,rtime1=h20,gtime1=h16;
reg[1:0] z;
initial begin rtime=h20;gtime=h16;ytime=h03;ydbj=0;z=0;end
always @(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
end
end
always @(posedge ydbj or negedge clrn)
begin
if(~clrn)
begin
t1=rtime;t2=gtime;LED=gzfs=2;z=0;
end
else
begin
z=z+1;
case (z)
0:begin t1=rtime;t2=gtime;LED=gzfs=2;end
1:begin t1=ytime;t2=ytime;LED=gzfs=0;end
2:begin t1=gtime;t2=rtime;LED=gzfs=2;end
3:begin t1=ytime;t2=ytime;LED=gzfs=1;end
default:begin t1=rtime;t2=gtime;LED=gzfs=2;end
endcase
end
end
endmodule
2.3黄灯模块设计
黄灯模块截图:
黄灯模块程序设计:
module ywork(gzfs,clk,clrn,q1,q2,LED_h);
input[7:0] q1,q2;
input clk,clr
显示全部