您的位置:首页 > 其它

数字钟的仿真实现(非单片机)

2018-12-20 16:57 1031 查看

第一章、前言

电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”"分”“秒”用数字的方式显示出来。与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人经常调整等优点。它广泛用于车站、码头、广场等公共场所的大型远距离时间显示电子钟。

在本次设计中,主要采用芯片74LS192、4511、555辅助以必要的外围电路,并进行模块化设计而成的数字钟系统。通过LCD能正确显示时分秒等,具有功能稳定,精确度高和时间可调的特点。

第二章、设计要求及实现的功能

2.1 设计要求

设计要求是设计一个自制信号发生器且可以人工校时的数字钟系统,该电路具有时、分、秒显示及人工校时调整功能,其中显示部分通过CC4511芯片译码后接入共阴极LED(7SEG-COM-CATHODE)显示,计数部分准备采用74LS192组成的六十进制的计数器,通过层层进位,实现数字钟的正常运行,而人工校时则利用置位端PL(74LS192)进行人工置位,实现校时。

然后通过555芯片制作一个多谐振荡器,作为时钟信号发生装置,产生稳定的时钟信号。

2.2 设计实现的功能

1、显示时、分、秒。
2、具有可调整时间的功能。
3、产生稳定的时钟脉冲信号

第三章、整体设计


本设计采用芯片74LS192组合成的六十进制计数器。首先把时钟信号给秒个位,秒个位开始加法计数满十进一(0-9)给秒十位,秒十位同样开始加法,当秒十位满六(0-5)后进一给分个位,依次类推。

校时:我们可以通过PL(74LS192)进行人工校时,74LS192的置位端是低电平有效。

信号产生:用555芯片制作的多谐振荡器没有稳定的状态,只有两个暂稳态,且无需用外来的触发器触发,电路能自动交替翻转,使两个暂稳态轮流出现,输出矩形脉冲,可以达成时钟信号发生的目的。

第四章、系统详细设计

4.1硬件详细设计.

4.1.1主芯片功能介绍

Do-D3:并行数据输入端 Q0~Q3:数据输出端
UP:加法计数脉冲输入端 DN:减法计数脉冲输入端
MR:异步置0端(高电平有效)
PL:置数控制端(低电平有效)
TCU:加法计数时,进位输出端 (低电平有效)
TCD:减法计数时,借位输出端(低电平有效)

从74LS192功能表功能表中可以知道,当清零端MR=“1”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步复位功能。当MR=“0”且PL=“0”时,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。如图当“DN=PL=1,MR=0”时,UP端上升沿脉冲作用后,计数器加1。而当“UP=PL=1,MR=0”时,DN端上升沿脉冲作用后,计数器减1。当加法计数器满10(0-9)进位时,进位端TCU会触发一个脉冲,同样当减法器为0且借位时,借位端TCD会触发一个脉冲。

4.1.2多谐振荡电路

图所示为由555定时器和外接元件RA、RB、C构成的多谐振荡器,脚2和脚6直接相连,它将自激发,成为多谐振荡器。外接电容C通过RA+RB充电,再通过RB放电,在这种工作模式中,电容C在UCC/3和2UCC/3之间充电和放电,其充电时间(输出为高态)为:t1=0.693(RA+RB)C,放电时间为t2=0.693RBC,周期为T=t1+t2=0.693(RA+2RB)C,而振荡频率为f=1/T=1.43/((RA+2RB)C)

如图,代入电阻的值RA=RB=10kΩ,C2=47uf,T=t1+t2=0.693(RA+2RB)C,T=0.693(10k+20k)4710-6=0.97713s,
f=1/T=1.43/((RA+2RB)C)=1/0.97713=1.0234HZ。约等于1HZ。

4.2 电路详细设计

电路的整体框架和所需的器件以及器件各自的功能已经介绍完毕了,下面是电路的Proteus仿真图的详细介绍,本实验的Proteus仿真图如下(篇幅有限,多谐振荡器未画):

4.2.1六十进制秒计数及进位、置零的处理

在设计秒的六十进制计数器时如图,需要注意的是秒十位的进位问题,秒十位在到6(0110)的时候需要同时处理两件事,一是向分个位进位,二是清零秒十位。首先介绍如何做到清零秒十位,通过计数的调整我们可以发现,当5(0101)到6(0110)发生改变时,6(0110)是不会被显示,但是5(0101)需要被显示,故我们需要做的是在显示6(0110)的时候进行清零(MR),6的二进制码是0110,从1(0001)、2(0010)、3(0011)、4(0100)、5(0101)、6(0110)跳变时,我们可以借用6(0110)二进制码中间两个1的唯一确定性,接入与门(如图),当显示6(0110)时与门输出1,即清零端(MR)输入1,从而达到瞬时清零的效果。

在清零的时候我们同时触发进位效果,即将“与门的结果”接到下一个的输入UP端,实现进位效果。

4.2.2 六十进制分计数及译码器驱动LED显示

利用刚才的分析,分个位和分十位的进位也是如此,在此不再进行重复讨论。如果对74LS161,74192计数还有问题的可以参考前面的芯片介绍,在此也不再介绍了。

现在我们讨论的问题是如何实现LED的驱动。无论是74LS192还是74LS161它们的输出都是二进制码,但是一般的LED管是不能直接识别这些二进制代码的,所以中间需要一个转化的桥梁,也就是我们说的CC4511译码器,通过CC4511进行译码,译码后就可以驱动共阴极LED(7SEG-COM-CATHODE)了。需要注意的是,连接的顺序不能错否则会出现乱码的情况,一定要检查是否按“顺序”连接!

4.2.3 如何实现24小时的整点清零

通过刚才的介绍,我们已经对进位、置零、驱动有了大致的了解,下面要介绍的是最核心的二十四时归零问题。回顾我们之前的所有介绍均是在十位满6(0110)的情况下发生的单独十位置零。那么这时就产生了两个问题,一、当满24的时候,我们不仅要置零2,同时也要置零4。二、我们需要15、16点以及以后的时间,就意味着我们并不能和刚才那样,在4设置置零端。

如何解决呢?经过分析我们发现,24点其实有其独特性,一天只可能发生一次24点,那么我们把置零的条件选择这两个同时满足如何呢?答案是可行的。如图,我们改变其置零的条件,当且仅当24时的时候发生置零!当时十位处于2的时候,由于2(0010)和4(0100)中有两个独特的“1”,我们可以将两个1同时满足才能达成置零的条件,所以我们只要再用一个与门就可以了,与门的结果(为1)直接接入MR清零端,达成时十位、时个位同时清零的目的。如图。

4.2.4 人工校时及整点报时功能的实现(本实验仅使用了74LS192)

经过刚才的介绍,时钟大致的计数功能已经初步完成了,那么如何随心所欲的调到我们目前的时间呢?解决方案很简单,通过LOAD(74LS161),PL(74LS192)进行人工校时(74LS161的置位端是上升沿有效,而74LS192的置位端是低电平有效)。

首先我们用一个单刀双掷开关控制所有的加载端,因为LOAD和PL端都是低电平有效,所以我们只需在校时的时候调到低电平,而不校时的时候调到高电平就可以了。注意:如果 1c6f5 你的计数器全部是74LS192那你只需要控制高低电平就可以了,但是如果使用了74LS161那么需要注意两点,一、74LS161的LOAD都需要给一个时钟信号(CLK)才能触发(因为是上升沿有效),二、给时钟信号(CLK)时,有几个74LS161就用几个开关分别去控制信号输入,否则会出现灰色悬空,电路无法正常运行!

如果你正常连接后,打开校时开关(调至低电平),输入时钟信号(闭合校时开关旁边的两个开关)然后拨动与D连接的开关就可以实现正常调时了(如图14),按照二进制码(8421)的大小进行拨动,同样需要注意的是,时十位、分十位是有上限的,如果你超过了肯定是无法正常显示的,切记。

整点报时。实现整点报时原理其实很简单,所谓的整点用数电的语言抽象过来就是进位,我们可以把“整点报时”理解为“进位报时”,每当发生时个位或时十位进位时(仅用时个位进位也可以)蜂鸣器响就报警。

第五章、系统仿真及调试

5.1 系统硬件仿真运行情况图

先运行电路,并按照要求进行了校时,然后关闭校时开关,电路正常运行。

最后谈谈几个小问题

1.在使用芯片74LS192,74LS161时,对于不使用的PL(置数),MR(清零),D0-D3端也不要让它悬空,可以给相应的电平让其不工作,但是若直接悬空,电路很可能因故障而无法运行。

2.多谐振荡器的输出端Q必须接一个保护电阻,否则会出现大量错误!

3.注意校时的顺序D3-D0分别是8421,若是LED直接变灰,很大可能是你超过了所调范围。

留下一个操作题供大家思考,如果我只有三片74LS192和三片74LS161(其他器件不限制)又该怎么做呢?

会水的芝麻
2018 12.20
湖北师范大学

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: