数字电路课程设计--数字钟.doc_第1页
数字电路课程设计--数字钟.doc_第2页
数字电路课程设计--数字钟.doc_第3页
数字电路课程设计--数字钟.doc_第4页
数字电路课程设计--数字钟.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除大连理工大学本科实验报告题目:数字钟课程名称: 数字电路课程设计 学院(系): 电子信息与电气工程学部 专 业: 电气工程及其自动化 班 级: 学生姓名: 学 号: 完成日期: 成 绩: 2017 年 1 月 7 日题目:数字钟1 设计要求1、设计一个数字钟,能够显示当前时间,分别用6个数码管显示小时、分钟、秒钟的时间,秒针的计数频率为1Hz,可由系统脉冲分频得到。2、在整点进行提示,可通过LED闪烁实现,闪烁频率及花型可自己设计。3、能够调整小时和分钟的时间,调整的形式为通过按键进行累加。4、具有闹钟功能,闹钟时间可以任意设定(设定的形式同样为通过按键累加),并且在设定的时间能够进行提示,提示同样可以由LED闪烁实现。2 设计分析及系统方案设计2.1 系统状态转换因为数字钟成正常显示时间、闹钟、校时、秒表四个状态,所以可以选用两个开关来对其状态进行控制,当开关分别为00,01,10,11四种状态时,对应显示时间、修改时间、闹钟、秒表四种状态。显示时间修改时间,使用两个开关分别对位和数字更改闹钟,使用两个开关分别对位和数字进行更改秒钟,使用一个开关控制秒钟的开始和关闭四个状态000110112.2 时钟信号的建立该多功能数字钟系统需要两个时钟信号,分别为1Hz的信号为数字钟提供秒信号以及200Hz的检查信号。本设计选用50MHz信号,分别将其通过模25000000计数器和模125000计数器从而得到1Hz及200Hz信号。2.3 功能分析及其设计2.3.1时间显示功能当两个开关都处于低电平状态时,正常显示。 2.3.2 修改时间当sw1处于低电平状态,sw0处于高电平状态,进入当前时间修改功能。通过按键key0分别选择修改时、分或秒,通过按键key1对选择修改的时间进行+1操作。2.3.3 闹钟当sw1出于高电平状态,sw0出于低电平状态,进入闹铃功能。通过按键key0分别选择改变时、分或秒,通过按键key2对选择改变的时间进行+1操作,当数字钟到当前时间,LEDG0发光。2.3.4 秒表当sw1及sw0都处于高电平状态,进入秒表功能。通过按键key0进行秒表计时的开始及暂停,通过按键key3对秒表进行清零。3系统以及模块硬件电路设计3.1 硬件原理图图3.1 系统示意图图3.2 按键电路图3.3 状态选择按键图3.4 闹钟使用的led3.2 管脚定义程序代码引 脚功能作用clkPIN_N2提供50MHz的时钟信号s1PIN_N25选择功能状态s2PIN_G26选择功能状态k1PIN_G26切换改变时间功能的时、分、秒;切换闹钟功能设置闹钟时间的时、分、秒;秒表功能的开始与暂停k2PIN_N23改变时间功能的+1k3PIN_P23闹钟功能设置闹钟时间的+1k4PIN_W26秒表功能的清零LEDPIN_AE22闹钟时间到来时指示dclkh10PIN_N9连接HEX7,显示时高位dclkh11PIN_P9dclkh12PIN_L7dclkh13PIN_L6dclkh14PIN_L9dclkh15PIN_L2dclkh16PIN_L3dclkh20PIN_M4连接HEX6,显示时低位dclkh21PIN_M5dclkh22PIN_M3dclkh23PIN_M2dclkh24PIN_P3dclkh25PIN_P4dclkh26PIN_R2dclkm10PIN_R3连接HEX5,显示分高位dclkm11PIN_R4dclkm12PIN_R5dclkm13PIN_T9dclkm14PIN_P7dclkm15PIN_P6dclkm16PIN_T2dclkm20PIN_T3连接HEX4,显示分低位dclkm21PIN_R6dclkm22PIN_R7dclkm23PIN_T4dclkm24PIN_U2dclkm25PIN_U1dclkm26PIN_U9dclks10PIN_W24连接HEX3,显示秒高位dclks11PIN_U22dclks12PIN_Y25dclks13PIN_Y26dclks14PIN_AA26dclks15PIN_AA25dclks16PIN_Y23dclks20PIN_Y24连接HEX2,显示秒低位dclks21PIN_AB25dclks22PIN_AB26dclks23PIN_AC26dclks24PIN_AC25dclks25PIN_V22dclks26PIN_AB234 系统的Verilog设计/顶层模块module clock(clk,dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2,s,h,state,s1,s2,k1,k2,k3,k4,LED);input clk;/声明输入端口,连接50M晶振input s1,s2;/声明输入端口,控制功能转换input k1,k2,k3,k4;/声明输入端口,连接按键,对功能内部进行设置output LED;/声明输出端口,连接LED,闹钟指示output s,h;/声明输出端口,为各功能提供秒信号output state;/声明输出端口,表示当前状态output 6:0 dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2;/声明输出端口,连接数码管,reg 31:0 c,e;reg s,h;reg b;reg 1:0 state;wire 7:0 cs0,cm0,ch0,cs1,cm1,ch1,cs2,cm2,ch2,cs3,cm3,ch3;/分别连接四个状态的时分秒reg 7:0 clks,clkm,clkh,clks1,clkm1,clkh1;wire 6:0 dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2;reg 1:0 k,a,d;reg LED;reg clkf;always(negedge k1) /检测k1beginif(state=2b01)beginif(k=2d2)k=2d0;elsek=k+1d1;endelse if(state=2b10)beginif(a=2d2)a=2d0;elsea=a+1d1;endelse if(state=2b11)beginb=b;endendalways(negedge k4)/检测k4beginif(state=2b11)beginif(d=1b1)d=1b0;elsed=d+1b1;endendalways(posedge clkf)/定义状态begincase(s1,s2) 2b00:state=2d0; 2b01:state=2d1; 2b10:state=2d2; 2b11:state=2d3;default:state=2d0;endcaseendalways(posedge clk)/提供1Hz信号beginif(c=32d24999999)begins=s;h=h; c=1d0;endelsec=c+1d1;endalways(posedge clk)/提供200Hz信号beginif(e=32d125999)clkf=clkf;elsee=e+1b1;endalways(posedge clkf)/检验时间是否到设定的闹钟beginif(cs2=cs0&cm2=cm0&ch2=ch0)LED=1b1;elseLED=1b0;endalways(posedge clkf)beginif(state=1b0)beginclks=cs0;clkm=cm0;clkh=ch0;endelse if(state=2d1)beginclks1=cs1;clkm1=cm1;clkh1=ch1;clks=cs0;clkm=cm0;clkh=ch0;endelse if(state=2d2)beginclks=cs2;clkm=cm2;clkh=ch2;endelse if(state=2d3)beginclks=cs3;clkm=cm3;clkh=ch3;endendde2time u0(.cs0(cs0),.cm0(cm0),.ch0(ch0),.s(s),.state(state),.clkf(clkf),.clks1(clks1),.clkm1(clkm1),.clkh1(clkh1);de2timechange u1(.cs1(cs1),.cm1(cm1),.ch1(ch1),.state(state),.k2(k2),.k(k);de2alarm u2(.cs2(cs2),.cm2(cm2),.ch2(ch2),.a(a),.k3(k3),.state(state);de2timer u3(.cs3(cs3),.cm3(cm3),.ch3(ch3),.b(b),.h(h),.clkf(clkf),.d(d);bdtransform u4(.clks(clks),.clkm(clkm),.clkh(clkh),.dclks1(dclks1),.dclks2(dclks2),.dclkm1(dclkm1),.dclkm2(dclkm2),.dclkh1(dclkh1),.dclkh2(dclkh2),.clkf(clkf);endmodule/正常时间显示模块module de2time(clks1,clkm1,clkh1,s,state,cs0,cm0,ch0,clkf);input s;input clkf;input clks1,clkm1,clkh1;output cs0,cm0,ch0;input state;wire s;wire clkf;wire 7:0 clks1,clkm1,clkh1;wire 1:0 state;reg 7:0 cs0;reg 7:0 cm0;reg 7:0 ch0;always(posedge s)beginif(state=2d0|state=2d2|state=2d3)beginif(cs0=6b111011)begincs0=0;cm0=cm0+1b1;if(cm0=6b111011)begincm0=0;ch0=ch0+1b1;if(ch0=5b10111)beginch0=0;endelse ;end else ;end elsebegincs0=cs0+1b1;endendelsebegincs0=clks1;cm0=clkm1;ch0=clkh1;endendendmodule/时间更改模块module de2timechange(cs1,cm1,ch1,state,k,k2);input state;input k;input k2;output cs1,cm1,ch1;wire 1:0 k;wire k2;wire 1:0 state;reg 7:0 cs1;reg 7:0 cm1;reg 7:0 ch1;always(negedge k2)beginif(state=2b01)beginif(k=1d0)beginif(cs1=6b111011)cs1=0;elsecs1=cs1+1b1;endelse if(k=1d1)beginif(cm1=6b111011)cm1=0;elsecm1=cm1+1b1;endelse if(k=2d2)beginif(ch1=5b10111)ch1=0;elsech1=ch1+1b1;endendendendmodule/闹钟功能模块module de2alarm(cs2,cm2,ch2,state,a,k3);input a;input k3;input 1:0 state;output 7:0 cs2,cm2,ch2;wire 1:0 a;wire k3;wire 1:0 state;reg 7:0 cs2,cm2,ch2;always(negedge k3)beginif(state=2b10)beginif(a=1d0)beginif(cs2=6b111011)cs2=0;elsecs2=cs2+1b1;endelse if(a=1d1)beginif(cm2=6b111011)cm2=0;elsecm2=cm2+1b1;endelse if(a=2d2)beginif(ch2=5b10111)ch2=0;elsech2=ch2+1b1;endendendendmodule/秒表功能模块module de2timer(cs3,cm3,ch3,b,h,clkf,d);input b;input h;input d;input clkf;output 7:0 cs3,cm3,ch3;wire b;wire s;wire d;wire clkf;reg 7:0 cs3,cm3,ch3;always(posedge h)beginif(d=1b0)beginif(b=1b1)beginif(cs3=6b111011)begincs3=0;cm3=cm3+1b1;if(cm3=6b111011)begincm3=0;ch3=ch3+1b1;if(ch3=5b10111)beginch3=0;endelse ;end else ;end elsebegincs3=cs3+1b1;endendendelsecs3=0;cm3=0;ch3=0;endendmodule/将2进制转换为数码管输出module bdtransform(clks,clkm,clkh,dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2,clkf);input clks,clkm,clkh;input clkf;output dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2;wire 7:0 clks,clkm,clkh;wire clkf;reg 6:0 dclks1,dclks2,dclkm1,dclkm2,dclkh1,dclkh2;always(clkf)begincase(clks)6d0:dclks1,dclks2=14b00000010000001;6d1:dclks1,dclks2=14b00000011001111;6d2:dclks1,dclks2=14b00000010010010;6d3:dclks1,dclks2=14b00000010000110;6d4:dclks1,dclks2=14b00000011001100;6d5:dclks1,dclks2=14b00000010100100;6d6:dclks1,dclks2=14b00000010100000;6d7:dclks1,dclks2=14b00000010001111;6d8:dclks1,dclks2=14b00000010000000;6d9:dclks1,dclks2=14b00000010000100;6d10:dclks1,dclks2=14b10011110000001;6d11:dclks1,dclks2=14b10011111001111;6d12:dclks1,dclks2=14b10011110010010;6d13:dclks1,dclks2=14b10011110000110;6d14:dclks1,dclks2=14b10011111001100;6d15:dclks1,dclks2=14b10011110100100;6d16:dclks1,dclks2=14b10011110100000;6d17:dclks1,dclks2=14b10011110001111;6d18:dclks1,dclks2=14b10011110000000;6d19:dclks1,dclks2=14b10011110000100;6d20:dclks1,dclks2=14b00100100000001;6d21:dclks1,dclks2=14b00100101001111;6d22:dclks1,dclks2=14b00100100010010;6d23:dclks1,dclks2=14b00100100000110;6d24:dclks1,dclks2=14b00100101001100;6d25:dclks1,dclks2=14b00100100100100;6d26:dclks1,dclks2=14b00100100100000;6d27:dclks1,dclks2=14b00100100001111;6d28:dclks1,dclks2=14b00100100000000;6d29:dclks1,dclks2=14b00100100000100;6d30:dclks1,dclks2=14b00001100000001;6d31:dclks1,dclks2=14b00001101001111;6d32:dclks1,dclks2=14b00001100010010;6d33:dclks1,dclks2=14b00001100000110;6d34:dclks1,dclks2=14b00001101001100;6d35:dclks1,dclks2=14b00001100100100;6d36:dclks1,dclks2=14b00001100100000;6d37:dclks1,dclks2=14b00001100001111;6d38:dclks1,dclks2=14b00001100000000;6d39:dclks1,dclks2=14b00001100000100;6d40:dclks1,dclks2=14b10011000000001;6d41:dclks1,dclks2=14b10011001001111;6d42:dclks1,dclks2=14b10011000010010;6d43:dclks1,dclks2=14b10011000000110;6d44:dclks1,dclks2=14b10011001001100;6d45:dclks1,dclks2=14b10011000100100;6d46:dclks1,dclks2=14b10011000100000;6d47:dclks1,dclks2=14b10011000001111;6d48:dclks1,dclks2=14b10011000000000;6d49:dclks1,dclks2=14b10011000000100;6d50:dclks1,dclks2=14b01001000000001;6d51:dclks1,dclks2=14b01001001001111;6d52:dclks1,dclks2=14b01001000010010;6d53:dclks1,dclks2=14b01001000000110;6d54:dclks1,dclks2=14b01001001001100;6d55:dclks1,dclks2=14b01001000100100;6d56:dclks1,dclks2=14b01001000100000;6d57:dclks1,dclks2=14b01001000001111;6d58:dclks1,dclks2=14b01001000000000;6d59:dclks1,dclks2=14b01001000000100;endcasecase(clkm)6d0:dclkm1,dclkm2=14b00000010000001;6d1:dclkm1,dclkm2=14b00000011001111;6d2:dclkm1,dclkm2=14b00000010010010;6d3:dclkm1,dclkm2=14b00000010000110;6d4:dclkm1,dclkm2=14b00000011001100;6d5:dclkm1,dclkm2=14b00000010100100;6d6:dclkm1,dclkm2=14b00000010100000;6d7:dclkm1,dclkm2=14b00000010001111;6d8:dclkm1,dclkm2=14b00000010000000;6d9:dclkm1,dclkm2=14b00000010000100;6d10:dclkm1,dclkm2=14b10011110000001;6d11:dclkm1,dclkm2=14b10011111001111;6d12:dclkm1,dclkm2=14b10011110010010;6d13:dclkm1,dclkm2=14b10011110000110;6d14:dclkm1,dclkm2=14b10011111001100;6d15:dclkm1,dclkm2=14b10011110100100;6d16:dclkm1,dclkm2=14b10011110100000;6d17:dclkm1,dclkm2=14b10011110001111;6d18:dclkm1,dclkm2=14b10011110000000;6d19:dclkm1,dclkm2=14b10011110000100;6d20:dclkm1,dclkm2=14b00100100000001;6d21:dclkm1,dclkm2=14b00100101001111;6d22:dclkm1,dclkm2=14b00100100010010;6d23:dclkm1,dclkm2=14b00100100000110;6d24:dclkm1,dclkm2=14b00100101001100;6d25:dclkm1,dclkm2=14b00100100100100;6d26:dclkm1,dclkm2=14b00100100100000;6d27:dclkm1,dclkm2=14b00100100001111;6d28:dclkm1,dclkm2=14b00100100000000;6d29:dclkm1,dclkm2=14b00100100000100;6d30:dclkm1,dclkm2=14b00001100000001;6d31:dclkm1,dclkm2=14b00001101001111;6d32:dclkm1,dclkm2=14b00001100010010;6d33:dclkm1,dclkm2=14b00001100000110;6d34:dclkm1,dclkm2=14b00001101001100;6d35:dclkm1,dclkm2=14b00001100100100;6d36:dclkm1,dclkm2=14b00001100100000;6d37:dclkm1,dclkm2=14b00001100001111;6d38:dclkm1,dclkm2=14b00001100000000;6d39:dclkm1,dclkm2=14b00001100000100;6d40:dclkm1,dclkm2=14b10011000000001;6d41:dclkm1,dclkm2=14b10011001001111;6d42:dclkm1,dclkm2=14b10011000010010;6d43:dclkm1,dclkm2=14b10011000000110;6d44:dclkm1,dclkm2=14b10011001001100;6d45:dclkm1,dclkm2=14b10011000100100;6d46:dclkm1,dclkm2=14b10011000100000;6d47:dclkm1,dclkm2=14b10011000001111;6d48:dclkm1,dclkm2=14b10011000000000;6d49:dclkm1,dclkm2=14b10011000000100;6d50:dclkm1,dclkm2=14b01001000000001;6d51:dclkm1,dclkm2=14b01001001001111;6d52:dclkm1,dclkm2=14b01001000010010;6d53:dclkm1,dclkm2=14b01001000000110;6d54:dclkm1,dclkm2=14b01001001001100;6d55:dclkm1,dclkm2=14b01001000100100;6d56:dclkm1,dclkm2=14b01001000100000;6d57:dclkm1,dclkm2=14b01001000001111;6d58:dclkm1,dclkm2=14b01001000000000;6d59:dclkm1,dclkm2=14b01001000000100;end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论