简介:这份四人智力竞赛抢答器完整课程设计文档,面向电子信息、自动化等专业需要完成课程设计或数字电路综合实验的学生。内容围绕抢答器、计时器、计分器三大模块展开,涵盖总体方案比较与论证、单元模块设计、主要器件介绍、系统功能调试及总结体会,并给出74373、14599、555定时器、减法计数器、十进制可逆计数器等器件的具体应用思路,还涉及无线抢答的拓展方向。压缩包内为1个doc文档,约857KB,结构完整、章节清晰,可直接作为课设报告参考或实验设计蓝本。目前已有4727人学习下载,适合需要快速理清抢答器设计逻辑、对照调试各单元电路并完成报告撰写的读者。
1. 四人抢答器课程设计:从锁存第一信号到倒计时计分的完整硬件链路
做过数电课程设计的人大多有个共识:抢答器看着简单,真动手焊出来能一次跑通的没几个。这份四人智力竞赛抢答器完整课程设计,核心要解决的是一个很具体的问题——四位选手几乎同时按键时,怎么准确锁住第一个有效信号,同时把其他人的按键全部封死,再用声光告诉全场谁抢到了。它面向的是正在做数电课设、需要一套可仿真可搭板的完整方案的人,也适合想拿它当模电数电综合练手项目的同学。整套设计拆成抢答、计时、计分三个模块,分别用 D 触发器、555 加 JK 减法计数器、74190 可逆计数器实现,最后合成一个系统。下面按我实际拆解和复现的顺序,把每个模块的选型理由、参数设置和容易翻车的地方讲清楚。
2. 抢答模块:D 触发器怎么锁住第一个按键并封死后来者
抢答模块是整个设计里最需要想明白的部分。要求写得很直白:能分辨第一个有效按键,并且阻断后续信号。这句话翻译成电路语言就是——需要一个能记住“谁先来”的存储单元,再加一套反馈逻辑把其他人的通道关掉。
2.1 为什么选 D 触发器而不是 RS 触发器
课程设计里给了两个方案。方案二用四个 RS 触发器加 74LS148 优先编码器,最后用数码管显示抢答者编号。方案一用四个 D 触发器加或非门,每个选手对应独立的声光指示。我选方案一的理由很实际:RS 触发器存在约束条件,R 和 S 同时有效时输出状态不确定,虽然抢答场景下理论上不会同时触发,但按键抖动或者走线干扰很容易制造出这种瞬态。D 触发器没有约束条件,抗干扰性能强,边沿触发方式也意味着它只在时钟跳变沿采样,对毛刺的容忍度更高。
具体型号用 74LS74,一片里有两个 D 触发器,四路抢答需要两片。它的真值表在正文里已经列了,关键行是 CP 上升沿到来时 Q 输出等于 D 输入,其余时间保持。这意味着只要把每个选手的按键信号接到对应 D 触发器的 CP 端,D 端接高电平,第一个上升沿一到,那一路的 Q 就翻成高电平并锁住。
2.2 封锁逻辑:或非门怎么把其他三路掐掉
光锁住自己不够,还得让其他人按了也没反应。做法是把四路 D 触发器的 Q 输出送进一个或非门网络,任何一路 Q 变高之后,或非门输出翻转,这个翻转信号接到其余三路 D 触发器的异步清零端(低电平有效的那个引脚)。一旦清零端被拉低,那三路 D 触发器就被强制复位并保持在复位状态,无论 CP 端怎么跳都不再响应。
这里有个容易忽略的细节:清零信号需要保持住,不能是脉冲。因为或非门的输出直接连到清零端,只要第一个 Q 维持高电平,清零信号就一直在,封锁就是持续的。主持人复位时,把第一个 D 触发器也清零,整个链路才释放。
2.3 主持人控制:三极管开关怎么实现“宣布开始前按键无效”
主持人没宣布开始前,抢答不能起作用。这个功能用三极管实现。NPN 三极管(比如 2N3904)的基极通过一个 10k 电阻接主持人开关,集电极接 D 触发器的 CP 端,发射极接地。主持人开关接通时,基极被拉到低电平,三极管截止,CP 端相当于悬空或通过下拉电阻保持低电平,按键信号传不过去。主持人断开开关,基极通过电阻接高电平,三极管饱和导通,CP 端被拉到接近地电位,按键产生的上升沿才能被 D 触发器识别。
提示:三极管这里当开关用,不要纠结放大倍数。关键是保证饱和导通时集电极-发射极压降足够小,截止时漏电流足够小。2N3904 在基极电流 1mA 左右就能饱和,10k 基极电阻配 5V 电源刚好。
2.4 声光指示的接法
每路 D 触发器的 Q 输出同时驱动一个发光二极管和一个扬声器驱动电路。发光二极管串 1k 限流电阻接地,Q 高电平就亮。扬声器不能直接接 Q 输出,驱动电流不够,中间加一级三极管放大或者用 555 构成的音频振荡器,Q 高电平使能振荡器,扬声器才响。正文里提到“声光伴随,具体到每一位”,意思就是四路各自独立,谁抢到哪一路的灯亮、哪一路的喇叭响,主持人一眼就能看出来。
3. 倒计时模块:555 脉冲源加 JK 减法计数器的参数怎么定
计时器要求倒计数,时间可预置,归零时给信号停止抢答。这个模块拆成三块:555 提供时钟脉冲,JK 触发器构成减法计数器,CD4511 加数码管负责显示。
3.1 555 多谐振荡器的频率计算与元件选型
555 接成多谐振荡器,输出连续方波作为计数脉冲。频率公式是 f = 1.44 / ((R1 + 2R2) × C)。正文电路图里 R1 标 0.6K,R2 标 2.4K,C 标 0.01uF,代入算一下:R1 + 2R2 = 600 + 4800 = 5400 欧姆,乘以 0.01uF 等于 5.4×10^-5,1.44 除以这个数大概是 26.7kHz。这个频率太高了,倒计时会跑得飞快。实际做的时候我一般把 C 换成 10uF 电解电容,R1 取 1K,R2 取 10K,算下来 f ≈ 1.44 / ((1000 + 20000) × 10^-5) ≈ 6.9Hz,差不多每秒 7 个脉冲,倒计时读秒的节奏比较自然。
注意:555 的 5 脚(控制电压端)要接一个 0.01uF 电容到地,否则比较器参考电压容易被电源噪声干扰,计数脉冲会抖。这个电容正文图里画了,但很容易在搭板时漏掉。
3.2 三位 JK 减法计数器的级联方式
三个 JK 触发器构成三位二进制减法计数器。每个触发器的 J、K 都接高电平(悬空即高),工作在翻转模式。级联的关键是:前一级的 Q 输出接下一级的 CP 端。注意是 Q 不是 Q 非。因为 JK 触发器在 CP 下降沿翻转,前一级从 0 变 1 时 Q 端产生上升沿,从 1 变 0 时 Q 端产生下降沿。减法计数需要的是借位信号,也就是前一级从 0 翻到 1 时(二进制减法里 0 减 1 需要向高位借位),Q 端的上升沿正好对应这个时刻。但 JK 触发器要求下降沿触发,所以实际接法是前一级的 Q 非端接下一级 CP,或者用 Q 端但确认触发器是上升沿触发型号。正文用的是 Q 端接 CP,那触发器应该是下降沿触发,前一级 Q 从 1 变 0 时产生下降沿,对应减法借位。
状态表正文给了:000→111→110→101→100→011→010→001→000。从 000 开始第一个脉冲变 111,相当于从 7 开始倒计。如果预置时间要可调,就在计数器输出和译码器之间加预置数开关,或者用可预置的减法计数器芯片替代 JK 触发器组。
3.3 CD4511 译码驱动与归零信号提取
CD4511 是 BCD 到七段译码驱动器,输入 8421 码,输出直接驱动共阴极数码管。JK 计数器的三个输出 Q2 Q1 Q0 接 CD4511 的 A B C 输入端,D 端接地。当计数器状态为 000 时,CD4511 输入 0000,数码管显示 0。
归零信号从哪来?正文说“JK 触发器输出另接一个与非门,与非门再接发光二极管”。三个 Q 输出接三输入与非门,当 Q2Q1Q0 全为 0 时,与非门输出高电平,点亮发光二极管,同时这个信号可以拿去封锁抢答模块或者触发扬声器报警。如果用的是 74LS10 三输入与非门,注意输入悬空会被当成高电平,不用的输入脚要接地或接 VCC,不能悬着。
4. 计分模块:74190 可逆计数器怎么实现加减 10 分
计分器从 100 分开始,答对加 10,答错扣 10。个位始终显示 0,只有十位和百位参与变化。这个需求用两片 74190 级联实现。
4.1 74190 的加减控制与预置数
74190 是单时钟同步十进制可逆计数器,U/D 引脚控制方向:高电平减法,低电平加法。预置数通过 LD 引脚和 P0-P3 输入设置。正文电路里 U1 负责百位,预置为 1;U2 负责十位,预置为 0。个位不接计数器,数码管直接接地显示 0。
主持人控制加分减分用一个单刀双掷开关:一端接高电平(减分),一端接低电平(加分),中间接 U/D 引脚。每按一次脉冲开关,CLK 端收到一个上升沿,计数器就加 1 或减 1。因为个位不参与,十位每变化 1 就代表 10 分。
4.2 十位到百位的进位处理
74190 的 RCO 引脚是进位/借位输出。十位 U2 从 9 加到 0 时,RCO 输出一个脉冲,这个脉冲接到百位 U1 的 CLK 端,百位就加 1。减法时类似,十位从 0 减到 9,RCO 输出借位脉冲,百位减 1。正文提到“与 Q0Q2 相连的与门将接收低电平信号输入到管脚 11 使置数重新变为 0”,这是利用 74190 的置数功能实现模 10 计数,但 74190 本身是十进制计数器,加到 9 再加 1 会自动回 0 并产生进位,不需要额外与门。这里可能是正文描述有误,实际搭板时按 74190 标准接法就行。
4.3 个位显示为 0 的 D 触发器处理
正文用了一个 D 触发器使个位显示 0。其实更简单的做法是:个位数码管的输入端直接接地,CD4511 输入 0000,永远显示 0。D 触发器在这里的作用可能是做某种使能控制,但从功能上看不是必须的。如果手头没有多余的 D 触发器,个位数码管直接接 4511 或者用电阻拉低输入就行。
5. 联调避坑:从仿真到搭板最容易翻车的五个地方
这个设计在仿真软件里跑通和实际搭板跑通是两回事。下面几条是我踩过的坑,按现象、原因、解决三段来说。
5.1 抢答后其他路还能触发
现象:第一个选手按下后灯亮了,但第二个选手再按,他的灯也亮,封锁没生效。
原因:或非门输出到清零端的连线没接对,或者清零端被其他信号拉高了。74LS74 的异步清零端是低电平有效,如果悬空会被内部上拉保持高电平,封锁信号进不去。
解决:检查或非门输出是否真的连到了其余三片 D 触发器的清零脚,用万用表测清零脚电压,抢答后应该接近 0V。如果用的是不同封装的 74 系列,确认引脚定义一致。
5.2 倒计时不走或者跳变
现象:555 输出有波形,但计数器不翻,或者数码管显示乱跳。
原因:555 输出频率太高,计数器响应不过来;或者 JK 触发器 CP 端接错,接成了上升沿触发但信号是下降沿。
解决:先用示波器看 555 输出频率,按前面算的改成几 Hz 级别。确认 JK 触发器型号的触发沿,74LS112 是下降沿触发,CP 端接前一级 Q 输出;如果是上升沿触发的型号,接 Q 非。
5.3 计分器加减方向反了
现象:按加分键分数减了,按减分键分数加了。
原因:74190 的 U/D 引脚电平逻辑搞反了。U/D 高电平是减法,低电平是加法,和直觉相反。
解决:把主持人开关的两端对调,或者在心里记住“高减低下加”。搭板前先用万用表确认开关拨到加分端时 U/D 脚是低电平。
5.4 数码管显示缺段或全亮
现象:数码管某些段不亮,或者所有段同时亮。
原因:CD4511 的 LT 和 BI 引脚没接对。LT 是灯测试,低电平有效,接低电平时所有段全亮;BI 是消隐,低电平时数码管熄灭。正常工作时两个脚都要接高电平。
解决:把 LT 和 BI 通过 1k 电阻接 VCC,不要悬空。共阴极数码管的公共端接地,如果误用了共阳极数码管,显示会完全相反。
5.5 仿真软件里找不到元件
现象:在 ISIS 里搜 74190 或者 CD4511 找不到,或者找到的模型引脚功能和实物不一致。
原因:仿真软件的元件库不完整,有些型号只有特定版本才有。
解决:用功能相同的替代型号。74190 可以用 74LS190 替代,CD4511 可以用 74LS47 加共阳极数码管替代,逻辑功能一样,只是数码管类型不同。替代后在仿真里重新验证一遍逻辑再搭板。
6. 从仿真到实物:我的验证流程和几个进阶改法
把电路在仿真里跑通只是第一步,真正搭板之前我习惯走一遍固定流程。先在 ISIS 里分模块验证:抢答模块单独测,用信号源模拟按键,看 D 触发器输出和封锁信号;计时模块单独测,用示波器看 555 输出和计数器状态;计分模块单独测,手动按脉冲看数码管变化。三个模块都对了再连在一起,连的时候注意电源和地的走线,数字电路对电源噪声敏感,每个芯片的 VCC 脚旁边并一个 0.1uF 去耦电容。
实物搭板时,按键抖动是最大的敌人。机械按键按下瞬间会产生几十毫秒的抖动,D 触发器可能误判为多次触发。解决办法是在每个按键两端并一个 0.1uF 电容,或者用 RS 触发器做硬件消抖。我一般两个都上,电容消抖加软件延时确认,双保险。
进阶改法有两个方向。一是把 JK 减法计数器换成可预置的 74LS192,倒计时时间可以用拨码开关直接设置,不用改电路。二是无线抢答的拓展要求,可以用 315MHz 或 433MHz 的无线收发模块替代有线按键,发射端用编码芯片,接收端解码后输出脉冲给 D 触发器。无线模块的响应延迟在毫秒级,对抢答器来说够用,但要注意四路同时发射时的同频干扰,编码地址要设成不同值。
从那以后我每次做数电课设,都强制自己先分模块验证再联调,绝不把没单独测过的模块直接拼在一起。这个习惯帮我省下了至少两次通宵查线的时间。希望帮到你。
本文还有配套的精品资源,点击获取