数字电子时钟——数字电路课设
本次课程设计要求使用中小规模集成电路设计一台能显示日、时、分秒的数字电子钟,其要求如下:
1.由晶振电路产生1Hz 标准秒信号;
2.秒、分为00—59六十进制计数器;
3.时为00—23二十四进制计数器;
4.周显示从1—日为七进制计数器;
5.可手动校正:能分别进行秒、分、时、日的校正。只要将开关置于手动位置,可分别对秒,分、时、日进行手动脉冲输入调整或连续脉冲输入的校正;
6.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500Hz),整点时再鸣叫一次高音(1000Hz)。
本设计为专业课设计,设计完成时间为2025.5,课程等级评价为优秀,本文提供给福州大学电子类学弟使用。
目录
摘 要
Abstract
前言
总体方案设计
1.1 方案介绍
1.1.1 设计大纲
1.2 方案比较与论证
1.2.1 方案比较
1.3 方案选择
单元模块设计
2.1 各单元模块功能介绍及其电路设计
2.1.1 晶振电路
2.1.2 时分秒日期计时电路设计
2.1.3 报时电路设计
2.1.4 手动校时电路设计
2.2 特殊器件介绍
2.2.1 CD4511数码管驱动芯片
2.2.2 74HC161计数器芯片
2.3 各单元模块的连接
系统调试
3.1 系统调试方法
3.2 系统调试内容
3.2.1 分块调试
3.2.2 整体调试
3.3调试中遇到的问题
系统功能与指标参数
4.1 系统功能
4.2 系统指标参数测试
设计总结
5.1 设计小结
5.2 设计收获体会
5.3 对设计完善的进一步意见
参考文献
摘 要
本文设计了一种数字电子时钟。该电子时钟采用晶振产生时钟信号,利用计数器芯片计时,驱动数码管显示星期、小时、分、秒数值,并设有手动校时、整点报时等功能。
设计实践中采用模块化设计思路,分为四个主要模块:由CD4511芯片与数码管连接构成的数码管驱动电路、以74HC161和若干与非门组成的时序逻辑电路、CD4060芯片与D触发器组合晶振电路、整点报时电路。最后加以验证整合,符合设计要求,效果良好。
关键词:数字电路 晶振 数码管 分频器 电子时钟设计
Abstract
This paper designs a digital electronic clock. The electronic clock uses crystal oscillator to generate clock signal, counter chip to time, drive digital tube to display the value of week, hour, minute and second, and has manual timing, whole point reporting and other functions.
In the design practice, a modular design approach was adopted, divided into four main modules: the digital tube drive circuit composed of CD4511 chips and digital tubes, the sequential logic circuit made up of 74HC161 and several NAND gates, the crystal oscillator circuit combining CD4060 chips and D flip-flops, and the hourly time reporting circuit. Finally, these components were integrated and verified to meet the design requirements, with excellent results.
Keywords: Digital circuit, crystal oscillator, digital tube, divider, electronic clock design
前言
本课程设计旨在设计并实现一款基于数字电路技术的多功能电子时钟。该电子时钟以晶体振荡器作为时钟信号源,通过计数器芯片实现精准计时,驱动七段数码管显示星期、小时、分钟和秒等时间信息,并集成手动校时和整点报时等实用功能。相较于传统机械时钟,数字电子时钟具有高精度、无机械磨损、显示直观等优点,广泛应用于日常生活、工业控制及科研领域。
本次课程设计要求使用中小规模集成电路设计一台能显示日、时、分秒的数字电子钟,其要求如下:
1.由晶振电路产生1Hz 标准秒信号;
2.秒、分为00—59六十进制计数器;
3.时为00—23二十四进制计数器;
4.周显示从1—日为七进制计数器;
5.可手动校正:能分别进行秒、分、时、日的校正。只要将开关置于手动位置,可分别对秒,分、时、日进行手动脉冲输入调整或连续脉冲输入的校正;
6.整点报时。整点报时电路要求在每个整点前鸣叫五次低音(500Hz),整点时再鸣叫一次高音(1000Hz)。
总体方案设计
1.1 方案介绍
1.1.1 设计大纲
本设计采用模块化设计思路,分为四个主要模块:由CD4511芯片与数码管连接构成的数码管驱动电路、以74HC161和若干与非门组成的时序逻辑电路、CD4060芯片与D触发器组合晶振电路、整点报时电路。
图1.1.1 整体框架图
采用分模块设计的方式,而非整体式设计,更有利于调试和测试,可以对某一模块进行调整而不影响其他部分,在初步搭建的过程中也可以确保上一步的电路正确,避免了因为一步错而导致步步错的“扣错扣子”的错误类型。
下图展示了整个课设的分离设计思路,其中重点是定时器电路,在实际操作中,我们将数码管驱动电路与定时器电路进行组合,分别对秒、分、时、日期电路进行逐步测试:
图1.1.2 分块设计图
1.2 方案比较与论证
1.2.1 方案比较
按照以上逻辑设计框架,我们主要针对标准时钟的产生形式进行方案的比较论证。
方案一:采用晶体振荡器以产生标准时钟信号,其系统框图如图所示。
图1.2.1 晶振产生标准时钟信号下整体模块框架图
方案二:采用NE555产生方波作为标准时钟信号,NE555定时器芯片输出的波形周期为
调节电阻以及电容大小,即可得到周期为T=1s的时钟方波,其原理图如图1.2.2所示。
图1.2.2 NE555方波生成电路原理图
1.3 方案选择
在方案二中,NE555电路因其结构简单、灵活性强以及紧凑的电路设计,提供了较高的性价比。然而,由于其工作原理,NE555产生的方波信号特性会受到外部电阻和电容的影响。这意味着,一旦外部环境条件(例如温度、湿度等)发生改变,NE555产生的方波信号也会随之改变,导致误差的产生。相比之下,晶振的频率作为石英晶体的固有特性,保持了相对的稳定性,不会受到环境温度和湿度的影响。因此,从标准时钟信号的精确度和稳定性角度考虑,方案一更为出色。
单元模块设计
2.1 各单元模块功能介绍及其电路设计
2.1.1 晶振电路
数字钟的关键是秒脉冲发生器,其精确度与稳定性直接影响着钟表的性能。本方案利用晶体振荡器产生的脉冲,通过整形和分频处理,生成了1Hz的秒脉冲。秒脉冲发生器的电路原理图如图所示。该电路通过连接20pF的电容和电阻来启动振荡。选用的晶振频率为32768Hz(Hz),通过15次分频操作即可得到1Hz的方波。然而,查阅CD4060芯片的技术文档后发现,其最大分频能力为14。因此,本设计额外使用D触发器进行二次分频,最终产生1Hz的秒脉冲,作为系统时钟信号。
图2.1.1 晶振秒脉冲发生电路原理图
CD4060 芯片最高只能进行13分频,因此需要接两级D触发器进行两次2分频,最终整体晶振电路如图所示,经过示波器检测D触发器最后的输出脉冲周期,得到标准1Hz的时钟信号。
图2.1.2 整体晶振电路
2.1.2 时分秒日期计时电路设计
本次设计采用四位二进制加法计数器74HC161,通过片的级联,辅以逻辑门完成高进制计数器的设计,运用CD4511驱动一位7段式共阴数码管,实现数值的显示。其中,74HC161的ENT、ENP脚需同时置于高电平,使其工作于计数模式正常工作,LOAD、CLR在未使用时需接高电平防止外界干扰。
(一)秒、分六十进制计数器设计
秒、分均采用六十进制计数,实现从数字00至59的逐个增加,并在59的下一状态回到00。秒和分的设计逻辑相同,因此可以简便电路设计。秒的个位数是标准的10进制计数器(0-9),采用清零的方式重置计数器,清零的同时向十位发送进位信号;秒的十位数是6进制计数器(0-5),同样采用清零的方式重置计数器,并向高位发送进位信号。分的设计思路与之相同,此处不再赘述。
图2.1.2 秒、分电路的设计
(二)小时:二十四进制计数器设计
小时采用二十四进制计数,实现从数字00至23的逐个增加,并在23的下一状态回到00。同样地,二十四进制加法计数器的设计采用了两片74HC161,辅以逻辑门分别设计为十进制加法计数器、三进制加法计数器。不同于六十进制计数器,六十进制计数器的十位为6时即可自身异步清零,并向下一级递送进位信号。但是二十四进制计数器当且仅当个位和十位同时满足条件时才能清零,因此需要重新设计逻辑运算,产生下一级的进位信号。
同样使用与非门实现高电平到低电平有效的转变。个位十进制计数器单元的设计同六十进制加法计数器。十位需显示0至2,当十位状态为2(0010)且个位状态为4(0100)时,逻辑门读取信号,为自身异步清零信号,同时为下一级时钟递送进位信号。此处个位采用4作为基准进行异步清零比个位采用3为基准同步预置数清零更为简便。
(三)周:显示“1”至“日”七进制计数器设计(创新点!)
周显示采用七进制计数,实现从“1”至“日”的逐个显示。由于仅需7个状态,因此“1”至“日”七进制加法计数器的设计仅采用一片74HC161。
由于显示内容是1、2、3、4、5、6、8(日)的特殊形式,在这里如果使用常规的置数或者清零在设计上都有困难。我们产生了一个巧思:可以让0代替日的显示,以0-6的周期轮换来代替原有的显示内容,0与8的区别其实只差一个g段的点亮。
图2.1.3 数码管管脚图
通过我们的观察,其实最简单的方式是接一个二极管,让 f 段被点亮时,带动 g 段的驱动,就可以在不影响其他数字的显示的条件下,实现我们所需要的数字轮换周期。
这样,我们就把一个复杂的送数显示,转换成了简单基础的0-6计数器,用最简单的清零方式就可以实现复杂的显示功能。
但是由于我们缺乏合适的二极管,因此我们只能使用与门来实现这个功能,当CD4511驱动数码管的“0”亮起时,带动 g 段数码管的显示。
以下的电路仿真是用预置数功能,将预置数设为1(0001)。在计数器输出端口使用逻辑门,在7(0111)时进行同步预置数,实现1-7的循环。接着,实现“日”的显示。BCD—七段显示译码器具有灯测试输入端,当输入其信号为0,即可将数码管的所有灯段全部点亮,实现“日”的显示功能。
2.1.3 报时电路设计
整点报时逻辑
整点报时即在数字电子时钟即将达到小时整点时进行报时提醒。根据课程设计要求,整点报时电路需在每个整点前鸣叫五次低音(500Hz),整点时再鸣叫一次高音(1000Hz)。本设计将鸣响时间规定为:59分时,54至58秒每秒鸣响一次500Hz低音,59秒时鸣响一次1000Hz高音。
整点报时的条件被划分为三个主要部分:分钟的数值信号为59、秒钟十位的数值信号为5以及秒钟个位的数值信号为4至8(或9)。
我们选用了74HC161计数器作为整点报时的计时电路。逻辑上,当满足59分50秒的条件时,计数芯片将被激活。我们通过与门逻辑来捕获使能信号:首先捕获分钟数值为59的信号,分别对分钟的十位5(0101)和9(1001)进行捕获。由于分钟的六十进制计数器设计中使用了预置数置零的方法,检测所需的信号正好对应于十位5和个位9的捕获,因此预置数置零信号可以直接连接到非门,然后进行与操作,从而提取出59分的就绪信号。随后,我们捕获秒钟十位数值为5的信号。由于秒和分的计数设计是相同的,因此可以同样直接使用秒信号的预置数清零信号,并通过取反操作来提取秒钟十位5的就绪信号。
在55-59秒的时候,要求蜂鸣器发出5声低音,在整点时发出一声高音,我们的思路是采用有源蜂鸣器,有源蜂鸣器的输入分别通过晶振电路的高分频和低分频引出来近似实现高低声音的触发。
图2.1.4 可参考电路图
2.1.4 手动校时电路设计
数字电子时钟的一个重要功能就是时间校正,使其与实际时间相匹配,真正应用于实际生活。手动校正的一种简单方法就是将前一级正常进位时钟信号更改为外部时钟,即更改为晶振脉冲调试,实现加速校时的功能。
通过拨码开关,可以实现手动校正的两种速度模式:正常速度和外部控制速度。当拨码开关为01时,开关让秒/分/时/日的信号输入设置为电子钟自带的时钟,即秒由晶振电路输入,分、时、日为前一位的进位信号输入。当拨码开关为10时,晶振不再作为时钟脉冲输入,而是由外部输入提供对每一个模块(秒/分/时/日)的控制。
手动校时电路的设计比较简单,只需要把秒模块、分模块、时模块、日模块的输入全部引出到开关就可以,拨码开关的两个输入分别是上一级的输入(秒模块为晶振输入)和外部脉冲输入。
图2.1.5 完整仿真图
2.2 特殊器件介绍
2.2.1 CD4511数码管驱动芯片
CD4511 是一片 CMOS BCD—锁存/7段译码/驱动器其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是 7 段输出,可驱动共阴LED数码管。
图2.2.1 CD4511管脚以及真值表
2.2.2 74HC161计数器芯片
74HC161是常用的四位二进制可预置的同步加法计数器,74HC161是CMOS型,具有内部预判进位,可用于高速计数,通过让所有触发器同时在时钟的正向边缘(CP)上进行时钟处理实现同步操作,它可以灵活的运用在各种数字电路,以及单片机系统中实现分频器等很多重要的功能。
图2.2.2 74HC161管脚图以及真值表
CD4060是由一振荡器和14位二进制串行计数器位组成,振荡器的结构可以是RC或晶振电路,CR为高电平时,计数器清零且振荡器使用无效。所有的计数器位均为主从触发器。在CP1(和CP0)的下降沿计数器以二进制进行计数。在时钟脉冲线上使用斯密特触发器对时钟上升和下降时间限制。
图2.2.3 CD4060芯片引脚图
2.3 各单元模块的连接
整体电路由晶振脉冲发生电路、计数显示电路、手动校正电路和整点报时电路四大部分组成。如下框图所示,考虑到框图的易读性,故其中隐去了逻辑门的展示,只留下了主要功能电路,可以非常明白直接地展示分模块电路设计以及连接关系。
图2.3.1 各单元模块框连接示意图
分为四个主要模块:由CD4511芯片与数码管连接构成的数码管驱动电路、以74HC161和若干与非门组成的时序逻辑电路、CD4060芯片与D触发器组合晶振电路、整点报时电路。最后加以验证整合,符合设计要求,效果良好。
系统调试
3.1 系统调试方法
设计调试中,我们采用分模块的设计调试思路,分别对各功能部分进行电路设计,再进行各部分的仿真调试,验证设计电路的正确性。验证无误后,将部分仿真电路整合到一起,进行仿真调试,检验整体电路的正确性。
仿真调试完成后,在实物连接中,也需要分模块进行电路的搭建、调试。当各个部分的实物调试完成后,同仿真操作进行整合,整合时需注意不要破坏各部分的整体结构和更改走线,确保整体出现问题时能回到部分调试。
图3.1.1 电路分模块设计仿真
3.2 系统调试内容
3.2.1 分块调试
1、晶振电路部分的调试
在仿真中调试晶振电路,需要按照计算公式算得准确的分频数,通过电路设计以及示波器验证得到准确的脉冲周期数值。
在实际电路中,也要准确按照电路仿真的设计来插面包板,对输出进行测试,确定到正确的脉冲频率,以保证电子时钟的正常运行。
2、秒/分/时/日计时器部分的调试
秒/分/时/日的仿真电路图在3.1中已经进行过了展示,此处不再描述仿真电路图。通过仿真软件中的频率发生器来作为输入,测试60进制、24进制、7进制能否正常运作,会不会出现错误的逻辑。
当确定所有分模块都能正常实现之后,进行组合,设计完整电路,并进行对比测试,确定完整电路的可运行性,接下来就进行实物电路的搭建。
实物电路的搭建也是按照仿真设计的思路。首先,先搭好CD4511数码管驱动电路,这一部分的电路比较简单,只是重复的操作,这里要注意的就是面包板空间的布局,由于面包板的特殊构造,决定了一块面包板上最多搭上 8 块 16pin 的芯片,所以我们要尽量的利用空间,减小电路体积,同时也能减少后面搭线带来的麻烦。其次,进行晶振电路的搭建,这一部分电路相对独立,可以直接进行测试,用示波器可以验证输出脉冲的周期,验证其达到 1Hz 即满足要求。接下来,是最重要的部分,进行计时电路的搭建,从秒开始搭建,确定秒电路能实现功能,再搭建分电路,以此类推,直到完成所有计时电路,这一过程中同样注意布局和布线,避免为后续调试造成困扰。
然后,完成报时电路,这一部分电路也较为独立,测试时不会影响其他部分电路,比较容易完成,我们选择将这块电路放在独立的面包板上,调试时更清楚。最后把每个模块的时钟输入线引出到开关,实现外部控制时钟校准电路。
3.2.2 整体调试
分块调试完成后,将两部分电路接在一起进行仿真测试,仿真电路如下图所示:
整体电路仿真图
电子时钟设计实物
如上图,通过电路设计原理图在面包板上通过跳线连接组成电路,图中包含晶振电路、计时器电路、报时电路、数码管驱动电路。
3.3调试中遇到的问题
在仿真调试中,遇到的最大问题就是在晶振的仿真调试中,由于Multisim的仿真速度非常慢,需要非常长的时间才能够看出波形,不便于观察。因此我们在确认晶振电路可以正常工作之后,使用脉冲发生器代替晶振电路的功能进行接下来的调试。
在实物电路调试过程中,晶振电路的振动经常不规律甚至停滞。这是由于晶振的引脚不够长,导致接触不良引起的现象。我们利用导线卡死晶振的位置,成功解决了晶振系统不稳定的问题。
同时,我们还遇到了计数器运行不稳定的情况,在正常运行过程中会突然发生清零的情况,最后我们根据引脚图比对,发现是74HC161的8号引脚松动,引起接触不良而导致74HC161在运行过程中自动归零。
我们接入整点报时电路后出现了计数器逻辑出错的问题,发现蜂鸣器总是滞后计数器一拍。检查电路后发现是与非门的连接逻辑错误,更改之后排除了问题。
系统功能与指标参数
4.1 系统功能
本文所述数字电子时钟设计具备如下系统功能:
1、由晶振电路产生稳定的1Hz标准秒信号,以及产生2Hz、4Hz调速信号。
2、能够实现六十进制秒、分,二十四进制小时,七进制星期(星期天显示“日”)的正常变化与进位跳转显示。
3、可以进行手动校正,实现秒、分以4Hz的频率单独调速,小时以2Hz的频率单独调速,星期以1Hz的频率单独调速。
4、能够在数字电子时钟即将达到小时整点时进行报时提醒。59分54秒至59分58秒每秒鸣响一次500Hz低音,59分59秒时鸣响一次1000Hz的长高音。
4.2 系统指标参数测试
系统电路搭建完成后,对设计指标要求的各部分功能进行测试。通过示波器测试,秒脉冲发生器能够产生1Hz、2Hz和4Hz的方波,完成设计指标1。通过校正电路直接可观测得,秒、分、时、日部分均能正常显示且显示周天为“日”,完成设计指标2。直接观测得,能够使用单次或连续脉冲对系统进行时间的校正,完成设计指标3。通过校正电路先调制59分50秒,可观测得在59分54秒~59分58秒蜂鸣器能够发出五声低音,59分59秒能够发出一次长高音,完成设计指标4。
设计总结
5.1 设计小结
本次课程设计双方均参与了电路的仿真、设计与调试全过程。本人主要负责设计、搭建、调试二十四进制小时计数器、七进制星期计数器、整点报时电路等部分。杨凯明同学主要负责六十进制分、秒计数器、晶振标准时钟信号发生电路等部分。二人共同完成对模块电路的整合与调试,基本稳定实现了所有功能。
5.2 设计收获体会
通过本次设计,我受益匪浅。我明白了设计实体电路不仅要有数据支撑基础,更要有软件仿真的支撑,在电路许多需要调整的地方,不知道怎么进行下去的时候,可以先进行软件仿真来模拟,从而找到解决方案。在实体电路设计中,为了减少电路整体的复杂程度,降低寻找问题源头的难度,可以把电路分模块进行测试,在每个部分都测试完成后,再进行整体连接测试,以保证系统的正常功能。只有目标和过程清晰,才能高效地、有针对性地去解决问题、实现功能。
在晶振的仿真调试中,由于Multisim的仿真速度非常慢,需要非常长的时间才能够看出波形,不便于观察。因此,我们采用半仿真半实物调试的方法,先将仿真电路的分频系数调低,观察仿真结果在较小分频系数下接线的波形是否正常(缩短仿真时间),再将实物电路按进行所需分频系数引脚接线验证。
此外,实体电路的设计也是重难点,如何高效的利用空间排布电子元件,如何布线能不影响问题分析以及方便后期调试改错,是我们需要注意的问题。好的设计布局与构思是实现优秀作品,减低工作难度的必备前提,合理的布局会让设计事半功倍。
5.3 对设计完善的进一步意见
最后,本次设计最终成功地完成了性能指标,同时兼顾了设计上的美观,基本实现了电子时钟功能。但是仍然有一些瑕疵,比如报时电路的最后一声高音设计不完善,需要进一步改进调整。还有一些更深层次的问题等待我们去考虑,如设计归零电路、自动校时电路等,还要考虑其他因素的影响,如布线、元器件的位置、电源的干扰等因素对实际性能(噪声)的影响,因此仍然需要深入的学习与思考。
参考文献
[1]李雨星.简易数字电子时钟设计[J].电工技术,2021,(18):22-23.DOI:10.19768/j.cnki.dgjs.2021.18.008.
[2]李菲,张晓荣.基于Proteus仿真软件的数字电子时钟设计与实现[J].电脑知识与技术,2023,19.
[3]邱关源. 电路[M].北京.高等教育出版社,2006
[4]阎石.数字电子技术基础[M].北京.高等教育出版社,2016