简易数字钟设计

简易数字钟设计

一、摘要

信息时代,时间观念深入人心,所以掌握数字钟的设计具有一定的时代意义,并且使用Multisim进行分立元件设计数字钟,可以大大提升个人数字电路的素养。

设计思路是从上至下,先进行数字钟整体框架的设计,考虑各个子芯片的预留端口,再逐个设计各个子电路模块。最终完成了时钟显示,调时,闹钟,定点报时以及万年历的功能。并且总的控制点预留了新功能的接入口,这样子就可以十分方便的进行新功能的加入。

目录

简易数字钟设计... 1

一、摘要... 1

二、前期准备... 2

1、数电知识的复习... 2

2、Multisim相关知识的学习... 2

三、电路总设计思路... 4

四、子电路设计... 4

1、控制电路(切换功能电路)... 4

2、基本计数功能的实现:... 5

3、时钟调时设计... 10

4、秒表功能设计... 13

5、定点报时功能设计... 14

6、闹钟功能设计... 15

7、万年历查询功能:... 16

8、显示功能设计... 19

五、心得体会... 21

二、前期准备

1、数电知识的复习

门电路,计数器,触发器,555触发器以及卡诺图等相关知识。

2、Multisim相关知识的学习

除基本操作之外,还应该学习两个设计大型电路的相关知识。

(1)总线技术:

图2-2-1 总线功能选择

A、 点击总线按钮,然后进行绘制,便可以得到总线。

图2-2-2 总线图样。

B、 双击总线进行总线端口的添加:

图2-2-3 总线端口添加图

C、 单击添加后,可以进行端口的添加,有2种方式,第一种便是一次只能加一种端口,第二种是可以加入前缀相同,但是标号不同的多个端口

图2-2-4 总线端口方式二添加图

D、 之后选择连线确认即可

图2-2-5 总线连线图

(2)子电路技术:

A、新建一个子模块

图2-3-1 子电路添加方法图示

B、添加管脚

图2-3-2 子电路管脚添加图示

三、电路总设计思路

图3-1 电路总设计思路图示

首先考虑数字钟所有的功能:有时钟显示,调时,秒表,万年历,定点报时和闹钟一共6个功能,所以切换电路要预留6个以上的功能切换项。(切换键设为“=”)

其次,对于数字钟必须要有精确的秒发生器作为基础,由于Multisim本身软件的刷新频率问题,所以只好使用信号发生器作为数字钟的秒发生器。

最后,考虑显示功能,由于只能使用4个数码管,所以需要一个显示切换功能,然后再接入数码管。(切换键设为“E”)。

四、子电路设计

1、控制电路(切换功能电路)

图4-1-1 控制电路搭建图

(1)使用的是CD4017十路十节拍顺序脉冲发生器,由于暂时只有6个功能,所以改接为六路六节拍顺序脉冲发生器。这样还可以方便新功能的扩展。

(2)通过按下功能切换按钮(“=”)进行功能的选择。

(3)功能端口如下:

输出端


功能


Q0


时钟显示


Q1


时钟调时


Q2


秒表


Q3


闹钟


Q4


万年历


Q5


定点报时开关

表4-1-1 切换电路端口功能表

2、基本计数功能的实现:

(1)总体构想

图4-2-1 基本计数功能总体构想

首先,根据现实因素,采用8421BCD码进行编制,然后按照生活习惯分离成7个计数片,采用片内同步,片间异步的设计方法。

其次,星期计数有两种模式,模式一为正常时钟计数所使用的,即24小时后星期数进一,模式二为万年历查询模式,即需要查询相应日期对应的星期时所使用的模式。

最后,预留出调时所需要的端口。

(2)秒、分和时计数的设计:

图4-2-2-1 秒(分)计数器的设计

图4-2-2-2 秒(分)计数器封装芯片图

端口


功能


Q7-Q0


数值输出,用于接入到数码管


CTEN


片选开关


CVON


片内计数器级联开关


Co


进位输出


GND


接地端


CLOCK0-1


片内计数器时钟端

表4-2-2-1 秒(分)计数器封装芯片功能表

需要注意的地方是:

A、由于调时功能需要每一位都进行调节,所以必须预留每一位的时钟端进行调时。

B、由于片内为了避免竞争冒险而使用同步级联,所以必须有级联的开关端口(CVON)。

C、 由于时计数器和分(秒)计数器只是进制的不同,所以不再详细叙述时计数器电路图。

(3)年计数器的设计

同样采用片内同步级联的设计思路,预留调时所需的CVON和CLOCK0-3端口。

图4-2-3-1 年计数器的级联电路图

为了日计数的正确需要判断闰年的预留端口。

A、 计算闰年的方法为:能被4整除且不能被100整除与能被400整除的是闰年。

B、 考虑使用逻辑电路来实现此逻辑。

① 被400整除可以拆成被4且被100整除,所以需要实现的功能为能被4和能被100整除的功能的判断。

② 能被100整除,只要满足Q0到Q7都为0就可以被100整除。

③ 能被4整除的实现:

首先观察能被4整除的数字规律,总结为:

定义一个数字的十位和各位组成的数字为AB,Y=1定义为能被4整除,Y=0不可以。则有

A


B


Y


奇数


2,6


1


偶数


0,4,8


1


其他


0

表4-2-3-1 能被4整除的规律

然后列真值表,化简卡诺图,得到的控制电路如下:

图4-2-3-2 能被4整除电路图

③ 判断能被400整除,首先由能被100整除,且设千位和百位为A和B,同样符合上述规律时,即可被400整除。

年计数器总电路如下:

图4-2-3-3 年计数器总电路图和芯片封装图

年计数器功能表如下

端口


功能


Q15-Q0


数值输出,用于接入到数码管


CTEN


片选开关


CVON


片内计数器级联开关


Vcc


电源端


GND


接地端


CLOCK0-3


片内计数器时钟端


Leapyear


闰年判断端口

表4-2-3-2 年计数功能表

(4)月计数器的设计

同样采用片内同步级联的设计思路,预留调时所需的CVON和CLOCK0-1端口。

图4-2-4-1 月计数器的级联电路图

为了日计数的正确需要判断拥有不同月份天数的预留端口。

A、 统计不同月份天数:

月份


天数


1、3、5、7、8、10、12


31


4、6、9、11


30


2


闰年为29,平年为28

表4-2-4-1 月份天数统计表

B、 对月份采用8421BCD码进行编制,通过列真值表,卡诺图化简,得到控制逻辑电路为:

图4-2-4-2 月份分类电路图

月计数器总电路如下:

图4-2-4-3 月计数器总电路图和芯片封装图

月计数器功能表如下:

端口


功能


Q17-Q0


数值输出,用于接入到数码管


CTEN


片选开关


CVON


片内计数器级联开关


Vcc


电源端


GND


接地端


CLOCK0-3


片内计数器时钟端


Y31


天数为31的月份输出为1


Y30


天数为30的月份输出为1


Y2829


天数为28、29的月份输出为1

表4-2-4-2 月计数器统计表

(5)日计数器的设计

日计数器设计思路一样是级联,再但是由于每个月的天数不同,所以我们需要使用预留的闰年,Y31,Y30和Y2829端口进行置数。

通过列真值表,卡诺图化简得下面电路设计图:

图4-2-5 日计数器电路设计图

(6)星期计数的设计:

图4-2-6 星期计数电路设计图

先设计一个8421BCD的加计数器,选0到6作为一个循环,这是为了后面的万年历查询方便。

(7)基本计数功能总电路:

图4-2-7 基本计数功能总电路

注意的地方是,如何切换正常计数和调时,我们需要断开原来片选端输入的时钟,改为手动输入时钟。因此,加级联端需要加入一个级联开关,这样子就可以断开原来异步级联的片,进行手动调时。

3、时钟调时设计

(1)思路总括:

图4-3-1 时钟调时的设计思路

首先需要做一个11位的环形计数器对应年、月、日、星期、时、分和秒的每一位,当某一位为“1”时,便对其进行调时。

其次,便是加入手动调时的方法,需要引入一个按钮“W”,按一下计数加一。

(2)环形计数器的实现:

使用四片74194四位移位寄存器构成11位环形移位寄存器。电路图如下:

图4-3-2-1 11位环形移位寄存器电路设计:

如何使之一开始有一个且只有一个“1”进入有效环形是一个关键问题。这里提供2钟解决方法:

A、首先由74194的功能表得到,当S0=1,S1=1时,并行输入,当S0=1,S0=0时,向右移动。所以我们使用一个积分电路,使得在切换到这个功能的时候产生一个短暂的脉冲,进行并行输入。

图4-3-2-2 积分电路设计:

B、另一种方法是使用一个RS触发器。

图4-3-2-3 采用RS触发器实现并行输入设计:

通过Vcc在供电的瞬间使得R端口产生一个1-0的越变,这样子,置入一个有效数字“1”,再进入右移功能。

(3)手动调时功能

以秒的个位为例:

当CTEN(功能切换输入)为“0”时,表示没有进入此功能,Q0输出为时钟信号。

当CTEN(功能切换输入)为’’1’’时,表示进入手动调试功能,Q0输出的是手动调时信号。在此情况下,若D0(环形移位寄存器输入)为’’1’’时,则允许按钮“W”产生的脉冲通过Q0输出,否则只能输出为低电平,即无法调时。

其余位也是相同的连接方法。

图4-3-3 手动调时

(4)手动调时功能子芯片连接

图4-3-4 手动调时功能子芯片连接图

4、秒表功能设计

(1)设计总思路

首先根据要求“能够为马拉松长跑计时”,所以需要能够计数到小时以上,然后选择计数器设计小时-分钟-秒钟设计计数器。

其次,需要预留一个CLR和一个STOP的端口进行秒表的清零和暂停。

图4-4-1 秒表设计总思路

(2)电路设计:

图4-4-2 秒表电路设计图

5、定点报时功能设计

(1)设计思路:

图4-5-1 定点报时功能设计图

根据要求“需要报时的时间五短一长,不需要报时的时间不报时”,所以需要进入时钟的一些输出端进行一些逻辑判断。做出在需要报时的时段59分55秒到59秒输出一段高电平的一个输出端,还有在00分00秒输出一个高电平。

然后将其输入到2个不同频率的蜂鸣器中,就可以实现定点报时的功能。

(2)电路设计图:

图4-5-2 定点报时电路搭接图

其中CTEN为功能输入,左边的端口为时钟对应输入,Switch表示定点报时功能的开关,CIO表示秒表的进位端。

6、闹钟功能设计

(1)设计思路:

图4-6-1 闹钟功能设计思路

首先需要搭建一个计数器能够储存设定的报闹时间,做出一个比较电路进行比较,如果相同的话构建一个闹钟响一分钟。

(2)计数功能搭建:

图4-6-2 计数功能搭建图

跟基础的计数器级联相同,但是做了一个小改变,就是在调节计数时,当时的十位为2时,个位只是4进制计数器。

(3)比较电路搭建:

图4-6-3 比较电路搭建

采用74LS85四位比较器芯片,将时钟和设定的时间进行比较,如果相同就输出为“1”,不同就输出为“0”。

(4)调整设定时间电路设计:

图4-6-4 设定时间电路设计

与调整始终时间的电路相同,只不过将三态门构建的时钟切换控制改成了用与门来进行搭建的。

7、万年历查询功能:

(1)思路设计:

图4-7-1 万年历查询星期设计思路

首先,再每次进入万年历查询星期功能时,需要把当前日期导入万年历子芯片,考虑的方法就是在没有进入此功能时,直接置数,一但进入此功能关闭置数端功能即可。

其次,查询分为3钟情况,调节日,调节月,调节年,在进行对应调节的时候,星期要进行相应的改变。

最后,要加入显示功能的匹配输出口。

(2)年查询设计:

首先搭建一个年计数器,直接重用原来在时钟使用的年计数器,然后以加一年为例子:

A、 分析情况:

情况


结果


闰年的3月1号之后到平年的对应日期


星期加一


闰年的3月1号之前到平年的对应日期


星期加二


平年的3月1号之后到闰年的对应日期


星期加二


平年的3月1号之前到闰年的对应日期


星期加一


平年到平年对应的日期


星期加一

表4-7-2 年对应星期规律总结

B、 通过卡诺图化简,可以得到电路设计为:

图4-7-2 年对应星期设计电路图

即使用加计器,通过控制电路,控制在不同情况下,B4B3B2B1端口对应的是数值。

(3)月对应日期查询

首先搭建一个月计数器,直接重用原来在时钟使用的月计数器,然后以加一个月为例子:

A、 分析情况:

情况


结果


上个月是31天的


加3天


上个月是30天的


加2天


上个月是29天的


加1天


上个月是28天的


加0天


从12月跳到1月(同31天)


加3天

表4-7-3 月对应星期规律总结

B、 通过卡诺图化简,可以得到电路设计如下:

图4-7-3 月对应星期查询电路查询设计

(4)日对应日期查询:

首先搭建一个日计数器,直接重用原来在时钟使用的日计数器,然后以加一个日为例子:

A、 分析情况:

分类


情况


结果


从31号跳到1号


上个月是31天的


加2天


上个月是30天的


加1天


上个月是29天的


加0天


上个月是28天的


加6天


其他


加一天


加1天

表4-7-4 日对应星期查询规律总结

B、 通过卡诺图化简可得电路设计图如下:

图4-7-4 日对应星期查询电路设计图

(5)3种查询方式的切换:

首先同调时电路一样,需要有相应的调整切换按钮,并且还需要选择运算输出的结果:

图4-7-5 运算输出的结果电路设计图

选择输出的数值,且如果超过6的时候,进行减7的操作。保证输出的星期都在0到6(即星期一到星期日之中)。

(6)阀值开关:

图4-7-6 阀值开关设计图

假如不加入一个阀值开关,就会形成一个闭环,变成一个环形计数器,但是我们可以通过假如一个计数器来做一个开关,当置数端打开时,才会进行置数输出,否则不会继续输出。而置数端的开启则是由调时按钮触发的脉冲得到的。

8、显示功能设计

图4-8-1 显示功能预览图

(1)显示功能及设计思路

图4-7-1-2 显示功能介绍图

A、 左上角:表示闹钟和定点报时的开关,灯亮表示有开,否则则没有打开。

B、 上方:表示在时钟显示和调时功能下,数码管所显示的内容是:

1:表示分和秒

2:表示时和分

3:表示月和日

4:表示年和月

C、 右边:表示功能选择,哪一个灯亮说明在哪一个功能下。

D、 中间:数显,直接显示数字

E、 下方:星期输出,星期几就是哪一个灯亮

(2)切换显示功能

A:分析:

由于只有4个数码管,所以必须进行数据的选择输出,显而易见应该采用数据选择器来完成,更好的是可以采用74AS157N进行数据选择。

B:以年月日时分秒的切换作为例子:

图4-7-2 年月日时分秒功能选择输出

左边的方框:又一个顺序脉冲发生器构成,当按下按钮时会进行不同路脉冲的输出。我们通过不同路卖出的输出,进行对数据选择控制端的编程。

上面的方框:三态门,控制端为相应功能切换电路使能,表示只有在当前功能时,才会输出这个芯片内的数据,意味着每个需要接数码管的子电路都需要有这个电路。

数据搭建的选择电路:主要是使用顺序脉冲发生器的输出进行编程,对数据选择器进行编程,这样子的话可以选择输出相应的所需值。

(3)调时位闪烁功能:

图4-7-3 调时位闪烁功能电路设计图

A、 首先判断需要闪烁的位要满足的条件:

① 必须在当前显示页

② 调时所用的顺序脉冲发生器输出端对应有效

③ 进入调时功能选项

B、 因此,分块完成对应功能

从下往上分别为第1,2,3,4模块

模块一:对应A所提的功能项所设计的逻辑电路来作为模块二的控制端

模块二:当输入的控制端为1,则输出闪烁信号,否则输出不闪烁信号(接地)。

模块三:当在时钟显示功能时无论如何不闪烁,只有在调试功能下才闪烁。

模块四:只有当进入此功能时,才会有输出。

五、心得体会

1、更深刻更熟练的掌握数电技术进行设计,熟练掌握各种基本电路,比如说计数器,触发器,寄存器,555以及单稳多谐等等知识的总和运用。

2、巧妙使用微积分电路,可以造出一个所需的脉冲,化简电路。

3、所有的仿真都忽略了实际器件的参数,其实很多地方需要加入电阻,电容,这样子才可以使电路正常工作,例如七段数码管,需要在输入端口加入电阻,否则会发生闪烁不同步的问题。

4、Multisim软件的局限性很大,刷新频率不够大,每次改变都要完全遍历数组,如此不科学的方法实在让大型电路的设计难以进行。但是在我们没有办法改变规则的情况下,只好自己做出妥协:

(1)每个子电路都在一个新的设计中设计,这样子不会产生连线卡顿的问题。

(2)当出现逻辑功能对却没有产生对应的效果,例如进位,这样的时候是因为器件的参数没匹配,但是Multisim不会进行报错提示,需要我们自己进行解决,一种是加入电阻电容使之匹配,另一种方法是加入探针,它会进行自适配。

(3)在进行端口连接时,一次性尽量连接多个口,因为遍历一次数组就可以将所有的加入。所以必须如此。

5、设计电路的时候最好先构思,从上而下先宏观布局,从下而上修改布局。然后反复几遍,确认思路可行之时,开始从基础搭起,预留端口。做好备注。

6、电路设计是一件耗时的事情,需要大家一起讨论,每个人的想法都不同,大家讨论,互相改进,最后就会使得效率提高。

时间: 2024-10-25 03:16:41

简易数字钟设计的相关文章

第一个Android项目--简易计算器的设计与实现

这个简易计算器的实现我是参照慕课网上的视频课程学习的,下面梳理我的开发过程以及DEBUG 在这个项目中实现计算器的第一步骤是对界面UI的设计,UI的设计并不难,一个总的Lnearlayout的布局下orientation设置为vertical垂直分布,然后此布局下再设置1给我Edittext的一个文本框4个Lnearlayout子布局(第4个布局里可以嵌套另外3个Lnearlayout的布局来实现按钮排版)这4个子布局在你的界面上肯定是垂直分布的,因为你的总布局设置vertical.第一个子布局

数字公仔设计蔚为风尚 马路科技打造《魔兽世界》典藏级公仔

公仔是否具有收藏价值?除了公仔本身所代表的作品意义外,最重要的项目之一就是制作的精细程度,然而以往手工公仔设计的过程中充满了许多制作上的变量,因此数字公仔设计已经是许多许多企业的首选方式.马路科技结合了专业人因设计工具FreeForm自由造型系统以及三維打印,不仅迅速的完成了多项公仔设计服务工作,更将公仔设计提升到数字的层次,使公仔的质感更加提升,增加了收藏的价值.近日马路科技所设计的<魔兽世界>公仔不仅受到客户的肯定,该公仔并于年度举办的游戏嘉年华活动中亮相,成为顶级玩家亟欲收藏限量商品. 

VerilogHDL概述与数字IC设计流程学习笔记

一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是描述硬件的语言,它用文本的形式来描述电子系统硬件结构和行为,是一种用形式化方法来描述数字电路和系统的语言.正是因为如此,硬件与软件不一样,他不像软件,你某天突发奇想,想实现某个的界面,搞搞代码就OK了.硬件它是由实实在在的物理器件搭载而成,用抽象的语言怎么可能弄出一个电路来呢? 一门语言,总有那么一

如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算

package interview_10_10; import org.junit.Test; public class T1 { /** * 如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算). */ @Test public void test1() { String number1 = "4324328732789"; String number2 = "2383244324324325898

ios数字钟的实现

ios数字钟的实现 数字钟的创建,我们首先的准备一些参数:代码如下: #import "AppDelegate.h" @implementation AppDelegate { UILabel * _yearLabel; UILabel * _monthLabel; UILabel * _dayLabel; UILabel * _hourLabel; UILabel * _minuteLabel; UILabel * _secondLabel; NSMutableArray * _da

毕业设计:数字密码锁设计.pdf

32个单片机类毕业设计集锦,给广大大四学生的福利,即将要毕业了,是不是要交毕业设计呢,关于电子设计,单片机,proteus等硬软件的毕业设计在闯客网技术论坛都有大量的实例,都是免费下载的,毕业设计根本不用愁,还免费下载呢,这么好的事只有闯客网做得出来,这个群可以免费获取:613377058 下载地址:https://bbs.usoftchina.com/thread-208784-1-1.html 目录: 1.16×16点阵(滚动显示)论文+程序 2.电气工程系06届毕业设计开题报告 1.2M3

基于状态机的简易RISC CPU设计

目录 一.什么是CPU? 二.RISC CPU结构 1.时钟发生器 2.指令寄存器 3.累加器 4.RISC CPU算术逻辑运算单元 5.数据控制器 6.状态控制器 7.程序计数器 8.地址多路器 9.外围模块 10.地址译码器 a.RAM b.ROM 三.RISC CPU中各部件的相互连接关系 四.RISC CPU和它的外围电路 五.RISC CPU的寻址方式和指令系统 六.RISC CPU的操作和时序 正文 一.什么是CPU? CPU 即中央处理单元的英文缩写,它是计算机的核心部件.计算机进

基于FPGA的简易数字时钟

基于FPGA的可显示数字时钟,设计思路为自底向上,包含三个子模块:时钟模块,进制转换模块.led显示模块.所用到的FPGA晶振频率为50Mhz,首先利用它得到1hz的时钟然后然后得到时钟模块.把时钟模块输出的时.分.秒输入到进制转换模块后得到十进制的值再输入到led显示模块,该project已经在FPGA开发板上亲測可用. 下图为模块示意图(实际project中并没有採用原理图的输入方法.这里仅作示意). 以下分模块说明: clk1:  时钟模块,设计思路为首先依据50M晶振得到1hz的时钟,然

模拟IC设计与数字IC 设计的区别

整理一些搜到的网页 http://www.elecfans.com/analog/20131008329061.html "模拟芯片设计的四重境界"http://bbs.eetop.cn/thread-21072-1-1.html http://blog.163.com/[email protected]/blog/static/13429833320103582823644/ 数字.模拟电路芯片的区别及其设计的前端和后端的分工区别 https://www.zhihu.com/ques