多功能数字钟设计报告Word格式文档下载.docx

上传人:b****5 文档编号:8412398 上传时间:2023-05-11 格式:DOCX 页数:53 大小:3.17MB
下载 相关 举报
多功能数字钟设计报告Word格式文档下载.docx_第1页
第1页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第2页
第2页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第3页
第3页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第4页
第4页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第5页
第5页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第6页
第6页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第7页
第7页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第8页
第8页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第9页
第9页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第10页
第10页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第11页
第11页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第12页
第12页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第13页
第13页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第14页
第14页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第15页
第15页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第16页
第16页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第17页
第17页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第18页
第18页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第19页
第19页 / 共53页
多功能数字钟设计报告Word格式文档下载.docx_第20页
第20页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

多功能数字钟设计报告Word格式文档下载.docx

《多功能数字钟设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《多功能数字钟设计报告Word格式文档下载.docx(53页珍藏版)》请在冰点文库上搜索。

多功能数字钟设计报告Word格式文档下载.docx

1.3扩展要求

1)有快速校时功能,可以对时和分的计数值进行设定;

2)有整点报时功能,在整点到达时,电路发出5声迅响指示;

3)有闹铃功能,在设定时间到达时,电路发出持续1分钟时间的迅响指示。

1.4创新设计

1)有懒人闹钟功能,当闹钟响起,如果在一分钟内不被关掉,电路每隔5分钟再次迅响,直至用户关掉闹钟;

2)有显示星期的功能,并可以对其快速校对;

3)有万年历的功能,并可以分别对年、月、日快速校对。

第2章方案论证

2.1数字钟的基本组成

数字钟电路的基本结构框图

它由下列几部分构成:

一个由震荡电路组成的秒脉冲发生器,两个60进制分、秒计数器,一个24(或12)小时制计数器,以及六块译码器,六只七段半导体数码管等部分。

数字钟的工作原理简述如下:

秒脉冲发生器产生频率稳定度很高的秒脉冲,作为图中各个计数器的脉冲信号。

分、秒计数器要求设计为六十进制计数器,时计数器则设计为二十四进制计数器。

并且分计数器的计数信号由秒计数器提供,及当秒计数器到达59时,若再来一个秒脉冲,则秒计数器输出一个分的计数信号,同时秒计数器清零。

时计数器与分计数器则依此类推。

并且时、分、秒的计时结果将分别送入译码器中,经译码器翻译后,由六个LED数码管显示出时间。

2.2秒脉冲发生器

2.2.1振荡电路

可以产生周期性信号的振荡电路有很多种,如RC振荡器、LC振荡器、石英晶体振荡器、集成运放组成的非正弦波发生器、集成门电路构成的非正弦波振荡电路,以及利用555集成定时器组成的波形发生电路等。

而对于实验基本要求中每天误差不超过±

1秒这项指标,平均到每一秒钟,精确度要求大致在10-5次方数量级。

这就决定了不能随便使用其他方法的振荡电路,而必须选择以晶体振荡器作参考的振荡电路。

因为晶振电路的振荡频率几乎与外界电路没有关系,而只与晶体本身的形状、密度等状态相关联,因此晶振电路能够有效地屏蔽掉外界干扰,能够达到实验中对精度的要求。

晶体振荡器低频振荡电路

2.2.2分频器

低频振荡电路产生的输出信号频率很高,没法达到秒脉冲的要求,要得到秒脉冲,需要用分频电路。

所谓的分频电路,与计数电路的原理相近。

观察下面的基本计数器的波形图就可以发现,计数器的第n位,就能够将原本的脉冲波形将为原来的2的n次方分之一。

分频器的输入输出波形

常见的分频电路(计数器)有很多,如十进制BCD码计数器有74LS90、74LS160、74LS162

等;

4位二进制计数器有74LS161、74LS163等;

14级二进制计数器有CD4020、CD4060等。

如图所示CD4060是一个14级二进制计数器。

利用其内部所含的门电路和外接元件可以构成频率为32.768kHz的振荡器电路;

振荡信号经过内部14级分频,可以产生周期为0.5s的脉冲信号输出。

CD4060与晶振连接图

CD4060管脚图

CD4060内部结构

2.3计数器

2.3.160进制计数器

✓异步连接方式

异步连接方式的60进制计数器

✓同步连接方式

同步连接方式的60进制计数器

2.3.224进制计数器

异步连接方式的24进制计数器

同步连接方式的24进制计数器

2.3.3方案比较

同步连接方式就是把所有的计数器的CP端都接上统一的秒脉冲信号,通过控制使能端等方法来实现控制进制的方法。

由于计数器都带有使能端,只有使能时后,收到脉冲信号才能进行计时,而非使能的时刻,即使有脉冲信号,也不能计时。

因此,通过低位信号来控制高位信号使能端的电位高低,来决定高位信号是否计时,就能够达到扩展计数范围,达到预定进制要求的目的

异步连接方式则是将不同的计数器CP端接上不同的脉冲信号,通常只有最低位的CP端才会直接加上秒脉冲信号,而高位CP端接低位的进位信号作为脉冲信号。

此时不论高位还是低位,使能端统一接为高电平使能,当出现低位的进位信号时,高位立即计数一次。

对比两者电路可得同步电路线路较异步电路复杂但相对稳定,不易产生毛刺,异步连接方式则线路较为简单、逻辑直观,但容易产生毛刺,稳定性不及同步电路。

由于我们所有的功能模块都是采用VHDL语言编程的方法实现,为了提高系统的稳定性,我们采用了同步连接方式。

2.4译码器与显示电路

2.4.1LED数码显示器

数码管分为共阳数码管和共阴数码管两种,共阳数码管的公共极是内部发光二极管的阳极,当某一发光二极管阴极加上低电平时,相应的发光二极管导通,这一段就会发光。

共阴数码管则相反。

共阳极LED显示管的内外结构如下图所示:

8段字形排列图内部连接图

2.4.2译码器

译码器的作用是将计数结果进行代码转换,产生的输出信号用于显示器显示对应数字或符号。

其分类多种多样,其中有一种是专门用于显示电路的,称为显示译码器,其译码结果能够作为LED等显示器件使用,使显示器件显示出特定的结果。

但是,并非所有的显示译码器都能够直接作为显示器件的输入。

因为显示器件显然是需要一定的功率驱动的,如果译码器本身没有驱动能力,虽然输出结果正确,但是没办法让显示器件显示出想要的结果,这就需要再加上特定的驱动器,才能够最终连接显示器显示结果。

本次试验使用自带驱动器的74LS247显示译码器。

74LS247是一种中规模集成译码器电路,它的输入是8421BCD码,输出可用于驱动7段LED共阳极数码管。

其基本的引脚结构如下所示:

(LT、BI/RBO和RBI分别是灯测试、灭灯输入/灭零输出和灭零输入端(均为低电平有效))。

74LS247引脚图

2.4.3静态显示方式

静态显示法,如下图所示,每一位LED数码管需要一个7位或8位输出信号控制显示代码。

这种连接方法占用硬件资源较多,但控制比较方便,且比较容易获得高亮度显示。

LED数码管的静态显示电路

2.4.4动态显示方式

所有LED数码管共用一个7位或8位输出控制信号,由另一个n位的控制线控制n个数码管的公共极,通过循环扫描的方式往每个数码管输送待显示信息,并利用视觉暂留效果获得稳定的显示状态。

动态显示法可以简化电路、降低成本,但同时也存在显示亮度低、需要增加扫描电路等缺点。

其基本电路图如下所示:

LED数码管的动态显示电路

2.4.5方案比较

如上所述,静态显示和动态显示各有利弊。

动态法的动态显示法可以简化电路、降低成本,但同时也存在显示亮度低、需要增加扫描电路等缺点。

静态法则占用硬件资源较多,但控制比较方便,且比较容易获得高亮度显示。

另一方面,在使用寿命上,由于动态法采取了频闪的方法,因此不论是译码器还是LED显示管的使用寿命都会大幅度削减。

同时,扫描电路需要占用运算单元,这样会挤占扩展功能电路的空间,因此,两相权衡,我们选择了静态显示电路。

2.5校时电路

在计时开始或计时出现误差时,都必须利用标准时间对数字钟进行时间校准。

这一功能由校时电路完成。

校时的方法可以选择采用快速脉冲法和置入数据法。

2.5.1快速脉冲法

快速脉冲法,顾名思义,就是给时和分的计数器的CP端加上一个快速脉冲。

由于设计的时钟电路是用计数器对脉冲计数来表示时间的进展,因此,如果加上一个比平时快得多的CP脉冲,那么就能够让它们以比平时快得多的速度进行计时,最终达到时间调整的目的。

快速校时电路:

若:

X=1时候,Z=f1;

X=0时,Z=f2;

则:

异步连接方式

同步连接方式

2.5.2置入数据法

置入数据法利用计数器本身自带的置数端和外加的拨码开关,将调整的时间拨出,当计数器的置数端收到相应的信号之后,就把预定时间置入电路当中,从而一次性改变电路显示的时间,也能达到时间调整的目的。

置入数据法校时电路

2.5.3方案比较

快速脉冲法电路较为简单,并且校时的方法与生活中所用的电子表的校时方法一致,通过两个按钮,就能直接改变时或者分的数值。

缺点是校时过程比较费时,没有置入数据法那么直接。

而置入数据法使得调整时间的过程比较简单和直接,做到了用尽可能短的时间来调整,但是由于置入数据需要用拨码开关,因此要把需要的时间转换为二进制输入,而且电路连接也十分复杂。

综上所述,快速脉冲法和置入数据法各有利弊。

现实中,已经用了16个拨动开关设定闹钟,如果采用置入数据法,在不增加电路连接的复杂性下,只能让校时电路和设定闹钟电路共享开关,这样需要在设计中增加一个二选一的电路,操作起来不见得比快速脉冲法方便。

同时,快速脉冲法更贴近现实中电子钟的校时过程。

因此,两相权衡,我们在此设计中选择快速脉冲法来进行校时。

2.6整点报时电路

2.6.1发声一次的整点报时电路

即在整点的前后一秒中,发出一次迅响信号即可。

计数器异步连接方式下的整点报时电路如下所示:

电路

波形

而对于同步方式连接的分、时计数器而言,由于整点到达前时使能信号将维持1s的高电平信号,因此可以直接利用这个信号控制三极管Q1导通。

2.6.2发声五次的整点报时电路

连续五声报时电路,即希望在整点到来之前,能够发出五声的迅响信号,在最后一次迅响信号结束的一瞬间,即为整点的时刻。

用时序电路做控制的电路如下所示:

发声5次的整点报时电路

其中控制信号1来自分计数器的拾位、个位和秒计数器的拾位的输出状态组合,当时钟计数值为59分50秒至59分59秒期间,控制信号1应输出高电平,使D触发器U2A的清零端无效。

控制信号2来自秒计数器的个位的输出状态组合,当时钟计数为59分55秒时,控制信号2应出现由低向高的跳变,D触发器U2A的输出端由低变高,秒脉冲经U1B输出。

三极管Q1按1Hz频率导通5次后,控制信号1变为低电平,D触发器被清零,输出Q回到低电平。

波形图如下所示:

2.6.3方案选择

由于先前计数器的连接方式选择了同步连接,故相应的整点报时电路也应该选择同步结构。

而对于是发声一次还是五次则是设计者个人喜好问题,在此选择发声五次的方式。

2.7闹钟电路

设想用数值比较器对设定时间与时钟时间进行比对,当两者的时和分相同时,控制迅响电路工作,产生迅响信号输出。

迅响持续时间达到1min后,时钟的分计数器值改变,将不再与闹铃设定时间相同,因此迅响电路将停止发出迅响。

与此同时,要实现闹钟的开与关,闹钟应当有一个使能端来控制,就是闹钟的总开关。

由此可得闹钟功能电路如下所示:

闹钟电路

2.8迅响电路的硬件共享

整点报时和闹钟功能都要用到迅响电路,为了节省硬件开销,可以让整点报时和闹铃功能共享迅想电路。

具体方式为将整点报时的输出和闹铃的输出通过一个活门合并为一个输出去控制蜂鸣器,这样两者就都可以正常工作并且公用一个蜂鸣器,以节省硬件开销。

如下图:

迅响电路共享的原理图实现

说明:

Bell1和Bell2平时都为“低”,当闹钟电路工作时Bell1输出秒脉冲信号,当整点报时电路工作时Bell2输出秒脉冲信号。

只要闹钟电路和整点报时电路其中有一个工作,输出引脚Bell就可以接收到秒脉冲信号,从而驱动外围的蜂鸣器电路。

Equal信号当闹钟电路工作时为“高”,

和Bell2通过与门连接,表示当闹钟工作时禁止整点报时电路工作。

这样做的原因是,如果设定的闹钟时间为X时59分,整点前几秒会出现闹钟电路和整点报时电路同时工作的情况,蜂鸣器会持续响几秒钟时间,我们不希望出现这种刺耳的声音,因此我们设定闹钟的优先级比整点报时高。

2.9星期电路

星期功能的实现即设计一个从1到7循环计数的计数器,其计数触发脉冲应该是每24小时一次,此脉冲可以从小时计数器的高位得到,即小时计数器高位的2变成0时星期加1。

计数触发脉冲也可以从快速脉冲校正电路中得到。

此功能为附加功能,实现时采用星期模块的方式,用VHDL语言编写。

其中模块框图如下所示:

星期电路的自定义功能模块

2.10日历电路

日历是一般多功能数字钟必不可少的功能之一。

其关键在于年、月、日计数与进位之间的关系。

该计数器的触发脉冲与星期功能的脉冲一样。

而日向月进位,月向年进位,大小月的判断以及闰年与非闰年的判断均由VHDL语言实现。

其中大小月的判断用的是枚举法,将12个月都当做一种情况列些出来。

而闰年的判断则是通过分析年的最后两位得到。

由于在程序中年的末两位是用两个4位的BCD码来表示的,分析闰年与非闰年,可得当年高位的BCD码的末位为0而年低位的末两位为00或年高位的BCD码的末位为1而年低位的末位为0时该年为闰年(由于只有六只数码管,故只能显示年的末两位,即年计数为0到99,因此不考虑年能被100整除而不能被400整除是非闰年的情况)。

软件实现详见第4章——软件设计。

万年历的模块框图如下所示:

万年历电路自定义模块

2.11星期与日历的校正电路

显然星期与万年历也需要进行校时。

由于对时间的校时采用了快速脉冲法,故此处也还是用快速脉冲法对星期与万年历校时。

为了节省硬件,时间、万年历与星期的校时按钮共享,一共使用了A和B两个按钮。

通过软件编程的方法将其加以区分。

具体方法是当数码管显示的是星期时A不起作用,B按钮只对星期启校时作用;

而当显示的是年月日时,对年、月、日分开校时,该功能的实现通过一个拨动开关实现,当开关接通,A按钮调年,B按钮调月,当开关断开,A按钮调年,B按钮调日。

2.12懒人闹钟功能

懒人闹钟的功能也是一个附加的功能,在自定义的闹钟电路模块中,用VHDL语言实现。

闹钟响起来的一分钟内,如果用户没有把闹钟关掉的话,它会从当前时间开始算起,每隔5分钟响一次,直到用户把闹钟关掉为至。

实现懒人闹钟的思路是,从闹钟设定时间的下一分钟开始,触发计数功能,每来一个秒脉冲计数一次,当计数次数达到240次时(即闹钟设定时间的5分钟后)闹钟开始响起,这时计数还在继续,直到计数达到300,闹钟响了一分钟,计数清零,继续循环计数,如果把闹钟关闭,计数功能则关闭。

2.13消抖电路

按键开关是电子设备实现人机对话的重要器件之一。

由于大部分按键是机械触点,在触点闭合和断开时都会产生抖动。

为避免抖动引起误动作造成系统的不稳定,就要求消除按键的抖动,确保按键每按一次只做一次响应。

VHDL中的按键消抖电路设计原理:

按键消抖的关键是提取稳定的低电平(或高电平)状态,滤除按键稳定前后的抖动脉冲。

在用基于VHDL语言的时序逻辑电路设计按键消抖电路时,可以用一个时钟脉冲信号对按键状态进行取样,当第一次采样到高电平时,启动延时电路,延时结束后,再对按键信号进行连续三次取样,如果三次取样都为低电平,则可以认为按键已经处在稳定状态,这时输出一个低电平的按键确认信号,如果连续三次的取样中,至少有一次是高电平,则认为按键仍处在抖动状态,此时不进行按键确认,按键输出信号为高电平。

2.14显示切换

由于有闹钟设定的功能,以及添加了日历、星期等功能,6只数码管将不仅仅用来显示时间,也要能显示设定的闹钟时间和年月日、星期。

也就是说显示的内容需要切换。

由此一共有4个不同的内容需要显示,则可以通过两个拨码开关来控制显示的内容:

“11”时输出时间的编码到外围显示电路,“00”时输出日历,“01”输出星期,“10”时输出设定的闹钟时间。

而当某一功能被选中后,则通过如下所示的切换模块进行数据选择。

显示切换电路自定义模块

左边为2个负责控制的拨动开关,下面为信号的输入,经过开关的筛选后,将所需显示的信号从右边输出。

第3章单元电路设计

3.1秒脉冲发生器

【硬件分频】

计数器的波形

振荡信号经过内部14级分频,可以产生周期为

的脉冲信号输出。

【软件分频】

上述得到的2Hz的脉冲可以作为快速脉冲的触发电平,但数字钟计数所要用的是周期为1s的秒脉冲,所以还需在程序设计时通过软件的方法再进行一次二分频。

分频电路如下所示:

用D锁存器实现的分频器

原理说明:

上升沿触发的D锁存器的特性是,每来一次上升沿的脉冲,Qn+1=D,此外的情况下,Q保持前一次的状态,因此令

,则

,输出Q在输入脉冲一个周期内翻转一次,实现了2分频的功能。

3.2整点报时

整点报时

说明:

下部分为XX时59分55秒至58秒这4秒时间内的控制电路,当时钟计数值为59分50秒至59分58秒期间,控制信号Time_Report、Time_Report4和Time_Report3为高电平,使D触发器的清零端无效。

Time_Report2来自秒计数器的个位的输出状态组合,当时钟计数为59分55秒时,Time_Report2应出现由低向高的跳变,D触发器的输出端由低变高,秒脉冲经D触发器输出。

三极管Q1按1Hz频率导通4次后,控制信号1变为低电平,D触发器被清零。

上部分:

当到达XX时59分时Time_Report4=‘1’,秒高位为5时Time_Report=‘1’,秒低位为9时,Second_Low[3]和Second[0]为’1’,此时输出频率为128Hz的CP2。

上半部分和下半部分通过一个或门结合,实现了XX时59分55秒到58秒的时候,蜂鸣器器由1Hz脉冲控制发声,当XX时59分59秒时,蜂鸣器由128Hz脉冲控制发声。

3.3LED显示电路

本次设计采用静态显示法,如下图所示,每一位LED数码管需要一个7位或8位输出信号控制显示代码。

【静态显示限流电阻估算】

数码管的内部发光器件为发光二极管,发光二极管有一定的工作电流范围,如果电流太小,那么发光二极管可能亮度过低,若电流过大,则容易烧坏器件。

分析可知,LED数码管工作电流为5到10mA,共阳极输入电电压在5V左右,减去数码管分到的电压(约为0.7V),则电阻上的电压约为4.3V。

所以

所以再设计时采用510Ω的电阻作为限流电阻。

第4章软件设计

4.1计数器电路

4.1.1同步六十进制计数器

同步连接方式的60进制计数器用于分和秒电路,因此原理图有两个实现60进制计数器的自定义模块,实现分和秒电路的VHDL语言基本相同,只是在输入输出端口略有不同。

两个模块分别如下图:

秒电路

CLK为频率为1Hz秒脉冲。

Second_Low是秒低位,Second_High是秒高位,分别为4位逻辑类型数组,模块检测到CLK的上升沿则启动计数Process,Second数组每秒加1,直到59重新回到0。

模块有4个输出:

Carry_To_Minute是向分的进位,当模块检测到Second数组为“01011001”即到了59秒时,Carry_To_Minute为“1”并维持1秒,产生向分的进位;

Time_Report1、2、3为3个控制整点报时的信号。

程序流程图:

秒计数流程图

还有一些子程序,用于控制进位以及整点报时信号,较简单,因此在此不一一列举。

分电路

左边输入:

1、Carry_To_Minute:

秒向分的进位信号,2、Receive_Carry_From_Second_Or_CLK:

接受从秒的进位信号或者接受快速脉冲的校时信号。

右边输出:

Minute同样为逻辑数组,分为高4位和低4位,表示分高位和分低位。

Carry_To_Hour为分向时的进位,当Carry_To_Minute为“1”并且Minute数值为“01011001”即为59分时,Carry_To_Hour置1并维持1秒。

Time_Report4控制整点报时。

分计数流程图

还有一些子程序,用于控制进位以及整点报时信号,较简单,因此在此不一一列举。

4.1.2同步二十四进制计数器

24进制计数器的原理跟60进制计数器差不多,计数与否由分向时的进位控制。

时电路

左边的输入为分向时的进位,或者接受快速脉冲的校时信号。

右边输出的2个4位逻辑数组分别表示时高位和时低位。

如果检测到HourEN向低跳变,则时加1,当时到达23(0010,0011)时,再加1则清零。

时计数流程图

4.2校时电路

采用快速脉冲法来进行校时。

并且为了方便起见,利用两个按钮开关,来分别控制时和分计数器,能够使它们分别快速校时。

当按下按钮时开始快速校时,此功能的实现需要一个选择器(chooser)。

以时的校时电路为例,其他大同小异,如下所示:

时的校时电路

其中A为秒脉冲,用于快速校时,B为分的进位信号,用于正常触发时计时器。

当Set_Hour为高电平时Q选择A,快速校时;

否则Q选择B,正常计时。

即Q<

=(Aanden)or(Band(noten))。

4.3闹钟电路

闹钟电路自定义模块

该模块集

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2