EDA技术课程设计闹钟系统设计_第1页
EDA技术课程设计闹钟系统设计_第2页
EDA技术课程设计闹钟系统设计_第3页
EDA技术课程设计闹钟系统设计_第4页
EDA技术课程设计闹钟系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、大 庆 石 油 学 院课 程 设 计课 程 eda技术课程设计 题 目 闹钟系统设计 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 学生学号 指导教师 年月日大庆石油学院课程设计任务书课程 eda技术课程设计题目 闹钟系统的设计专业 电子信息工程 姓名 学号 主要内容、基本要求、主要参考资料等主要内容:设计并制作一个带闹钟功能的24小时计时器。它包括以下几个组成部分:1、显示屏,由4 个七段数码管组成,用于显示当前时间(时:分)或设置的闹钟时间;2、数字键,实现09的输入,用于输入新的时间或新的闹钟时间;3、time(时间)键,用于确定新的时间设置;4、alarm(闹钟)键,用于确定

2、新的闹钟时间设置,或显示已设置的闹钟时间;5、扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声基本要求:1、计时功能:这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。2、闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。3、设置新的计时器时间:用户用数字键输入新的时间,然后按time键确认。在输入过程中,输入数字在显示屏上从右到左依次显示。例如,用户要设置新的时间12:34,则按顺序输入“1”,“2”,“3”,“4”,与之对应,显示屏上依次显示的信息为:“1”,“12”,“123”,“1234。如果用户在输入任意几个数字后较长时间内,例如5 s,没有按

3、任何键,则计时器恢复到正常的计时显示状态。主要参考资料:1 潘松著.eda技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 指导教师 专业负责人 一、总体设计思想1.基本原理该数字钟可以实现3个功能:计时功能、定点报时功能和重置时间功能,因此有3个子模块:计时、报时(speak)、重置时间(sd1,sd2)。其中计时模块有4部分构成:秒计时器(s1)、分计时器(m1)、时计时器(h1)。秒计时器(s1)是由一个60进制的计数器构成的,。clk为驱动秒

4、计时器的时钟,s1为秒计时器的输出。分计时器(m1)是由一个60进制的计数器构成的, s1为驱动分计时器工作的时钟;m1为分计时器的输出;时计时器(h1)是由一个24进制的计数器构成的, m1为驱动时计时器工作的时钟, h1为时计时器的输出;报时模块(speak)的功能是定时到时,speak输出高电平,并且持续一段时间。2.设计框图系统框图主要分为三部分:第一部分为精准秒脉冲产生电路,这里我们采用频率为32.768khz的标准晶振搭成精准的秒脉冲产生电路,为电子钟提供精准的秒脉冲输入。第二部分为fpga核心控制电路,主要由型号为ep3c25e144c8n的芯片经过编程以后,向译码显示电路提供控

5、制信号。第三部分为译码显示电路,由4片74ls47驱动4个7段数码管,在核心控制电路输出的控制信号的控制下,显示相应的时、分、秒。具体框图如下图1所示。精 准 秒 脉 冲产 生 电 路fpga 核 心控 制 电 路译 码 显 示 电路图1二、设计步骤和调试过程1、总体设计电路 (1)、秒脉冲产生电路 如下图所示,由32.768khz的晶振产生经过cd4060分频产生精准的秒脉冲。图2(2)、fpga 核 心控 制 电 路 对ep1k30tc144-3进行编程,输出控制信号。 fpga 控 制 芯片ep1k30tc144-3图3(3)、译 码 显 示 电路 如图,由cd4511驱动7段数码管进行

6、显示。图42、模块设计和相应模块程序(1)、分计时器(second1)-分钟十位m110:process(clk,min2,sec1,sec2,md1,md2) beginif clkevent and clk=1 thenif (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then min1=0000;elsif min1=0101and min2=1001and (md1=0 and md2=00)thenmin1=0000;elsif (min2=1001and (sec1=0101 and sec2=1001) or (

7、min2=1001and md1=0 and md2=00) then min1=min1+1;end if;end if;-end if;end process m110;-分钟个位m220:process(clk,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif min2=1001and (sec1=0101 and sec2=1001) then min2=0000;elsif min2=1001and (md1=0 and md2=00) then min2=0000;else if (sec1=0101 and sec2=1001

8、) or(md1=0 and md2=00)thenmin2=min2+1;end if;end if;end if;end process m220;(2)、时计时器(hour1)-小时十位h110:process(clk,hou2,min1,min2,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif (hou1=00010 and hou2=00011)and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou1=00000;elsif hou1=00010an

9、d hou2=00011and md1=0 and md2=01 then-当时间为23点且处于校时状态时hou1=00000;elsif (hou2=01001and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)or (hou2=01001and md1=0 and md2=01) then hou1=hou1+1;end if;end if;end process h110;-小时个位h220:process(clk,min1,min2,sec1,sec2,md1,md2,hou1)beginif clkevent and c

10、lk=1 thenif (hou1=00010 and hou2=00011)and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou2=00000;elsif hou2=01001and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou2=0000;elsif (hou2=01001and md1=0 and md2=01) or (hou1=00010and hou2=00011) then hou2=00000;-md=1;elsif

11、 (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)or (md1=0 and md2=01) then hou2=hou2+1;-speak=clk;end if;end if;end process h220;(3)、 报时模块(speak)-闹铃speaker:process(clk,hou1,hou2,min1,min2)beginif clkevent and clk=1thenif seth1=hou1 and seth2=hou2 and setm1=min1 and setm2=min2 then speak=clk;

12、else speak=0;end if;end if;end process speaker;disp:process(md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)beginif md1=0 then h1=hou1;h2=hou2; -计时时间显示和设置模式m1=min1;m2=min2; s1=sec1;s2=sec2;else -闹铃时间现实和设置模式h1=seth1;h2=seth2; m1=setm1;m2=setm2;s1=1111;s2=1111;end if;end process disp;end one

13、;3、仿真及仿真结果分析(1)、秒时钟仿真 如图5,s2满10进1,s1满6进一,即完成60进制秒钟计时。图5(2)、分时钟仿真 如图6,m2满10进1,m1满6进一,即完成60进制分钟计时。图6(3)、报时仿真 为了便于观察,此处定时为18秒,如图speak在18秒结束后被置高。(4)、功能仿真rtl图4、实验调试结果在波形仿真时,遇到了一些困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字钟开始计数,但是始终看不到小时、星期的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于小时、星期来说太短了。经过屡次调试,终于找到了比较合适的输入数值:分钟的初始值

14、可以设为57(58、59都可以),小时的初始值可以设为23,这样,仿真之后,就能清楚的看出分钟、小时的循环计数。另外,endtime的值需要设置的长一点:10us左右,输入的时钟周期值要设置的短一点:5ns左右。三、结论及心得体会通过这次设计,进一步加深了对eda的了解,让我对它有了更加浓厚的兴趣。同时也遇到了不少困难,特别是各元件之间的连接,以及信号的定义,总是出现错误,不过在细心的检查下,终于找出了错误和警告。总的来说,这次设计的数字钟还是让我学到不少东西,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,对今后的学习有了更充满了信心。参考资料1 潘松著.eda技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.大庆石油学院课程设计成绩评价表课程名称eda技术课程设计题目名称闹钟系统的设计学生姓名

温馨提示

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

评论

0/150

提交评论