- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国石油大学华东交通灯控制电路
2013—2014学年第三学期
《数字电子技术课程设计》任务书
(适用专业:电气12级、自动化、勘查(卓越)设计题目:设计任务及(表示左转弯),再延时一段时间后,红灯亮(表示左转弯),20s(其中,绿灯亮时间为s,绿灯闪烁时间为s,黄灯闪烁时间为s)20、19、18、17……2、1、0、20、19、18……。在显示时间小于等于5秒的时候,通车方向的黄灯闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。
2、扩展要求:
a.利用一个开关20s扩展为0-30s(30-10s之间绿灯亮,其他与基本要求相同)
b.增加交警控制模块:一个切换自动(上述情况属于自动模式)和人工(交警控制模式)(东西向绿灯,南北向红灯,没有时间限制)(向绿灯,向红灯,没有时间限制)(东西向绿灯,红灯亮,南北向红灯,没有时间限制)(向绿灯,红灯亮,向红灯,没有时间限制)具体要求:绿灯、外部输入脉冲,使用。
、输出组信号(每组个),分别接到外部的数码管上。分别接到外部的
图1 交通灯控制电路结构框图
根据如上说明,本设计的主要任务和设计要求是:
按照现代数字系统的Top-Down模块化设计方法,提出系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制、等模块化子系统的设计方案。
在的EDA设计环境中,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于语言实现的子模块(包括控制、)的逻辑功能仿真。对顶层设计进行功能仿真。 在2步的基础上,module fenpinqi(clk,clk1,clk2,clk1000);
input clk;
output clk1,clk2,clk1000;
reg [31:0]cnt1,cnt2,cnt3;
reg clk1,clk2,clk1000;
initial
begin
clk1=0;
clk2=0;
clk1000=0;
cnt1=0;
cnt2=0;
cnt3=0;
end
always@(posedge clk)
begin
if(cnt1=
begin
clk1=~clk1;
cnt1=0;
end
else
begin
cnt1=cnt1+1;
end
if(cnt2=
begin
clk2=~clk2;
cnt2=0;
end
else
begin
cnt2=cnt2+1;
end
if(cnt3==24999)
begin
clk1000=~clk1000;
cnt3=0;
end
else
begin
cnt3=cnt3+1;
end
end
endmodule
2)仿真文件
3)功能仿真波形
1hz和2hz的频率过低,无法仿真。
2、倒计时计数器
1)Verilog 源文件
module daojishi(clk1,k,seq1,seq2,ji,out);
//ji记录循环次数,out输出二进制秒数
input clk1,k;
output[6:0] seq1,seq2;
output ji;
output[4:0]out;
reg[6:0] seq1,seq2;
reg ji;
reg[4:0]out;
parameter Num1=20;
parameter Num2=30;
integer cnt;
initial cnt=0;
integer cnt1;
initial cnt1=0;
always@(posedge clk1)
begin
if(k==0)
begin
if(cnt==0)
begin
cnt=20;
cnt1=cnt1+1;
end
else
begin
cnt=cnt-1;
end
end
else if(cnt==0)
begin
cnt=30;
cnt1=cnt1+1;
end
else
begin
cnt=cnt-1;
end
end
always@(cnt)
begin
case(cnt%10)
0:seq1=7b0000001;
1:seq1=7b1001111;
2:seq1=7b0010010;
3:seq1=7b0000110;
4:seq1=7b1001100;
5:seq1=7b0100100;
6:seq1=7b0100000;
7:seq1=7b0001111;
8:seq1=7b0000000;
9:seq1=7b0000100;
endcase
end
always@(cnt)
begin
case((cnt-(cnt%10))/10)
0:seq2=7b0000001;
1:seq2=7b1001
文档评论(0)