1 / 17
文档名称:

数字钟实验报告.doc

格式:doc   大小:315KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字钟实验报告.doc

上传人:glfsnxh 2020/8/5 文件大小:315 KB

下载得到文件列表

数字钟实验报告.doc

相关文档

文档介绍

文档介绍:华中科技大学《电子线路设计、测试与实验》实验报告实验名称:多功能数字钟设计院(系):自动化学院专业班级:实验成绩:指导教师:汪小燕2014年6月11日一、实验目的掌握可编程逻辑器件的应用开发技术,设计输入、编译、仿真和器件编程;熟悉EDA软件使用;掌握VerilogHDL设计方法;分模块、分层次数字系统设计二、实验器材QUARTUSII软件PCDEO实验板三、实验要求能显示小时、分钟、秒钟(小时以24进制,时、分用显示器,秒用LED)能调整小时、分钟的时间复位四、实验原理五、程序设计过程数字钟由2个60进制计数器和1个24进制计数器和4个译码器共7个模块构成,3个计数器公用一个时钟信号CP。2个选择器分别用于选择分计数器和时计数器的使能控制信号,对时间进行校正时,在控制器的作用下,使能信号接高电平,此时每来一个时钟信号,计数器加一计数,,使能信号来自低位计数器的输出,即秒计数器达到59秒时,产生输出信号使分计数器加1,分秒计数器同时计到最大值时即59分59秒时,产生输出信号使小时计数器加一。:moduleclock(led0,led1,led2,led3,led_sec,_50mhzin,adjminkey,adjhrkey,ncr,h12,hour12); input_50mhzin; inputadjminkey,adjhrkey; inputh12; inputncr; output[6:0]led0,led1,led2,led3; wire[7:0]led_a,led_b; wire_1hz,_1khz,_5hz; wire[7:0]hour,minute,second,set_hr,set_min; outputhour12; wireh12; output[7:0]led_sec; assignhour12=h12; divided_frequencyu0(_1hz,ncr,_50mhzin); top_clocku1(hour,minute,second,_1hz,ncr,adjminkey,adjhrkey,_50mhzin); displayu2(_50mhzin,_5hz,ncr,led_a,led_b,led_sec,hour,minute,second,h12); SEG7_LUTu3(led_a[7:4],led3); SEG7_LUTu4(led_a[3:0],led2); SEG7_LUTu5(led_b[7:4],led1); SEG7_LUTu6(led_b[3:0],led0);:moduledivided_frequency(_1hzout,ncr,_50mhzin); input_50mhzin,ncr; output_1hzout; supply1vdd; wire[11:0]q; wire_1khzin; wireen1,en2; divfreq50M_1Khzdu00(_1khzin,ncr,_50mhzin);//先调用1khz分频 counter10du0(q[3:0],ncr,vdd,_1khzin); counter10du1(q[7:4],ncr,en1,_1khzin); counter10du2(q[11:8],ncr,en2,_1khzin);//再调用三个10计数器,将1khz分为1hz assignen1=(q[3:0]==4'h9); assignen2=(q[7:4]==4'h9)&&(q[3:0]==4'h9); assign_1hzout=q[11]; assign_500hzout=q[0];(hour,minute,second,_1hz,ncr,adjminkey,adjhrkey,_50mhzin); input_1hz,_50mhzin,ncr,adjminkey,adjhrkey; output[7:0]hour,minute,second; wire[7:0]hour,minute,second;//时、分、秒每个用八位二进制表示两位BCD码 supply1vdd;//高电平,是使能一直打开 wiremincp,hrcp,_5hz;//_5hz用于快速校时 divfreq50M_5hzut0(_5hz,ncr,_50mhzin); counter60ut1(second,ncr,vdd,_1hz); counter60ut2(minute,ncr,vdd,~mincp);//秒和分使用60进制 counter24ut3(hour[7:4],hour[3:0],ncr,vdd,~hrcp);//时钟为