eda课程设计之带定时功能的计时器.docx

上传人:b****5 文档编号:12176987 上传时间:2023-04-17 格式:DOCX 页数:13 大小:335.81KB
下载 相关 举报
eda课程设计之带定时功能的计时器.docx_第1页
第1页 / 共13页
eda课程设计之带定时功能的计时器.docx_第2页
第2页 / 共13页
eda课程设计之带定时功能的计时器.docx_第3页
第3页 / 共13页
eda课程设计之带定时功能的计时器.docx_第4页
第4页 / 共13页
eda课程设计之带定时功能的计时器.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

eda课程设计之带定时功能的计时器.docx

《eda课程设计之带定时功能的计时器.docx》由会员分享,可在线阅读,更多相关《eda课程设计之带定时功能的计时器.docx(13页珍藏版)》请在冰豆网上搜索。

eda课程设计之带定时功能的计时器.docx

eda课程设计之带定时功能的计时器

设计题目十七:

带闹钟功能的24小时制闹钟系统的设计

设计要求:

(1)计时功能:

这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。

(2)闹钟功能:

如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。

(3)设置新的计时器时间:

用户用数字键‘0’~‘9’输入新的时间,然后按"TIME"键确认。

(4)设置新的闹钟时间:

用户用数字键“0”~“9”输入新的时间,然后按“ALARM”键确认。

过程与(3)类似。

(5)显示所设置的闹钟时间:

在正常计时显示状态下,用户直接按下“ALARM”键,则已设置的闹钟时间将显示在显示屏上。

参考设计思路:

 

图4-1闹钟系统总体结构图

整个闹钟系统的总体结构图如图4-1所示,我们将整个系统分成:

(1)用于键盘输入的缓冲器;

(2)用于始终计数的计数器;(3)用于保存闹钟时间的寄存器;(4)用于显示的七段数码显示电路;(5)用于以上四部分协同工作的控制器。

其中七段数码显示电路又包含译码器和显示器电路。

然后按照项目需求设计每个小的模块,经编译仿真成功之后组装成最终产品。

 

大庆石油学院

课程设计

课程EDA技术课程设计

题目闹钟系统设计

院系电子科学学院

专业班级电子科学与技术

学生姓名兰士凤

学生学号070901240102

指导教师

 

 

2011年3月11日

大庆石油学院课程设计任务书

课程EDA技术课程设计

题目闹钟系统的设计

专业电子科学与技术姓名兰士凤学号070901240102

主要内容、基本要求、主要参考资料等

主要内容:

设计并制作一个带闹钟功能的24小时计时器。

它包括以下几个组成部分:

1、显示屏,由4个七段数码管组成,用于显示当前时间(时:

分)或设置的闹钟时间;

2、数字键,实现‘0’—‘9’的输入,用于输入新的时间或新的闹钟时间;

3、TIME(时间)键,用于确定新的时间设置;

4、ALARM(闹钟)键,用于确定新的闹钟时间设置,或显示已设置的闹钟时间;

5、扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声

基本要求:

1、计时功能:

这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。

2、闹钟功能:

如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。

3、设置新的计时器时间:

用户用数字键输入新的时间,然后按"TIME"键确认。

在输入过程中,输入数字在显示屏上从右到左依次显示。

例如,用户要设置新的时间12:

34,则按顺序输入“1”,“2”,“3”,“4”,与之对应,显示屏上依次显示的信息为:

“1”,“12”,“123”,“1234"。

如果用户在输入任意几个数字后较长时间内,例如5s,没有按任何键,则计时器恢复到正常的计时显示状态。

主要参考资料:

[1]潘松著.EDA技术实用教程(第二版).北京:

科学出版社,2005.

[2]康华光主编.电子技术基础模拟部分.北京:

高教出版社,2006.

[3]阎石主编.数字电子技术基础.北京:

高教出版社,2003.

完成期限2011.3.11

指导教师

专业负责人

 

一、总体设计思想

1.基本原理

数字闹钟电路的基本结构由两个60进制计数和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉冲,则计数器清零,重新开始计时。

秒计数器的技术时钟CLK为HZ的标准信号。

当数字闹钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒得计时结果通过6个数码管来动态显示。

因此,通过模式选择信号KEY1、KEY2控制数字钟的工作状态,使其分别工作于正常计时,调整分、时和设定闹钟分、时5个状态。

当数字闹钟处于计时状态时,3个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位,分的进位;当数字闹钟处于闹钟定时状态时,可以设定小时和分;当计时到所设定的时刻时,驱动扬声器,持续1分钟。

2.设计框图

系统框图主要分为三部分:

第一部分为精准秒脉冲产生电路,这里我们采用频率为32.768KHz的标准晶振搭成精准的秒脉冲产生电路,为电子钟提供精准的秒脉冲输入。

第二部分为FPGA核心控制电路,主要由型号为EP3C25E144C8N的芯片经过编程以后,向译码显示电路提供控制信号。

第三部分为译码显示电路,由4片74LS47驱动4个7段数码管,在核心控制电路输出的控制信号的控制下,显示相应的时、分、秒。

具体框图如下图1所示。

图1

二、设计步骤和调试过程

1、总体设计电路

该数字钟可以实现3个功能:

计时功能、定点报时功能和重置时间功能,因此有3个子模块:

计时、报时(speak)、重置时间(sd1,sd2)。

其中计时模块有4部分构成:

秒计时器(s1)、分计时器(m1)、时计时器(h1)。

秒计时器(s1)是由一个60进制的计数器构成的,。

clk为驱动秒计时器的时钟,s1为秒计时器的输出。

分计时器(m1)是由一个60进制的计数器构成的,s1为驱动分计时器工作的时钟;m1为分计时器的输出;时计时器(h1)是由一个24进制的计数器构成的,m1为驱动时计时器工作的时钟,h1为时计时器的输出;

报时模块(speak)的功能是定时到时,speak输出高电平,并且持续一段时间。

(1)、秒脉冲产生电路

如下图所示,由32.768KHz的晶振产生经过CD4060分频产生精准的秒脉冲。

图2

(2)、FPGA核心控制电路

对EP1K30TC144-3进行编程,输出控制信号。

图3

(3)、译码显示电路

如图,由CD4511驱动7段数码管进行显示。

图4

2、模块设计和相应模块程序

(1)、分计时器(second1)

-----------------------分钟十位

m110:

process(clk,min2,sec1,sec2,md1,md2)

begin

ifclk'eventandclk='1'then

if(min1="0101"andmin2="1001")and(sec1="0101"andsec2="1001")then

min1<="0000";

elsifmin1="0101"andmin2="1001"and(md1='0'andmd2="00")then

min1<="0000";

elsif(min2="1001"and(sec1="0101"andsec2="1001"))

or(min2="1001"andmd1='0'andmd2="00")thenmin1<=min1+1;

endif;

endif;--endif;

endprocessm110;

-----------------------分钟个位

m220:

process(clk,sec1,sec2,md1,md2)

begin

ifclk'eventandclk='1'then

ifmin2="1001"and(sec1="0101"andsec2="1001")thenmin2<="0000";

elsifmin2="1001"and(md1='0'andmd2="00")thenmin2<="0000";

elseif(sec1="0101"andsec2="1001")or(md1='0'andmd2="00")then

min2<=min2+1;

endif;

endif;endif;

endprocessm220;

(2)、时计时器(hour1)

-----------------------------------------------小时十位

h110:

process(clk,hou2,min1,min2,sec1,sec2,md1,md2)

begin

ifclk'eventandclk='1'then

if(hou1="00010"andhou2="00011")and(min1="0101"andmin2="1001")

and(sec1="0101"andsec2="1001")thenhou1<="00000";

elsifhou1="00010"andhou2="00011"andmd1='0'andmd2="01"then

--当时间为23点且处于校时状态时

hou1<="00000";

elsif(hou2="01001"and(min1="0101"andmin2="1001")

and(sec1="0101"andsec2="1001"))or(hou2="01001"andmd1='0'andmd2="01")

thenhou1<=hou1+1;

endif;

endif;

endprocessh110;

-----------------------------------------------小时个位

h220:

process(clk,min1,min2,sec1,sec2,md1,md2,hou1)

begin

ifclk'eventandclk='1'then

if(hou1="00010"andhou2="00011")and(min1="0101"andmin2="1001")

and(sec1="0101"andsec2="1001")thenhou2<="00000";

elsifhou2="01001"and(min1="0101"andmin2="1001")and(sec1="0101"andsec2="1001")thenhou2<="0000";

elsif(hou2="01001"andmd1='0'andmd2="01")or(hou1="00010"andhou2="00011")thenhou2<="00000";--md<='1';

elsif((min1="0101"andmin2="1001")and(sec1="0101"andsec2="1001"))

or(md1='0'andmd2="01")thenhou2<=hou2+1;--speak<=clk;

endif;

endif;

endprocessh220;

(3)、报时模块(speak)

--------------------------------------------闹铃

speaker:

process(clk,hou1,hou2,min1,min2)

begin

ifclk'eventandclk='1'then

ifseth1=hou1andseth2=hou2andsetm1=min1andsetm2=min2thenspeak<=clk;

elsespeak<='0';

endif;

endif;

endprocessspeaker;

disp:

process(md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)

begin

ifmd1='0'thenh1<=hou1;h2<=hou2;

---------------计时时间显示和设置模式

m1<=min1;m2<=min2;s1<=sec1;s2<=sec2;

else-----------闹铃时间现实和设置模式

h1<=seth1;h2<=seth2;m1<=setm1;m2<=setm2;

s1<="1111";s2<="1111";

endif;

endprocessdisp;

endone;

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、实验调试结果

在首次波形仿真时,遇到了一些困难,想要的结果不能在波形上得到正确的显示:

在设定输入的时钟信号后,数字钟开始计数,但是始终看不到小时、星期的循环计数。

后来,在同学的帮助下和数十次的调试之后,才发现之所以错误是因为输入的时钟信号对于小时、星期来说太短了。

经过屡次调试,终于找到了比较合适的输入数值:

分钟的初始值可以设为57(58、59都可以),小时的初始值可以设为23,这样,仿真之后,就能清楚的看出分钟、小时的循环计数。

另外,Endtime的值需要设置的长一点:

10us左右,输入的时钟周期值要设置的短一点:

5ns左右。

三、结论及心得体会

通过这次设计使我懂得了理论与实际联合是很重要的,只有把所学的理论与实践相结合起来,从理论中得出结论才能提高自己的实际动手能力,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

同时也遇到了不少困难,特别是各元件之间的连接,以及信号的定义,总是出现错误,不过在细心的检查下,终于找出了错误和警告。

总的来说,这次设计的数字钟还是让我学到不少东西,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,对今后的学习有了更充满了信心。

参考资料

[1]潘松著.EDA技术实用教程(第二版).北京:

科学出版社,2005.

[2]康华光主编.电子技术基础模拟部分.北京:

高教出版社,2006.

[3]阎石主编.数字电子技术基础.北京:

高教出版社,2003.

 

大庆石油学院课程设计成绩评价表

课程名称

EDA技术课程设计

题目名称

闹钟系统的设计

学生姓名

兰士凤

学号

070901240102

指导教师姓名

职称

序号

评价项目

指标

满分

评分

1

工作量、工作态度和出勤率

按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。

20

2

课程设计质量

课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。

45

3

创新

工作中有创新意识,对前人工作有一些改进或有一定应用价值。

5

4

答辩

能正确回答指导教师所提出的问题。

30

总分

评语:

 

指导教师:

2011年3月11日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1