简易数字钟设计

简易数字钟设计

一、摘要

信息时代,时间观念深入人心,所以掌握数字钟的设计具有一定的时代意义,并且使用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)总线技术:

clip_image002

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

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

clip_image004

图2-2-2 总线图样。

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

clip_image006

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

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

clip_image008

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

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

clip_image010

图2-2-5 总线连线图

(2)子电路技术:

A、新建一个子模块

clip_image012clip_image013clip_image015clip_image016clip_image018

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

B、添加管脚

clip_image020clip_image021clip_image023clip_image024clip_image026

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

三、电路总设计思路

clip_image028

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

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

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

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

四、子电路设计

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

clip_image030

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

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

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

(3)功能端口如下:

输出端

功能

Q0

时钟显示

Q1

时钟调时

Q2

秒表

Q3

闹钟

Q4

万年历

Q5

定点报时开关

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

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

(1)总体构想

clip_image032

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

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

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

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

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

clip_image034

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

clip_image036

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

端口

功能

Q7-Q0

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

CTEN

片选开关

CVON

片内计数器级联开关

Co

进位输出

GND

接地端

CLOCK0-1

片内计数器时钟端

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

需要注意的地方是:

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

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

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

(3)年计数器的设计

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

clip_image038

图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整除的规律

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

clip_image040

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

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

年计数器总电路如下:

clip_image042clip_image044

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

年计数器功能表如下

端口

功能

Q15-Q0

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

CTEN

片选开关

CVON

片内计数器级联开关

Vcc

电源端

GND

接地端

CLOCK0-3

片内计数器时钟端

Leapyear

闰年判断端口

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

(4)月计数器的设计

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

clip_image046

图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码进行编制,通过列真值表,卡诺图化简,得到控制逻辑电路为:

clip_image048

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

月计数器总电路如下:

clip_image050clip_image052

图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端口进行置数。

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

clip_image054

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

(6)星期计数的设计:

clip_image056

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

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

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

clip_image058

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

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

3、时钟调时设计

(1)思路总括:

clip_image060

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

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

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

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

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

clip_image062

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

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

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

clip_image064

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

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

clip_image066

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

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

(3)手动调时功能

clip_image068 以秒的个位为例:

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

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

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

图4-3-3 手动调时

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

clip_image070

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

4、秒表功能设计

(1)设计总思路

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

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

clip_image072

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

(2)电路设计:

clip_image074

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

5、定点报时功能设计

(1)设计思路:

clip_image076

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

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

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

(2)电路设计图:

clip_image078

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

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

6、闹钟功能设计

(1)设计思路:

clip_image080

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

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

(2)计数功能搭建:

clip_image082

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

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

(3)比较电路搭建:

clip_image084

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

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

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

clip_image086

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

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

7、万年历查询功能:

(1)思路设计:

clip_image088

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

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

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

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

(2)年查询设计:

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

A、 分析情况:

情况

结果

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

星期加一

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

星期加二

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

星期加二

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

星期加一

平年到平年对应的日期

星期加一

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

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

clip_image089

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

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

(3)月对应日期查询

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

A、 分析情况:

情况

结果

上个月是31天的

加3天

上个月是30天的

加2天

上个月是29天的

加1天

上个月是28天的

加0天

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

加3天

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

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

clip_image091

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

(4)日对应日期查询:

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

A、 分析情况:

分类

情况

结果

从31号跳到1号

上个月是31天的

加2天

上个月是30天的

加1天

上个月是29天的

加0天

上个月是28天的

加6天

其他

加一天

加1天

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

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

clip_image093

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

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

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

clip_image095

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

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

(6)阀值开关:

clip_image097

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

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

8、显示功能设计

clip_image099

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

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

clip_image101

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

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

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

1:表示分和秒

2:表示时和分

3:表示月和日

4:表示年和月

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

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

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

(2)切换显示功能

A:分析:

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

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

clip_image103

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

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

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

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

(3)调时位闪烁功能:

clip_image105

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

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

① 必须在当前显示页

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

③ 进入调时功能选项

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

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

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

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

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

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

五、心得体会

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(设计)