1、东 北 石 油 大 学课 程 设 计2011 年 3 月 11 日课 程 EDA 技术课程设计 题 目 闹钟系统设计 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 何学兰 学生学号 070901140102 指导教师 东北石油大学课程设计任务书课程 EDA 技术课程设计题目 闹钟系统的设计专业 电子信息工程 姓名 何学兰 学号 070901140102主要内容、基本要求、主要参考资料等主要内容:设计并制作一个带闹钟功能的24小时计时器。它包括以下几个组成部分:1、显示屏,由4 个七段数码管组成,用于显示当前时间(时:分) 或设置的闹钟时间;2、数字键,实现09 的输入,用于输入新的时
2、间或新的闹钟时间;3、TIME( 时间)键,用于确定新的时间设置;4、ALARM(闹钟)键,用于确定新的闹钟时间设置,或显示已设置的闹钟时间;5、扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声基本要求:1、计时功能:这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。2、闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。3、设置新的计时器时间:用户用数字键输入新的时间,然后按“TIME“键确认。在输入过程中,输入数字在显示屏上从右到左依次显示。例如,用户要设置新的时间12:34,则按顺序输入“1”,“2” ,“3”,“4”,与之对应,显示屏上依次显示的信
3、息为:“1”,“12” ,“123”,“1234“。如果用户在输入任意几个数字后较长时间内,例如5 s,没有按任何键,则计时器恢复到正常的计时显示状态。主要参考资料:1 潘松著.EDA技术实用教程 (第二版). 北京:科学出版社 ,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社 ,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2011.3.11 指导教师 专业负责人 2011 年 3 月 7 日1一、总体设计思想闹钟不仅具有数字中的功能,还具有定时响铃的功能,是人们不可缺少的日程生活用品之一。闹钟是一个具有“时” 、 “分” 、 “秒”
4、显示的计时装置,其周期为 24 小时,显示满刻度为 23 时 59 分 59 秒,当计时至满刻度时,系统自动清零,开始新的一天的计时。除此之外,该系统的时间可以进行调整,当闹钟计数至我们预先设定的时间,脑中的铃声响起,以提示人们时间到了。1. 基本原理在一个完整的闹钟系统的设计中,我们采用的是自顶向下的设计思想,整个系统由若干个模块组合来实现,包括计数模块、控制模块、译码模块、动态扫描输出模块、闹钟控制模块。设计闹钟时应考虑的问题有:闹钟能否计数、能否对计时时间进行调整,定时闹铃功能是否正常,动态扫描显示是否正常等等。2. 设计框图(1) 计数模块:按照时钟模式完成一天 24 小时的计时功能。
5、(2) 译码模块:根据计时模块的状态输出值来确定对应位的数据的,其输出是 7 段高低电平,以点亮相应的数码管;(3) 计数控制模块:根据外部控制信号,进行时钟计数的调整和计时的控制;2(4) 响铃控制模块:根据外部闹钟控制信号完成闹钟的定时,当计数模块计数到和该模块所设定的时间一致时,该模块将驱动蜂鸣器响铃;(5)分频器:根据外部的输入时钟,将外部时钟成两路信号,一路用于正常的计数,一路用于七段显示数码管的动态扫描输出;二、设计步骤和调试过程1、总体设计电路系统总体可分为五大部分:计数模块、分频模块、闹钟控制模块、数码转换模块以及扫描输出模块,其中计数模块包括“秒”位计数器(SECOND) 、
6、 “分”为计数器(MINUTE) 、 “时” 为计数器(HOUR);分频模块包括分频器(F ) ,闹钟控制模块包括闹钟控制器(LINGSHENG); 数码转换模块包括时位输出数码转换器(BCD_SHI) 、分为输出数码转换器(BCD_FEN) 、秒位数码转换器(BCD_MIAO) 、七段显示码输出器(SE71 ) 、输入数值转换器(F_S )和(X_S);扫描输出模块包括数据选择输出器(SAOMIAO ) 。其中,计数部分采用同步时钟。以下对各模块做详细介绍。2、模块设计和相应模块程序计数模块数码转换模块 扫描输出模块块计数控制模块闹钟控制模块3(1) 、分计时器(second1)-分钟十位m
7、110: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=“0101“and min2=“1001“and (md1=0 and md2=“00“)thenmin1=“0000“;elsif (min2=“1001“and (sec1=“0101“ and sec2=“1001“) or (min2=“1001“and md
8、1=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=“1001“and (sec1=“0101“ and sec2=“1001“) then min2=“0000“;elsif min2=“1001“and (md1=0 and md2=“00“) then min2=“0000“;else if (sec1=“0101“ and sec2=“
9、1001“) 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=“000
10、00“;elsif hou1=“00010“and hou2=“00011“and md1=0 and md2=“01“ then-当时间为 23 点且处于校时状态时hou1=“00000“;elsif (hou2=“01001“and(min1=“0101“ and min2=“1001“) and (sec1=“0101“ and sec2=“1001“)or (hou2=“01001“and md1=0 and md2=“01“) then hou1=hou1+1;4end if;end if;end process h110;-小时个位h220:process(clk,min1,min
11、2,sec1,sec2,md1,md2,hou1)beginif clkevent and clk=1 thenif (hou1=“00010“ and hou2=“00011“)and(min1=“0101“ and min2=“1001“) and (sec1=“0101“ and sec2=“1001“) then hou2=“00000“;elsif hou2=“01001“and(min1=“0101“ and min2=“1001“) and (sec1=“0101“ and sec2=“1001“) then hou2=“0000“;elsif (hou2=“01001“and
12、md1=0 and md2=“01“) or (hou1=“00010“and hou2=“00011“) then hou2=“00000“;-md=1;elsif (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 cl
13、kevent and clk=1thenif seth1=hou1 and seth2=hou2 and setm1=min1 and setm2=min2 then speak=clk;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 -闹
14、铃时间现实和设置模式h1=seth1;h2=seth2; m1=setm1;m2=setm2;s1=“1111“;s2=“1111“;end if;end process disp;end one;53、仿真及仿真结果分析(1) 、秒时钟仿真如图 5,s2 满 10 进 1,s1 满 6 进一,即完成 60 进制秒钟计时。图 5(2) 、分时钟仿真6图 6(3) 、报时仿真为了便于观察,此处定时为 18 秒,如图 speak 在 18 秒结束后被置高。(4) 、功能仿真 RTL 图7仿 真图84、实验调试结果在波形仿真时,,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字钟开
15、始计数,但是始终看不到小时、星期的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于小时、星期来说太短了。经过屡次调试,终于找到了比较合适的输入数值:分钟的初始值可以设为 57(58、59 都可以) ,小时的初始值可以设为 23,这样,仿真之后,就能清楚的看出分钟、小时的循环计数。另外,Endtime 的值需要设置的长一点:10us 左右,输入的时钟周期值要设置的短一点。三、结论及心得体会EDA 的课程设计持续了一周,但我仿佛还在当日,真是挥指之间,时光已匆匆的流逝。在这整整两个星期的日子里,我感受到了即是成功做出一个模块的欢喜,也是修改那无限 errors 时的忧愁,可以说是
16、无数次的苦尽甘来,换来了最后的成功。本身我就对课程设计相当有兴趣,这次能够应有一周的课程设计时间。我很欣慰,从第一天开始知道我的多功能时钟课题开始,我就第一时间跑去图书接资料,回去反复研究,从看懂程序开始入手。虽然开始有些棘手,但我觉得特别的兴奋,我不把困难当成拦路虎,反而成为我前进的动力,遇到困难不会就翻书,找不到就问同学,再不行就上网搜,实在不行就问老师,总之想尽一切办法找到解决方案。可是事与愿违,我的设计总是出现那么一小点点的问题,有时候编译就出现很多错误!通过这次设计,进一步加深了对 EDA 的了解,让我对它有了更加浓厚的兴趣。同时也遇到了不少困难,特别是9各元件之间的连接,以及信号的
17、定义,总是出现错误,不过在细心的检查下,终于找出了错误和警告。总的来说,这次设计的数字钟还是让我学到不少东西,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,对今后的学习有了更充满了信心。参考资料1 潘松著.EDA 技术实用教程 (第二版). 北京:科学出版社 ,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.东北石油大学课程设计成绩评价表课程名称 EDA 技术课程设计题目名称 闹钟系统的设计学生姓名 何学兰 学号 070901140102 指导教师姓名 职称序号 评价项目 指 标 满分 评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202 课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453 创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54 答辩 能正确回答指导教师所提出的问题。 30总分评语:指导教师: 2011 年 3 月 11 日