最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数字日历电路的设计

来源:动视网 责编:小OO 时间:2025-10-01 02:09:50
文档

数字日历电路的设计

桂林电子科技大学信息科技学院《EDA技术与应用》实训报告学号姓名指导教师:2012年6月22日题目:数字日历电路的设计1.系统设计1.1设计要求1.1.1设计任务用EDA的方法设计一个数字日历1.1.2性能指标①用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。②数字日历能够显示年、月、日、时、分、秒。③数字日历有复位的功能,有校年、月、日和校时、分、秒的功能,通过一个开关来转换时校年、月、日还是校时、分、秒。④此数字日历具有闹钟的功能,在6:01将开启闹钟,用一个LED灯表示,可以在
推荐度:
导读桂林电子科技大学信息科技学院《EDA技术与应用》实训报告学号姓名指导教师:2012年6月22日题目:数字日历电路的设计1.系统设计1.1设计要求1.1.1设计任务用EDA的方法设计一个数字日历1.1.2性能指标①用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。②数字日历能够显示年、月、日、时、分、秒。③数字日历有复位的功能,有校年、月、日和校时、分、秒的功能,通过一个开关来转换时校年、月、日还是校时、分、秒。④此数字日历具有闹钟的功能,在6:01将开启闹钟,用一个LED灯表示,可以在
  桂林电子科技大学信息科技学院

《EDA技术与应用》实训报告

学  号              

                    姓  名                

指导教师: 

               2012   年  6 月  22 日

            题目:数字日历电路的设计

1.系统设计

1.1设计要求

1.1.1设计任务

用EDA的方法设计一个数字日历

1.1.2性能指标

① 用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。

② 数字日历能够显示年、月、日、时、分、秒。

③ 数字日历有复位的功能,有校年、月、日和校时、分、秒的功能,通过一个开关来转换时校年、月、日还是校时、分、秒。

④ 此数字日历具有闹钟的功能,在6:01将开启闹钟,用一个LED灯表示,可以在任意时刻关闭闹钟。

1.2设计思路及框图

1.2.1设计思路

日历主要由年月日模块和时分秒模块组成,由分频器提供脉冲,再加上一个控制模块实现控制选择校准时分秒还是校准年月日。也可以实现时分秒和年月日的八秒自由转换。再加上一个闹钟,在6:01的时候闹钟开启,并由一个开关控制,在任意时间都可以关掉闹钟。

  

1.2.2总体设计框图

2各模块程序设计

2.1时分秒计时器模块:

module cnt60(clrn,clk,q,j,cont); 秒和分计时

input clrn,clk,j;

output reg [7:0] q;

output reg cont;

always @(posedge clk^j or negedge clrn)

begin

if(~clrn) q=0;

else begin

if(q=='h59) q=0;

else q=q+1;

if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;end

if(q=='h59) cont=1;

else cont=0;end

end

endmodule 

module cnt24(clrn,clk,q,j,cont); 小时计时

input clrn,clk,j;

output reg [7:0] q;

output reg cont;

always @(posedge clk^j or negedge clrn)

begin

if(~clrn) q=0;

else begin

if(q=='h23) q=0;

else q=q+1;

if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;end

if(q=='h23) cont=1;

else cont=0;end

end

endmodule 

2.2年月日模块

module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr); 年月日模块

  input  

  output [15:0] qn;

  output [7:0]

  reg  [15:0] 

  reg [7:0] 

  reg   

  reg [7:0] 

  reg   

initial  begin clkn1=1;clkn2=1;clkn3=1;end

initial  begin qn='h2000;qy=1;qr=1;end 

always @(posedge (clk^jr) or negedge clrn) 日计时模块

 

  

  

  

  

   

  

 

always @(posedge clky^jy or negedge clrn) 月计时模块

 

  

  

  

  

   

  

 

always

  begin

 

 

  end

always @(posedge (clkn^jn) or negedge clrn ) 年计时模块

 

  

 

always @(posedge clkn1 or negedge clrn )

 

  

 

always @(posedge clkn2 or negedge clrn )

 

  

 

always @(posedge clkn3 or negedge clrn )

    

 

endmodule 

2.3校时模块

module mux_4(k,jm,jf,js,jr,jy,jn,j1,j2,j3);

i

output reg 

always 

  begin

  end

endmodule 

2.4分频器模块

同时给时分秒和闹钟送入脉冲

module FENP(clk,newclk);

input clk;

output reg  newclk;

reg[24:0]  cnter;

always @(posedge clk) 

 begin

if(cnter<20000000) cnter=cnter+1;

else

 newclk=0;

  end

 endmodule

2.5控制器模块

显示年月日和显示时分秒直接的转换控制

module contr(clk,k1,k2,k);

  input  

  output reg 

  reg [3:0] 

  reg  

always @(posedge clk)

  begin qc=qc+1;

  八秒显示年月日八秒显示时分秒的自由转换

  显示并且校准时分秒

  显示并且校准年月日

  end

endmodule

2.6闹钟模块

module  naozhong(qs,qf,led,zt);

input zt;

output  led;

reg  led;

always 

begin

if (qs=='h06&&qf=='h01) 闹钟开始闪烁

  在任意时刻都可以关掉闹钟

end

endmodule  

2.7数码管显示模块

module mux_16(k,qm,qf,qs,qr,qy,qn,q);

  input   

  input[7:0] 

  input[15:0]  

  output reg [31:0]

always 

  begin 

  end

endmodule 

3.调试过程

    在调试过程中出现很多问题,在时分秒里加入分频器可以实现计时,但是闹钟就不能实现1秒钟闪烁一次的功能,当给闹钟加上一个分频器的时候,时分秒模块也不能自动计时。首先认识到必须只能有一个分频器,而且还能同时给两个提供脉冲。所以就删除了时分秒里的分频器,在总的图中加入一个分频器,同时给两个提供脉冲,这样两个功能都可以同时实现。

 4.功能测试

4.1 测试仪器与设备 

电脑,EDA实训仪。

4.2 性能指标测试 

    S0、S1控制手动切换和自动切换,当S0、S1都往上拨或都往下拨都是自动切换,SO上拨S1下拨是显示并可以校准时分秒的,反之是显示和校准年月日的。K8、K7、K6分别是校准年月日或时分秒的。K0是复位功能

5  实训心得体会

    通过这次EDA实训,把课堂上学习的知识又巩固了一遍,也更加熟悉了对quartusII软件的使用。这次我们小组选作数字日历这个题目,创新点在于闹钟模块,可以实现闹钟的功能。通过小组的分工合作,把大家的思路整合在一起,在一起分析程序的使用,互相学习,更加理解了程序的用法。EDA的功能很强大,去除了传统算法的复杂,是程序简单化,几个语句就可以实现想要的功能。在我们所做的日历中,分别用到计数,分频,选择器这些最基本的功能,然后加以改善和创新,实现了日历的功能。

6.参考文献:

江国强.EDA技术与应用(第三版).北京:电子工业出版社,2011

附录

附录1:仿真波形图

1.分频器仿真波形图

2.时分秒仿真波形图

3.年月日仿真波形图

4.闹钟仿真波形图

附录2:程序清单:

程序1

module cnt60(clrn,clk,q,j,cont); 秒和分计时

input clrn,clk,j;

output reg [7:0] q;

output reg cont;

always @(posedge clk^j or negedge clrn)

begin

if(~clrn) q=0;

else begin

if(q=='h59) q=0;

else q=q+1;

if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;end

if(q=='h59) cont=1;

else cont=0;end

end

endmodule 

程序2

module cnt24(clrn,clk,q,j,cont); 小时计时

input clrn,clk,j;

output reg [7:0] q;

output reg cont;

always @(posedge clk^j or negedge clrn)

begin

if(~clrn) q=0;

else begin

if(q=='h23) q=0;

else q=q+1;

if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;end

if(q=='h23) cont=1;

else cont=0;end

end

endmodule 

程序3

module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr); 年月日模块

  input  

  output [15:0] qn;

  output [7:0]

  reg  [15:0] 

  reg [7:0] 

  reg   

  reg [7:0] 

  reg   

initial  begin clkn1=1;clkn2=1;clkn3=1;end

initial  begin qn='h2000;qy=1;qr=1;end 

always @(posedge (clk^jr) or negedge clrn) 日计时模块

 

  

  

  

  

   

  

 

always @(posedge clky^jy or negedge clrn) 月计时模块

 

  

  

  

  

   

  

 

always

  begin

 

 

  end

always @(posedge (clkn^jn) or negedge clrn ) 年计时模块

 

  

 

always @(posedge clkn1 or negedge clrn )

 

  

 

always @(posedge clkn2 or negedge clrn )

 

  

 

always @(posedge clkn3 or negedge clrn )

    

 

endmodule 

程序4

module mux_4(k,jm,jf,js,jr,jy,jn,j1,j2,j3); 校时模块

i

output reg 

always 

  begin

  end

endmodule 

程序5

module FENP(clk,newclk); 分频器模块

input clk;

output reg  newclk;

reg[24:0]  cnter;

always @(posedge clk) 

 begin

if(cnter<20000000) cnter=cnter+1;

else

 newclk=0;

  end

 endmodule

程序6

module contr(clk,k1,k2,k); 控制器模块

  input  

  output reg 

  reg [3:0] 

  reg  

always @(posedge clk)

  begin qc=qc+1;

  八秒显示年月日八秒显示时分秒的自由转换

  显示并且校准时分秒

  显示并且校准年月日

  end

endmodule

程序7

module  naozhong(qs,qf,led,zt); 闹钟模块

input zt;

output  led;

reg  led;

always 

begin

if (qs=='h06&&qf=='h01) 闹钟开始闪烁

  在任意时刻都可以关掉闹钟

end

endmodule  

程序8

module mux_16(k,qm,qf,qs,qr,qy,qn,q); 数码管显示模块

  input   

  input[7:0] 

  input[15:0]  

  output reg [31:0]

always 

  begin 

  end

endmodule 

文档

数字日历电路的设计

桂林电子科技大学信息科技学院《EDA技术与应用》实训报告学号姓名指导教师:2012年6月22日题目:数字日历电路的设计1.系统设计1.1设计要求1.1.1设计任务用EDA的方法设计一个数字日历1.1.2性能指标①用EDA实训仪的I/O设备和PLD芯片实现数字日历的设计。②数字日历能够显示年、月、日、时、分、秒。③数字日历有复位的功能,有校年、月、日和校时、分、秒的功能,通过一个开关来转换时校年、月、日还是校时、分、秒。④此数字日历具有闹钟的功能,在6:01将开启闹钟,用一个LED灯表示,可以在
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top