硬件课程设计 篮球竞赛 30s 计时器


前言

笔者在半年前完成了硬件课程设计,在整理文档时翻到了之前所做的一些资料。因为似乎在搜索引擎上没有对该课程设计题目的详细教程,因此打算去写下这一篇博文。

一、内容及要求

[基本要求]
1)具有显示30S计时功能
2)设置外部操作开关,控制计数器的直接清零,启动和暂停/连续功能
3)在直接清零时,要求数码显示器灭灯
4)计时器为30S递减计时,计时间隔为1S
5)计时器递减计时到零时,数码显示器不能灭灯,同时发出报警信号

二、设计原理

①设计方案

查找相关资料,利用NE555定时器、74LS192计数器、CD4511译码器、74LS20与非门、74LS02或非门、数码管、光电二极管等构成秒脉冲发生器、计数器、译码显示电路、报警电路和控制电路,再将这些功能模块进行组合来设计并制作一个篮球竞赛30秒计时器

②分析原理

根据功能要求绘制原理框图如图所示该图包括秒脉冲发生器、计数器、译码显示电路、报警电路和控制电路等5个部分。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停/连续计数、译码显示电路的显示和灭灯等功能。
在这里插入图片描述
秒脉冲发生器产生的信号是电路的时钟脉冲和定时标准,但本设计对此信号要求并不太高,故电路可采用555集成电路或由TTL与非门组成的多谐振荡器构成。译码显示电路由CD4511和共阴极七段LED显示器组成。

为了保证满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器灭灯。当启动开关闭合时,控制电路应封锁时钟信号CP(秒脉冲信号),同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开时,计数器开始计数;当暂停/连续开关拨在暂停位置上时, 计数器停止计数,处于保持状态;当暂停/连续开关拨在连续时,计数器继续递减计数。另外,外部操作开关都应采取去抖动措施,以防止机械抖动造成电路工作不稳定。

三、模块分析

前面讲了一堆原理性的东西,可能听起来还是有些一知半解,没关系,接下来我们一个一个模块去拆解这个课程设计。

①秒脉冲发生器模块

首先,也就是这个装置最基础的一个部分,时钟模块。它提供了整个电路的计时基准。相信读者既然已经开始做课程设计了,那么对整个数字电路也应该有了较为全面的了解,我们这里就采用NE555装置设计这个模块。

根据题目要求,振荡器需要输出周期为1s的方波信号,因此将NE555采用多谐振荡器的方式接入电路

将 R1 连接到引脚7(Discharge),将 R2 连接到引脚6(Threshold)。连接 C 到引脚5(Control Voltage)并接地。将引脚1(Ground)连接到地。将引脚8(VCC)连接到正电源。根据给定的数值,可以计算出多谐振荡器的频率和占空比。根据公式:
在这里插入图片描述

因此,由 NE555 构成的多谐振荡器以1HZ的频率振荡。
在这里插入图片描述
以上是一个很基础的多谐振荡器,RST接出去是装置需要复位的功能。我们大概可以理解为用NE555去做的话这是一个固定的接法,要调整频率只需要改变最左侧两个电阻和一个电容的数值即可。

笔者这里有一个网站供读者自行计算:
https://www.elecfans.com/tools/555dingshiqipinlv.html

②计数器模块

在我们搞定了时钟模块以后,接下来就是开始计数了。因为题目要求是“倒计时“,因此我们选取74LS192这枚芯片。当CR=0,LD=1且加法时钟脉冲CPu=1时,则在减法时钟脉冲CPu上升沿作用下,计数器按照8421BCD码进行递减计数:1001~0000。

在这里插入图片描述
这样我们就搞定了递减计数的第一步了。

但是但是,我们还有一个问题,一块74LS192计数范围有限,它做不到一次计数30进制,因此我们就需要两块74LS192连在一起,用它的BO(借位)端进行级联。

BO端表示只要它计到了0,就会跳转,然后发送一次高电平。我们只需要做一个十进制,一个三进制,把它们连在一起,就构成了30进制的递减计数。相信读者朋友们对于什么是置数,什么是清零是有一定概念的,笔者对于这块就不多赘述了。

③显示译码模块

我们每次计数后还需要把当前74LS192的数字发送给数码管,让它显示出来。但是嘛,由上图可知,输出端它发出的是二进制,也就是0000,0001之类的,而数码管用的可是有七段,及ABCDEFG,由每一段的亮灭表示数字。

长下面这个样子:
在这里插入图片描述

这是它的原理图:

在这里插入图片描述

好在我们不太需要对这个问题担心,因为只需要把输出的四个引脚接在对应的译码芯片上,它会自动帮你转换成对应的七段数码管引脚输入,然后直接用数码管连在译码芯片上即可,这里选用的是CD4511。
在这里插入图片描述

在这里插入图片描述
注意,因为题目要求消隐按钮,但芯片上提供了这个功能。因此我们只需要单独开关控制消隐按钮的高低电平即可,因此无需担心。

④报警电路模块

还记得一开始提及的当计时器自己减到0时,需要发出声光报警吗?每次74LS192递减到0时它的借位信号也会发出一个电平,只需要当两个借位信号同时发出电平时,用一个与非门即可。这样当两个计数器同时递减到00时,我们便可以得知这个状态,然后启动蜂鸣器和二极管。

在这里插入图片描述

⑤外部操作开关

最后对于题目中的一些其他要求,我们添加几个外部操作开关即可满足。

第一个开关控制CP信号模块和计数器模块的计入,当将开关置地时,秒脉冲发生器模块与计数器模块断开,从而达到暂停计数和启动计数的功能。
在这里插入图片描述

第二个开关控制计数器模块的置数,当开关置地时,计数器重置为30,从而使得整个电路开始重新运转。

在这里插入图片描述

第三个开关为强制清零,根据题目要求,当按下此开关时,计数器将直接清零,同时译码显示电路需要消隐,因此除了将计数器模块的清零端接入开关以外,还需要根据CD4511的特点将开关电平取反后接入消隐端,从而达到题目要求。
在这里插入图片描述

第四个开关为控制声电报警开关,当关闭后报警信号只有发光二极管亮起,当开启时,发光二极管和蜂鸣器将同时报警。

在这里插入图片描述

四、电路仿真

在这里插入图片描述

如果看不太清没关系,在博文的最后放了资源的链接,有需要的读者可以自取。

五、电路实物图

由于笔者的手艺实在不太好,理论远超实践,但老师允许去打板。对于笔者来说,设计的理论知识不用耗费太长时间,每次占大头的是怎么去用电烙铁一点点布线,如果能采用PCB打板则可以大大提升效率。笔者用的是立创EDA,该公司对于新手有优惠券可以领取,对于10cm×10cm以内的PCB板,一个月可以免费打两次。

具体怎么打板,上传文件的,读者可以去B站自行搜索,点点手指即可,预计制作加邮递的时间大概在一周以内,如果采用与笔者一样的方式请自行把控时间。
同样的,PCB设计文件也放在了博文的最后。

以下是实物图展示,当然,学识有限,还有很多可以优化的地方,相信读者可以做的更好。
在这里插入图片描述

1.电路恢复至初始状态时,正常显示“30”。
在这里插入图片描述

2.拨动初始化开关,电路开始能够正常计时。
在这里插入图片描述

3.当计数器正常递减至“00”时,计时停滞,同时开关报警。
在这里插入图片描述

4.当拨动强制清零开关时,电路消隐,同时强制清零。
在这里插入图片描述
关闭强制清零开关,可以发现电路正常被清零。
在这里插入图片描述

六、注意事项

对于本设计来说,读者注意自备电源模块,杜邦线,单刀双掷开关以及芯片底座。

本设计相信存在着很多的冗余,不要把笔者写的奉为圭臬,相信你自己一定能够做的更好,以下是笔者的元件清单和文件链接。
在这里插入图片描述

仿真开关:按下空格即可重新置数到30S,A是暂停或启动计时,D是消隐。如果是其他进制,只需要更改74LS192两个芯片的置数段即可。

Multisim14仿真文件:
链接:https://pan.baidu.com/s/1f9KrUfIlYDauiMWFsRrpRw?pwd=POLY
提取码:POLY

立创EDA设计文件:
链接:https://pan.baidu.com/s/1piHlnCJvVdFIWDY8r3tq1Q?pwd=POLY
提取码:POLY

  • 52
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值