李菲 张晓荣
摘要:数字电子时钟是一种常见的电子设备,在介绍数字电子时钟基本工作原理和功能要求的基础上,使用Proteus仿真软件对数字电子时钟电路进行设计。在设计过程中,通过选择合适的中规模集成电路芯片、外围元器件和连线方式,设计了一款计时电路,用于实现数字电子时钟的时、分和秒的计数、显示以及时、分电路的校时功能。通过仿真验证,确保了数字电子时钟设计的正确性和可靠性,同时加深了对数字电路理论知识的理解。
关键词:数字电子时钟;Proteus;计数器;反馈识别码;校时
中图分类号:TP331.2 文献标识码:A
文章编号:1009-3044(2023)34-0041-04
开放科学(资源服务)标识码(OSID)
0 引言
数字电子时钟在现代社会中扮演着不可或缺的角色,广泛应用于个人家庭、公共场所、工业生产等各种领域,便于人们更好地掌握時间、提高工作效率,为日常生活带来便利和舒适。数字电子时钟是一种以数字形式显示时间的时钟装置,既可以通过数字显示方式,以小时、分钟和秒为单位,清晰直观地展示当前的时间信息,又可以对时、分、秒进行校时,获取准确的时间[1]。
数字电子时钟一般由时钟源、计数器、译码器、显示器及校时等部分组成,其工作原理不仅涵盖了数字电路的基本组成部分,还可以将零散的数字电路知识有机、系统地联系起来,既有助于培养综合分析和调试电路的能力,又可将理论知识运用到实践中,提升电路设计和调试方面的技能 [2]。
1 Proteus仿真软件介绍
Proteus仿真软件是由英国Lab Center Electronics公司出版的EDA工具软件,是一款常用的电子设计自动化(EDA) 软件,它主要用于电路设计、仿真和PCB布局设计。Proteus提供了一个强大的图形化界面,允许用户设计和模拟各种电子电路,包括模拟电路、数字电路和混合信号电路,用户可以添加和连接各种电子元件,并进行仿真分析以验证电路的功能和性能。
Proteus软件的用户界面主要由标题栏、菜单栏、工具栏、预览窗口、元件选择按钮、元件列表、模式工具栏、仿真调试按钮、工作区等部分组成,如图1所示。点击元件选择按钮中的放置元件按钮“P”,则会弹出元件选择窗口,在左上角“Keywords”元件关键字处输入需要的元件的英文名称或英文关键字,如想要搜索电阻可输入电阻的英文关键字“res”,界面的正中间则会出现元件搜索结果,选中需要的元件,右侧上方则会出现该元件预览图,右侧下方则会出现该元件封装图,点击“确定”按钮,则选中的元件将会出现在用户界面的元件列表区。在进行原理图绘制时,可将元件列表区中的元件选中并放置在原理图用户界面的工作区,进行相关属性设置并完成相应的连线,便可进行仿真调试,观察电路的运行状态。基于Proteus仿真软件的电路设计具有一定的实用价值和参考意义,可为电路的设计和开发提供有效的工具和指导。
2 数字电子时钟的设计
2.1 数字电子时钟结构框图
数字电子时钟能够以小时、分钟、秒为单位进行数字符号显示,同时为了确保时间的准确性和一致性,具有“时”和“分”的校正功能[3]。数字电子时钟电路设计框图如图3所示,计数器是数字电子时钟的核心器件,时计数器是24进制,分计数器和秒计数器是60进制,而计数器的工作又离不开时钟信号,晶振产生的脉冲信号经过分频后,可得到1Hz的时钟脉冲信号,送入秒计数器进行秒计数。在秒计数器完成一个计数循环时,秒计数器可向分计数器产生一个秒进位信号,使分计数器开始计数;在分计数器完成一个计数循环时,分计数器可向时计数器产生一个分进位信号,使时计数器开始计数。所有的计数结果可通过译码器驱动数码管显示出数字符号。当数字电子时钟显示异常时,可通过秒信号对分计数器和时计数器进行校正。故可通过数据选择器选择分计数器和时计数器的功能,若数据选择器选中秒或分进位信号进行输出,则数字电子时钟正常走时;若数据选择器选中秒信号进行输出,则对数字电子时钟的分计数电路或者时计数电路进行校准。
2.2 译码显示电路的设计
译码显示电路采用译码器来驱动数码显示管,将时、分、秒计数器的输出状态转换为七段数码管所需的电信号来显示十进制的数字符号,一个译码器驱动一个数码显示管显示一位数字符号。七段数码显示管由a、b、c、d、e、f、g七段发光二极管构成,有共阳极连接方式和共阴极连接方式。在本设计中,采用共阳极数码显示管,即七段发光二极管的阳极连接在一起,接高电平信号,若某一段发光二极管的阴极接低电平信号,则二极管导通,有电流流过,该段发光二极管被点亮,如图4所示。
低电平输出的译码器可以驱动共阳极数码管,本设计选用74LS247译码器。74LS247是一款集成4线—7段译码器,其中A、B、C、D为译码地址输入端,为BCD码输入;QA~QG为7段输出,低电平有效,与共阳极数码管相连;/BI为消隐输入端、/RBO为脉冲消隐输出端、/RBI为脉冲消隐输入端、/LT为测试输入端,均为低电平有效,在不使用时可接高电平信号。输入端的BCD码信号可通过74LS247译码器驱动共阳极数码管显示数字符号,译码显示电路设计图如图5所示。
2.3 计数器的设计
计数器是数字系统中应用场合较多的时序逻辑电路,常用于对时钟脉冲个数进行计数。随着集成电路的发展,使用集成计数器芯片可构建任何进制的计数器,这可以通过两种不同的方法实现,一种是反馈清零法,另一种是反馈置数法[4]。本设计采用反馈清零法,通过控制计数器的清零端口,在计数过程中截取某个特定的中间状态,将计数器从该状态返回到清零端口并重新进行计数,这样就可以实现清零操作,并使计数器重新开始计数。
数字电子时钟的计时电路由时计数电路、分计数电路、秒计数电路三部分组成,秒计数和分计数电路是60进制计数,时计数电路则是24进制计数。一般采用两个十进制计数器级联便可构成60进制或24进制计数器。采用不同型号的集成电路芯片,连线方式也不尽相同。本设计采用74LS90集成计数器芯片来实现时、分、秒的计数。
1) 74LS90芯片介绍
74LS90是一款二-五-十进制异步加法计数器,具有双时钟输入,并具有清除和置数等功能。该芯片具有14个管脚,其中CKB、CKA端为脉冲输入端;R0(1)、R0(2)为清零端口;R9(1)、R9(2)为置数端口;Q0、Q1、Q2、Q3为数据输出端口,用以连接译码器74LS247的输入端口;4号管脚和13号管脚悬空;5号管脚接电源VCC;10号管脚接地GND,如图6所示。当时钟脉冲信号从CKA端口输入,Q0输出为二进制计数;当时钟脉冲信号从CKB端口输入,Q3、Q2、Q1输出为五进制计数;当时钟脉冲信号从CKA端口输入,且Q0与CKB相连,则输出Q3、Q2、Q1、Q0为十进制计数。由于74LS90是一款异步计数器,采用反馈清零法进行级联使用,若构成N进制计数器,则其有效循环状态为0~N-1,产生清零信号的状态,即反馈识别码为N,当计数至N时,将N反馈至R0(1)、R0(2)清零端口,计数器将被复位,N状態有一个极短暂的过程,一旦计数器复位,该状态便消失了,计数器则从零再次开始计数。
2) 六十进制计数器的设计
数字电子时钟的“分”和“秒”均采用的是60进制计数,可采用两片74LS90级联成60进制。首先需要将两片74LS90连接成十进制计数,将Q0接至CKB端口,实现十进制输出。U1为十位计数,U2为个位计数,当来一个时钟脉冲信号,计数器加1,故U2芯片的14号引脚CKA接外部脉冲信号,U2芯片为十进制计数,当从0计数至9时,再来一个时钟脉冲,需要向高位进1,故需要将U2的最高位输出Q3连接至U1芯片的脉冲信号输入端CKB。十位计数芯片U1需要实现六进制计数,故6个输出有效状态为0000~0101,当反馈识别码为0110时,U1需被强制清零,即当Q2=1且Q1=1时,U1清零,可将Q2和Q1分别与U1清零端R0(1)、R0(2)相连,从而实现六进制计数,60进制计数器的设计原理图如图7所示。
3) 二十四进制计数器的设计
数字电子时钟的“时”采用的是24进制计数,故也需要两片74LS90芯片级联来实现,24进制计数器的设计原理图如图8所示。首先需要将两片74LS90连接成十进制计数,将Q0接至CKB端口,实现十进制输出。U1为高位,U2为低位,低位U2的最高位输出Q3连接至U1的脉冲输入端口CKA;当反馈识别码为“0010 0100”时,即U1计数至“0010”且U2计数至“0100”时,计数器将被清零,故可将芯片U1的Q1和芯片U2的Q2分别与U1、U2清零端R0(1)、R0(2)相连,当计数至“0010 0100”时,瞬间将计数器清零,计数器则从零开始再次进行计数。
2.4 校时电路的设计
当数字电子时钟刚开启使用或者出现时间误差时,需要对数字电子时钟进行校准。时间校准包括对小时和分钟进行校准,同时也可以对秒进行校准。若对秒电路进行校准,则校准的脉冲频率必须大于秒电路的脉冲频率,秒电路正常走时的脉冲频率为1Hz,则校准频率必须大于1Hz,校准脉冲频率较快,故一般情况下不对秒电路进行校准[5]。
分计数器的时钟信号是秒计数器的进位信号,即60秒进位一次;时计数器的时钟信号是分计数器的进位信号,即60分钟进位一次,若想对分计数器和时计数器进行校时,需要改变两个计时电路的时钟信号,让它们的计数频率变得很快,在这里可以选用秒脉冲信号作为时钟信号,来一次秒脉冲信号,分计数器或时计数器加1,直至跳变到标准时间,然后再切换到原来的脉冲信号进行正常计时。需要在秒信号和进位信号之间进行选择,故可采用数据选择器来实现。本设计采用集成电路芯片74LS153,74LS153为双4选1数据选择器,其作用相当于两个单刀四掷开关,其中X0~X3为数据输入端,/E为选通输入端,B、A为地址输入端,两路数据选择器共用地址输入端。当/E为低电平信号时,数据选择器正常工作,Y输出被选数据;当/E为高电平信号时,数据选择器无法工作。
校时电路的设计原理图如图9所示,第1路数据选择器用来校验分计数器,第2路数据选择器用来校验时计数器。当地址输入端B、A为“11”时,1X3和2X3有效,1路输出1Y=1X3,输出秒向分的进位信号,2路输出2Y=2X3,输出分向时的进位信号,计数器正常走时。当地址输入端B、A为“10”时,1X2和2X2有效,1路输出1Y=1X2,输出秒脉冲信号,2路输出2Y=2X2,输出分向时的进位信号,时计数器正常走时,分计数器实现校验功能。当地址输入端B、A为“01”时,1X1和2X1有效,1路输出1Y=1X1,输出秒向分的进位信号,2路输出2Y=2X1,输出秒脉冲信号,分计数器正常走时,时计数器实现校验功能。
3 基于Proteus软件的数字电子时钟设计
基于数字电子时钟的设计原理,在Proteus软件中进行原理图的搭建并进行仿真,仿真电路如图10所示。芯片U11和U12两片74LS90计数器连接成24进制计数,从而与两片74LS247译码器相连,驱动两个共阳极数码管显示小时计时;芯片U9、U10两片74LS90计数器连接成60进制计数,从而与两片74LS247译码器相连,驱动两个共阳极数码管显示分钟计时;芯片U7、U8两片74LS90计数器连接成60进制计数,从而与两片74LS247译码器相连,驱动两个共阳极数码管显示秒计时,秒电路的时钟脉冲信号为外部输入的标准1Hz脉冲信号。U13为双路四选一数据选择器74LS153,参考图9所示的接法分别与时、分、秒计数电路进行相连。
机械开关SW1和SW2将产生电平信号从而控制数据选择器的地址输入端,但机械开关通常都会存在一个抖动问题,即机械开关的一次闭合有可能产生两个及以上的有效脉冲信号,这将不利于时间的校正。故为了消除机械开关的抖动问题,选用一颗74LS175集成D触发器芯片U14,将机械开关的输出经过D触发器连接至数据选择器的地址输入端,从而确保数据选择器U13的地址输入端S1和S2有且仅有一个有效脉冲信号,从而对数字电子时钟进行准确的校时。
4 结论
数字电子时钟是一种计时装置,具有时、分、秒计时功能和显示时间功能。本文在Proteus仿真软件中,利用中小规模集成电路74LS247译码器、74LS90计数器、74LS153数据选择器、74LS175 D触发器等芯片以及外围电路设计了一款数字电子时钟,可以实现正常走时以及时间校准功能,具有更高的准确性和直观性。同时通过Proteus软件仿真电路,可以更加直观、深刻地理解组合逻辑电路和时序逻辑电路在实际应用中的工作原理,有助于理解数字电子时候的设计原理和运行过程,并对电路的功能和准确性进行测试和验证。
参考文献:
[1] 朱祥贤.数字电子技术项目教程[M].2版.北京:机械工业出版社,2022.
[2] 戴明,孟召议,张淑骅.Multism在数字电子技术实践教学中的应用[J].柳州职业技术学院学报,2019,19(5):80-85.
[3] 李玉姣.简易数字电子时钟的Multisim仿真设计[J].科技创新与应用,2017(18):42-44.
[4] 许春香,田伟华.数字电子技术[M].西安:西北工业大学出版社,2017.
[5] 张宇,陈静,龙波,等.一种数字时钟的校准方法及验证装置[J].计量学报,2020,41(12):1544-1551.
【通联编辑:梁书】