简介:这份四人智力竞赛抢答器完整课程设计面向电子信息、自动化等专业学生及需要完成课程设计或电子制作的学习者,围绕“准确分辨并锁定第一位抢答者”这一核心问题,给出从方案论证到系统调试的完整实现思路。压缩包内为1个doc文档,约857KB,按前言、总体方案设计、单元模块设计、主要器件介绍、系统功能调试、总结与体会、谢辞、参考文献及附录组织,便于按章节对照学习。内容涵盖抢答器电路、计时器电路与计分器电路三大模块:用D触发器或锁存器辅以逻辑门锁存首个抢答信号并阻断后续输入,以555定时器配合减法计数器实现可预置倒计时,用十进制可逆计数器完成答对加10分、答错扣10分的计分逻辑,并讨论了无线抢答的拓展方向。目前已有4727人学习,适合作为硬件课程设计的参考范本与器件选型、调试排错的对照材料。
1. 四人抢答器课程设计:从锁存第一信号到倒计时计分的完整拆解
做数字电路课设,抢答器几乎是绕不开的题目,但真正动手才发现,难点根本不在“谁会按得快”,而在“怎么把第一个按下的信号锁死、把后面三个人的信号彻底堵住”。这份四人智力竞赛抢答器课程设计,核心就是三块电路:D 触发器加三极管构成的抢答锁存、555 加 JK 触发器构成的倒计时、74190 可逆计数器构成的加减计分。它适合正在做数电课设、需要一份能照着搭、能仿真、能调试的完整方案的人。下面按“电路怎么搭、参数怎么定、哪里会翻车”的顺序拆开讲,中间穿插我踩过的坑,新手能跟步骤走,熟手能直接看边界条件。
2. 抢答锁存电路:D 触发器怎么锁住第一信号
抢答器的灵魂是“锁存第一、封锁其余”。原料里给的方案是用四个 D 触发器(74LS74)配四个或非门,再加三极管做主持人使能。这一章把电路逻辑、三极管开关状态和接线顺序讲透,照着搭就能复现。
2.1 为什么选 D 触发器而不是 RS 触发器
原料里对比了两种方案:方案一用 D 触发器加或非门,方案二用 RS 触发器加 74LS148 优先编码器。最后选了方案一,理由很实在——方案一每个选手都有独立的声光指示,谁抢到一目了然;方案二靠数码管显示编号,现场反应慢半拍。
从电路角度说,D 触发器在这里的用法是“上升沿锁存”:选手按键产生一个上升沿,D 端接高电平,CP 端收到沿后 Q 输出高电平并保持。关键在于,一旦某个 D 触发器输出高电平,这个高电平要立刻反馈回去,通过或非门把其余三路的 CP 或 D 端封死。RS 触发器虽然也能锁存,但它有约束条件(R、S 不能同时有效),现场按键抖动容易触发非法状态,D 触发器没有这个隐患,抗干扰更强。
提示:74LS74 是双 D 触发器,一片只有两组,四人抢答需要两片。别买成单片的 74LS75,那个是锁存器,边沿特性不一样。
2.2 三极管使能电路:主持人开关怎么接
主持人“开始/禁止”的控制,原料里是用三极管做开关。具体接法是:三极管基极通过电阻接主持人开关,集电极接 D 触发器的 CP 或信号通路,发射极接地。当主持人开关接地时,基极为低,三极管截止,信号通路断开,选手按键无效;开关断开时,基极被拉高,三极管饱和导通,信号才能传过去。
这里有个容易翻车的地方:三极管饱和导通需要基极电流足够大。假设用 2N3904,β 取 100,集电极负载按 1kΩ 算,基极电阻取 10kΩ 配 5V 电源,基极电流约 0.43mA,集电极电流约 43mA,足够让三极管进入饱和区。如果基极电阻取太大(比如 100kΩ),三极管停在放大区,输出电平不够干净,D 触发器可能误触发。
# 三极管工作点快速验算(以 2N3904 为例) # Vcc=5V, Rb=10k, Rc=1k, β=100 # Ib = (5 - 0.7) / 10k = 0.43mA # Ic_sat = 5 / 1k = 5mA # Ib * β = 43mA > Ic_sat,满足饱和条件上面这组验算不是让你真去跑脚本,而是搭电路前花两分钟算一下,避免三极管卡在放大区导致“有时能抢、有时不能抢”的玄学现象。我一般会在面包板上先单独测三极管这一级:主持人开关拨到允许,用万用表量集电极对地电压,应该接近 0V(饱和);拨到禁止,应该接近 5V(截止)。这一级对了,后面 D 触发器才有干净信号。
2.3 或非门封锁逻辑与接线顺序
封锁逻辑是:任一 D 触发器输出 Q 为高后,取四路 Q 做或非,输出低电平,这个低电平送到其余三路 D 触发器的异步清零端(或 CP 使能端),把它们按住。原料里写的是“通过或非门的判断将信号输送到其它选手的 D 触发器的 R 端并将其锁定”,实际接线时要注意 74LS74 的 R 端是低电平有效,所以或非门输出正好匹配。
接线顺序建议分三步走,别一上来全焊:
- 先接四路按键输入和 D 触发器,每路单独测试:按键按下,对应 Q 变高,LED 亮。
- 再接或非门反馈网络,测试“一路按下后,其余三路再按无反应”。
- 最后接三极管使能级,测试主持人开关对整体的通断。
# 分步调试时的关键测点(用万用表或逻辑笔) # 测点1:各 D 触发器 CP 端,按键瞬间应有上升沿 # 测点2:各 Q 输出,抢答成功后应保持高电平 # 测点3:或非门输出,任一路抢答后应变为低电平 # 测点4:三极管集电极,主持人允许时应接近 0V分步调试的好处是,出问题时能立刻定位到哪一级。血泪经验:有一次我把或非门输出直接接到 D 触发器的 D 端而不是 R 端,结果抢答成功后下一拍又被自己清掉,LED 闪一下就灭,查了半天才发现是引脚接错。所以接线前把 74LS74 引脚图打印出来,用荧光笔标出 R、D、CP、Q,比对着接。
3. 倒计时电路:555 脉冲源与 JK 减法计数器
倒计时这块,原料用的是 555 多谐振荡器出脉冲,三个 JK 触发器组成异步二进制减法计数器,再经 CD4511 译码驱动数码管。这一章讲清 555 的频率怎么算、JK 减法计数器怎么级联、到零怎么出提示信号。
3.1 555 多谐振荡器的电阻电容取值
555 接成多谐振荡器时,输出频率由外接电阻 R1、R2 和电容 C 决定,公式是 f ≈ 1.44 / ((R1 + 2R2) × C)。原料图里给的 R1=0.6kΩ、R2=2.4kΩ、C=0.01μF,代进去算一下:
# 555 多谐振荡器频率验算 # f = 1.44 / ((R1 + 2*R2) * C) # R1=0.6k, R2=2.4k, C=0.01uF # f = 1.44 / ((600 + 4800) * 1e-8) ≈ 26.7kHz26.7kHz 对于倒计时来说太快了,实际课设里如果要做“10 秒倒计时”,脉冲周期应该在 1 秒左右,也就是频率 1Hz 上下。常见做法是把 C 换成 10μF 电解电容,R1 取 1kΩ、R2 取 47kΩ,算下来 f ≈ 1.44 / ((1k + 94k) × 10μF) ≈ 1.5Hz,接近每秒一拍。原料里的 0.01μF 更像是仿真时为了快速看到计数变化而临时改的参数,实际搭板子要按现场节奏重新算。
注意:555 的 5 脚(控制电压端)悬空时比较阈值是 2/3Vcc 和 1/3Vcc,如果现场电源波动大,建议在 5 脚对地并一个 0.01μF 电容,稳定阈值,减少误翻转。
3.2 三个 JK 触发器级联成减法计数器
原料里用三个 JK 触发器构成三位二进制减法计数器,J、K 都悬空(相当于接高电平,工作在翻转模式),前一级的 Q 非端接下一级的 CP 端。这里的关键是“减法”怎么实现:JK 触发器在 J=K=1 时每个 CP 下降沿翻转,把前一级的 Q 非(而不是 Q)接到下一级 CP,就得到减法计数序列。
三位二进制减法从 111 往下数:111→110→101→100→011→010→001→000。原料表 3.3 给的就是这个序列。实际接线时,第一级 CP 接 555 输出,第一级 Q 非接第二级 CP,第二级 Q 非接第三级 CP。复位端统一接主持人清零开关,开始前拉低清零,显示 000 或预置值。
# JK 减法计数器级联接线要点 # F0: J=K=1(悬空), CP=555_OUT, Q非 -> F1_CP # F1: J=K=1(悬空), CP=F0_Q非, Q非 -> F2_CP # F2: J=K=1(悬空), CP=F1_Q非 # 三个 Q 输出接 CD4511 的 A/B/C 输入(注意位序)位序接反是常见翻车点:CD4511 的 A 是最低位,如果你把 F2 的 Q 接到 A,显示的数字就是反的。搭之前拿张纸把“哪一级对应哪一位”写清楚,接完用单脉冲发生器逐级打,看数码管是不是按 7、6、5、4 往下走。
3.3 到零检测与声光提示
倒计时到 000 时,要给出“时间到、停止抢答”的信号。原料的做法是把三个 JK 触发器的 Q 非端接一个与非门,当计数到 000 时,三个 Q 非都是 1,与非门输出低电平,驱动扬声器或 LED。这个逻辑是对的,但要注意:与非门输出低电平后,最好再锁存一下,否则下一个脉冲到来计数回绕,提示信号就断了。
我一般会在这个与非门后面加一个 RS 锁存(用两个与非门交叉),把“到零”状态保持住,直到主持人手动复位。这样现场不会出现“响一声就停、选手还在按”的尴尬。另外,到零信号同时应该去封锁抢答使能,原料里写的是“主持人断开倒计时器的开关停止计时”,实际可以做成自动的:到零信号直接拉低三极管基极,抢答通路自动断开。
4. 计分电路:74190 可逆计数器怎么加十减十
计分器要求从 100 分起,答对加 10、答错扣 10,个位不变,只动十位和百位。原料用两片 74190 加一个 D 触发器实现,这一章讲清 74190 的加减控制、级联进位和“个位锁零”的处理。
4.1 74190 的 U/D 端与预置数
74190 是十进制可逆计数器,5 脚 U/D 控制方向:高电平减法,低电平加法。预置数通过 P0~P3 输入,LD 端低电平有效时装载。原料里百位 74190 预置 1、十位预置 0,上电后显示 100。个位用 D 触发器固定输出 0,不参与计数。
实际接线时,两片 74190 的 CLK 并联接主持人脉冲开关(加分/减分按键),U/D 端并联接“加/减”选择开关。十位的进位/借位输出(TC 或 RCO)接百位的 CLK 或使能端,实现满十进一、借一当十。
# 74190 计分器接线要点 # U1(百位): P0=1,P1=P2=P3=0, LD 上电脉冲装载 # U2(十位): P0~P3=0, LD 上电脉冲装载 # U1.U/D = U2.U/D = 加/减选择开关 # U2.CLK = 计分脉冲, U2.RCO/TC -> U1.CLK(或使能) # 个位: D 触发器 Q 固定接 0,或直接数码管显示 0原料里提到“当第十个脉冲到来时,U2 输出 1010,与 Q0Q2 相连的与门将接收低电平信号输入到 11 脚使置数重新变为 0”,这是用与门检测 1010 状态强制回零,同时产生进位。这个做法在仿真里能跑,实际搭板子时要注意 74190 的 11 脚是 LD,低电平装载,与门输出要保证在 1010 时确实拉低。如果与门扇出不够或电平不干净,可能出现“加到 190 直接跳 100”的翻车。
4.2 加十减十的边界:从 100 扣到 90 怎么显示
从 100 开始扣分,第一次答错应该显示 90。这里涉及百位借位:十位从 0 减 1,向百位借 1,百位从 1 变 0,十位变 9,显示 090。74190 的借位输出会给出脉冲,但百位从 1 减到 0 后,如果继续扣,会变成 099 还是 000?原料没细说,实际课设里一般约定分数不低于 0,所以要在百位为 0、十位为 0 时封锁减计数脉冲。
常见做法是:百位和十位的 Q 输出全为 0 时,用一个或门检测,输出封锁 U/D 减方向的 CLK。这样扣到 000 就停住,不会回绕到 999。加分方向同理,可以设一个上限(比如 200 分)封锁加计数,避免溢出。
提示:74190 是十进制计数器,不是二进制,别和 74191 搞混。74191 是四位二进制可逆计数器,显示会出 A~F,数码管译码对不上。
4.3 数码管译码与显示驱动
原料用 CD4511 译码驱动共阴极数码管。74190 输出的是 BCD 码,CD4511 直接接受 BCD 输入,输出七段码。接线时注意 CD4511 的 LE(锁存使能)接低电平(透明),BI(消隐)接高电平,LT(灯测试)接高电平。如果数码管显示乱码,先查这三根控制脚,再查 A~D 输入位序。
限流电阻不能省。共阴极数码管每段串一个 330Ω~1kΩ 电阻到地,具体看数码管亮度。原料图里画了 1kΩ 排阻,实际用 470Ω 亮度更合适。电阻太小会烧数码管段,太大现场看不清,这个参数根据现场光线调。
5. 联调避坑:从仿真到实物最容易翻车的五处
仿真跑通不等于实物能跑。这一章列五个我在类似课设里真实踩过的坑,每条按“现象→原因→解决”写,照着排查能省不少时间。
5.1 按键抖动导致一次抢答锁死两路
现象:按下抢答键,两个选手的 LED 同时亮,或者本路 LED 闪一下又灭。原因:机械按键抖动产生多个上升沿,D 触发器在抖动期间被反复触发,或非门反馈还没建立就把相邻路也带起来了。解决:每个按键并联一个 0.1μF 电容到地做硬件消抖,或者在 D 触发器 CP 前加一级施密特触发器(74LS14)。软件仿真里可以不加,实物必须加。
5.2 555 输出频率漂移,倒计时忽快忽慢
现象:仿真时倒计时节奏正常,实物上电后数码管跳得忽快忽慢。原因:555 的定时电容用了电解电容,漏电流大、温漂明显,加上 5 脚悬空受电源噪声干扰。解决:定时电容换钽电容或 CBB 电容,5 脚对地并 0.01μF,电源端加 100μF 电解加 0.1μF 瓷片去耦。如果还漂,把 R1、R2 换成金属膜电阻,精度 1%。
5.3 74190 进位时数码管闪乱码
现象:加分到 190 再按一下,数码管瞬间显示乱码再跳到 200。原因:两片 74190 的 CLK 并联直接驱动,进位瞬间百位和十位同时翻转,CD4511 在中间态译出非法 BCD 码。解决:百位的 CLK 不要直接并到计分脉冲,而是接十位的 RCO 进位输出,让百位在十位稳定进位后再动作;或者在 CD4511 的 LE 端加一个短延时锁存,等计数稳定再更新显示。
5.4 主持人开关一拨就误触发
现象:主持人从“禁止”拨到“允许”的瞬间,某一路 LED 自己亮了。原因:三极管从截止到饱和的过渡期间,集电极电平缓慢变化,D 触发器 CP 端收到一个缓变沿,被当成有效触发。解决:三极管集电极到 D 触发器 CP 之间加一级施密特触发器整形,或者在 CP 端对地加 100pF 小电容滤掉缓变沿。另外,主持人的“开始”按键最好用带锁开关,不要用自复位按钮,避免手一松状态又变。
5.5 仿真元件缺失,用替代型号后逻辑不对
现象:仿真软件里找不到 74LS74,换了个 74HC74,结果时序全乱。原因:LS 是 TTL 电平,HC 是 CMOS 电平,输入阈值和输出驱动能力不同,和 555(双极型)混用时电平匹配出问题。解决:仿真里尽量用同系列器件,TTL 系统统一用 74LS 系列,CMOS 系统统一用 40 系列或 74HC 系列,混用时加电平转换。原料里提到“ISIS 存在仿真元件不齐的问题”,替代之前先查数据手册的 Vih/Vil 参数,别只看引脚数一样就换。
6. 进阶验证:用单脉冲逐级打,把黑匣子拆成可测点
课设验收时,老师不会只看“能不能抢”,还会问“你怎么证明它可靠”。我的习惯是搭完电路后不急着整体通电,而是用单脉冲发生器从后往前逐级验证,把每个模块当成黑匣子单独测。具体做法:先断开 555,用手动单脉冲打 JK 计数器的 CP,看数码管是不是严格按 7→6→5→4→3→2→1→0 走,每打一次记一次显示值,走完一轮再打第二轮看是否回绕;然后接回 555,用示波器量输出频率,和公式算的值对一下,偏差超过 10% 就调电阻;最后测抢答锁存,用单脉冲分别打四路 D 触发器 CP,每打一路确认其余三路被封锁,再按主持人开关重复一遍。
这套流程走下来,大概多花半小时,但能把“整体能跑但偶尔抽风”的概率压到很低。有个细节值得单独说:测 JK 减法计数器时,如果发现从 100 直接跳到 098 或者显示 8 之后不往下走,先查第二级和第三级的 CP 是不是接的前一级 Q 非而不是 Q,接错 Q 就变成加法计数器了,显示序列完全对不上。这个错误我在第一次搭的时候犯了,数码管从 7 开始往上加,现场愣了几秒才反应过来。
另外,如果课设要求做无线抢答的拓展,常见做法是在四路按键后各加一个无线发射模块,接收端解码后还原成四路电平信号,再送进原来的 D 触发器锁存电路。这一步的关键是接收端输出的电平要和 TTL 匹配,且四路解码不能有先后歧义,否则“谁先按”的判断就从触发器转移到了无线模块,锁存电路反而成了摆设。验证无线方案时,重点测两路同时按下的情况,看接收端输出是否稳定只出一路高电平。
从那以后我每次做这类多人抢答的板子,都会在焊接前先把四路按键的消抖电容和施密特触发器位置留出来,哪怕仿真里不需要,实物阶段也强制走一遍单脉冲逐级验证,不再相信“仿真过了实物就稳”。希望帮到你。
本文还有配套的精品资源,点击获取