- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数电交通灯控制逻辑电路设计
江苏科技大学电子信息学院
数字电子技术实验
课 程 设 计 报 告
指导老师 : 李绍鹏
学 院: 电子信息学院
班 级:
学生(学号): 孙磊()
目 录
课题一 数字电子钟
课题二 交通灯控制逻辑电路设计
(注:由于Quartusii 9.0不支持中文输入,但支持中文复制,所以以下代码文字说明均为后期制作)
课题一 数字电子钟
任务:用文本法设计一个能显示时、分、秒的数字电子钟
要求:1.设计由20mhz有源晶振电路产生标准信号的单元电路;
2.时为00~23六十进制计数器,分、秒为00~59六十进制计数器;
3.能够显示出时、分、秒;
4.具有清零,调节分钟的功能;
5.模拟钟摆功能;
6.具有整点报时功能,整点报时的同时声响电路发出叫声;
7.对时、分、秒单元电路进行仿真并记录。
本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,并通过仿真和下载,实现其基本功能。
顶层文件
module top(
CLK,SET,EN,RE, //CLK==20M HZ SET调节分钟
LED_5,OUT,
QH1,QH0,QM1,QM0,QS1,QS0
);
input CLK,SET,RE,EN;
output OUT; //OUT报时
output [3:0] QH1,QH0,QM1,QM0,QS1,QS0;
output [4:0] LED_5;
wire clk1khz,clk250hz,clk1hz,m1,b2,b3,b4;
wire [5:0] s1,m2,h3;
//---------------分频-----------------------------------------
Div u1(CLK,EN,RE,14d6384,clk1khz);
Div u2(clk1khz,EN,RE,14d16382,clk250hz);
Div u3(clk1khz,EN,RE,14d15884,clk1hz);
//-----------------秒s1计数 ,产生分进位m1------------
counter u4(clk1hz,EN,RE,6d59,m1,s1);
BCDturn u5(s1,QS1,QS0);
//-----------------分m2计数,产生时进位b3-----------
counter u6(b2,EN,RE,6d59,b3,m2);
BCDturn u7(m2,QM1,QM0);
//-----------------时h3计数,产生进位b4--------------
counter u8(b3,EN,RE,6d23,b4,h3);
BCDturn u9(h3,QH1,QH0);
//--------------------模拟钟摆-------------------------------
led_ u10 (CLK,LED_5);
//--------------------整点报时-------------------------------
baoshi u11(QM1,QM0,QS1,QS0,OUT);
//------------------b2调节分钟---------------------------------
assign b2=SET?SET:m1;
endmodule
分频模块
module Div(CLK,EN,RE,d,Q); //给d赋初始值
input CLK,EN,RE;
input [13:0] d;
output Q;
reg FULL,Q;
reg [13:0] c;
always@(posedge CLK )
begin
文档评论(0)