- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
郭蕊電信10-4EDA课程设计
东 北 石 油 大 学
课 程 设 计
2014年 3 月7日
东北石油大学课程设计任务书
课程 EDA技术课程设计
题目 闹钟系统的设计
专业 姓名 学号主要内容、基本要求、主要参考资料等
主要内容:
设计并制作一个带闹钟功能的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。如果用户在输入任意几个数字后较长时间内,例如5 s,没有按任何键,则计时器恢复到正常的计时显示状态。
主要参考资料:
[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005[2] 康华光主编电子技术基础 模拟部分 北京:高教出版社[3] 阎石主编数字电子技术基础 北京:高教出版社完成期限
指导教师
专业负责人 年 月日计时功能:这是本计时器设计的基本功能,每隔一分钟计时一次,并在显示屏上显示当前时间。
闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。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
if clkevent and clk=1 then
if (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then
min1=0000;
elsif min1=0101and min2=1001and (md1=0 and md2=00)then
min1=0000;
elsif (min2=1001and (sec1=0101 and sec2=1001))
or (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)
begin
if clkevent and clk=1 then
if min2=100
文档评论(0)