尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

四人智力竞赛抢答器设计:从74LS芯片选型到Multisim仿真调试

四人智力竞赛抢答器设计:从74LS芯片选型到Multisim仿真调试 简介西华大学数字电子技术课程设计《四人智力竞赛抢答器》完整设计说明书PDF面向电子、自动化等专业学生及数字电路爱好者内容围绕抢答器从需求分析到电路实现展开详细讲解基于74LS175触发器、74LS20与非门、多谐振荡器及74LS74分频电路实现抢答判定、锁存与计时控制的方案并配有总体框图、单元电路图和功能调试说明。资源包仅含1个PDF文件大小854KB涵盖前言、总体方案设计、单元模块设计、主要器件介绍、系统功能调试、总结等章节结构清晰。目前已有3438人学习下载适合正在完成数电课程设计或想学习触发器、计数器、组合逻辑综合应用的读者通过此文档可掌握抢答器设计中“优先锁存”“禁抢控制”“倒计时限定”等关键思路并借鉴其课程设计说明书写法。 前阵子帮人调一个数电课程设计题目就是“四人智力竞赛抢答器”。这个题目在电子信息类专业里出现频率极高从普通本科到专科院校基本都能看到它的身影因为“抢答”这两个字把数字电路里最核心的几个知识点全串起来了组合逻辑、时序逻辑、编码译码、锁存保持、秒脉冲产生、倒计时控制。看起来就是一个四路按键加数码管显示的小东西但真正动手搭的时候就会发现里面值得抠的细节多得超出想象。这篇东西就按我自己做这个课设的思路来写会把这套设计拆成需求、芯片选型、分模块电路、Multisim仿真调试、实物搭建踩坑几个部分尽量把“为什么这么接”“仿真能过为什么实物不行”这类问题说透给正在做或者准备做这个题目的同学一个可以直接抄作业的参考。1. 需求分析与整体方案选型1.1 题目到底要我们做什么功能需求逐条拆解很多同学拿到题目直接就打开Multisim开始拖芯片了这是最容易翻车的开头方式。做课设第一步永远是先把需求写清楚到底要满足哪些功能哪些是题目明确要求的哪些是可以作为加分项的扩展功能。四人智力竞赛抢答器的核心功能拆开看就这四条四名选手各有一个按键编号1到4谁先按下谁的成绩就被记录下来其他选手后按无效。抢答结束或者主持人复位之前锁存的结果不能被刷新显示保持第一抢按者的编号。主持人按下“复位/开始”按键后电路进入下一轮锁存器复位、显示清零。有倒计时功能比如30秒内必须在主持人发出开始指令后抢答超时无人抢答则自动判负或者给出提示。再加两个常见的扩展功能抢先违规判定主持人未说开始时抢答判犯规和时间到报警提示倒计时归零时蜂鸣器响。扩展功能在答辩时非常加分因为大部分同学只做了基础功能你能把违规检测和超时报警做出来老师通常会愿意多聊几句分数自然不一样。我在跟学生讨论的时候经常说一句话你连需求都列不清楚电路设计基本就是凭感觉。真实做的时候把上面这些功能一条条列在纸上再去对应芯片思路会清晰很多。1.2 方案对比为什么选择74系列中规模集成电路确定功能以后接下来面临方案选型。这个题目能用的技术路线其实有好几条各有利弊我分别说一下。第一种是纯分立元件方案用三极管、二极管、电容电阻去搭锁存和逻辑。这个方案的好处是“看起来硬核”但实际调试难度极大一个节点接触不良就得查半天而且抢答器的核心是逻辑控制不是模拟放大用三极管做逻辑完全没有必要。第二种是单片机方案用51或者STM32接按键和数码管编程实现逻辑。这个方案无论是功能扩展性还是开发速度都是最优的但由于这个课设的名字叫“数电课程设计”核心考察对象就是数字逻辑电路的硬件设计能力用单片机等于把题目核心变成了“嵌入式小练习”很多老师是不接受的。第三种就是最主流的方案基于74系列中规模集成电路搭建这也是我推荐的做法。香农说过一句话叫“简单是可靠性的前提”在教育类的课设里体现得非常明显74系列芯片把组合逻辑和时序逻辑封装成了标准功能块你只需要关注芯片之间的连接关系就能把“抢答优先级、锁存保持、编码译码、倒计时”这些抽象概念落到硬件上。而且Multisim里对74系列芯片的仿真模型非常完善仿真结果和实物行为高度一致调试也好做。具体芯片选型我给的组合是这样的功能模块芯片选型选型理由优先编码74LS1488线对3线优先编码器自带优先级逻辑四路输入只占用高四位输入低电平有效级联扩展容易锁存保持74LS279四路R-S锁存器异步置位抢答信号一到直接锁存不需要时钟不会出现“抢了但没锁住”的尴尬倒计时主体74LS192双时钟可逆十进制计数器加计数和减计数分开控制做倒计时很方便自带借位输出端BO归零检测直接可用译码驱动74LS48BCD码转七段码译码器输出高电平有效驱动共阴极数码管内部自带上拉和消隐控制秒脉冲产生NE555三片五角、ST典型应用电路成熟R、C参数可调输出频率稳定报警提示NE555 蜂鸣器555配置成音频振荡器通过三极管驱动蜂鸣器超时或违规时给出提示音这套组合里比较容易被忽略的是锁存器的选型。我见过很多人用D触发器74LS74做锁存思路是按键信号作为时钟把固定高电平打进去也能实现锁存但问题在于D触发器的时序要求非常严格按键按下瞬间产生的毛刺如果落在时钟建立时间窗口内可能锁进错误状态。74LS279是异步置位的R-S锁存器按下即锁存没有任何时序窗口问题排障成本低得多这也是我反复强调这个选型的原因。2. 核心电路分模块设计与原理解析2.1 抢答锁存模块一块74LS279定住“谁先按”抢答锁存是整个设计的核心也是评委老师最爱问的地方。先说清楚它要解决什么问题四个人同时面对一道题A先按了B后按结果只能显示A这个过程必须在纳秒级别完成判断靠人眼和手动开关是做不到的必须用硬件逻辑自动完成。我采用的抢答锁存模块这样搭建四个按键S1到S4分别接到74LS279的四个置位端1S、2S、3S、4S低电平有效四个互斥输出端1Q、2Q、3Q、4Q接到74LS148优先编码器的输入。主持人按键接一组R端用于对所有锁存器统一复位。按键没按下时S端通过上拉电阻保持高电平锁存器输出为低某个选手按键按下对应输出置高同时由于互斥锁存原理其他三个输出不会变化。这里有一个非常容易被问倒的细节74LS279本身是四个独立的RS锁存器它为什么会实现“互斥”答案是它本身不互斥互斥是靠74LS148的优先编码功能实现的。74LS148的输入端有自己的优先级当多个输入同时有效时它只编码优先级最高的那一路后面的按键信号虽然也让锁存器翻转但编码器不理会低优先级的输入。所以在电路上锁存器负责“锁住状态”编码器负责“只认第一个”两者配合才完成了抢答判定的全部逻辑。74LS148输出的是三位反码比如选手1按下时编码输出是110选手2对应101选手3对应100选手4对应011这个输出必须通过非门取反再送给74LS48译码器才能正确显示1、2、3、4编号。这里漏掉取反会导致数码管显示完全对不上仿真排查的时候很容易在这个地方卡半天。2.2 倒计时模块74LS192做减法计数的要点倒计时模块是第二个大块。功能要求是主持人按下开始键后倒计时从预置的时间比如30秒开始递减每秒减一减到0停止同时触发报警。74LS192是双时钟可逆十进制计数器它有一个加计数时钟输入端CPU和一个减计数时钟输入端CPD加计数时在CPU输入脉冲减计数时在CPD输入脉冲另一个时钟端要保持高电平。做倒计时秒脉冲必须接到CPD减计数时钟CPU接高电平。很多同学第一次接的时候都会把这两个端口搞反然后发现数字从0往上加变成正计时了。预置数功能是74LS192的另一个核心特性它的P0到P3引脚是并行数据输入当PL并行装载控制引脚被拉低时Q输出被强制装载为P端口的数值。我把四个P端口接到一个8421拨码开关上可以灵活设置初始倒计时秒数比如小题15秒、大题60秒这个设计在答辩现场非常好用老师让你调一个25秒出来你拨一下开关就行比改电路图简洁太多。倒计时到零的检测用74LS192的借位输出端BO。每减一次计数值如果从0再减时BO会输出一个负脉冲表示借位发生。我直接用这个信号去触发报警电路同时也可以把它反馈到秒脉冲的使能端在倒计时归零后停止计数防止数码管显示负数或者乱码。如果你选的是74LS190这类同步计数器留意它的借位输出极性可能不同连接前务必翻数据手册确认。2.3 译码显示与报警电路共阴数码管的匹配问题译码显示模块相对简单但恰恰是“看着简单、做起来翻车”最多的地方。74LS48是BCD码到七段码的译码器它有一个限制条件只能驱动共阴极数码管。如果误选了共阳极数码管接上以后表现是七段全暗或者全亮完全无法显示数字。显示部分我一般会在每个段输出串联一个220欧姆到330欧姆的限流电阻防止数码管过流这个保护在实物电路里非常必要。Multisim仿真时数码管自带了内阻模型不接限流电阻也能正常显示但到了实物板子上就很危险了轻则数码管寿命缩短重则直接烧坏。这也是仿真和实物差异最大的地方之一一定要记住。报警电路我用另一片NE555配置成音频振荡器工作在1kHz左右通过一个NPN三极管驱动有源蜂鸣器。1kHz选择在人耳最灵敏的频率范围内蜂鸣器声音响亮但不刺耳实际测试下来效果不错。报警的触发条件有两个一个是倒计时归零信号另一个是提前抢答的违规信号两个信号通过一个与门汇总后接到三极管基极。这里要注意的是NE555输出的驱动能力其实有限直接带蜂鸣器会拉低输出电平加三极管放大是稳妥做法。3. Multisim仿真搭建与调试实录3.1 先从“小模块”搭起分块仿真再级联很多同学的坏习惯是打开Multisim就把所有芯片一次性拖到图纸上然后连线连到眼晕最后跑仿真报一堆错误根本分不清是哪里出的问题。我做这种多级数字电路从来都是分模块搭、分模块验证确认一个再接一个这个习惯能在调试阶段省下大量时间。抢答锁存模块单独先做四路按键用逻辑电平开关代替输出接探针或逻辑指示灯测试逻辑很简单按S1灯1亮且只有灯1亮按S2灯2亮按S1后再按S2灯1保持不变这就说明锁存功能正常。然后单独做74LS148编码和取反电路验证输出编码和显示数字的对应关系。等这两个小模块都确认无误了再把它们连接起来通常一次就能通过。3.2 秒脉冲和振荡器NE555的参数计算NE555用作自激多谐振荡器的电路算是最经典的555应用了但我在帮人调试的时候发现很多人连线都会连对但算参数的时候对公式不熟选了一组完全无法产生所需频率的R、C值。NE555自激振荡的频率公式是f 1.44 / ((R1 2R2) * C)比如我需要1Hz的秒脉冲一个非常实用的参数组合是R11kΩR268kΩC10μF代入公式f 1.44 / ((1000 2 * 68000) * 0.00001) ≈ 1.05Hz误差5%对抢答器的倒计时精度来说完全够用。如果想微调把R2换成100kΩ电位器一边看示波器频率一边旋转调整调到精确的1Hz这个办法我推荐给每个做课程设计的同学。还有两个细节NE555的复位脚第4脚在不使用时一定要接高电平否则芯片可能一直处于复位状态输出永远是低控制电压脚第5脚一般串一个0.01μF电容到地用来滤除高频干扰不接也不影响基本功能但接了会更稳定。3.3 仿真运行时的几个典型翻车点Multisim里跑这套电路我见过最多的翻车点就三个第一个是数字芯片的电源没接。74LS系列芯片在Multisim里如果不接VCC和GND仿真可能会默认“忽略”看起来也能工作但一旦涉及到逻辑电平判断就可能出现莫名其妙的X未知态比如输出去驱动数码管时显示一片乱码。我的习惯是每一片芯片都显式接上5V和GND然后在电源处放一个5V电源和数字地标号不要散着乱接。第二个是按键抖动导致锁存误触发。仿真环境里用逻辑开关代替按键时没有这个问题但如果你在Multisim里用实际按键模型按下瞬间会产生多次电平跳变可能让锁存器锁进错误状态。仿真阶段可以先不用处理抖动但设计和实物阶段元器件选择时最好在按键两端并一个0.1μF电容或者在锁存器输入端串一个RC低通滤波器这会显著改善稳定性。第三个是74LS148的输入使能端EI容易悬空。EI第5脚是低电平有效必须接地才能使能编码器不接地的话编码器始终处于禁止状态输出全高什么都显示不出来。这个引脚在画原理图时特别容易被忽略但它恰恰是“功能完全不工作”的元凶之一排查时先看使能端。4. 调试、实物搭建与常见问题速查4.1 仿真和实物的差异别忘了芯片的VCC和GND仿真跑通了以后很多人满心欢喜搭实物结果一通电电路完全不干活然后开始怀疑人生。这里我想明确地说一句仿真不是万能的仿真和实物之间有几道天然的鸿沟你必须提前知道。最核心的一条就是芯片的供电连接。仿真软件为了省事有时候自动认为芯片已经接了电源但实物面包板上芯片的VCC和GND引脚必须你自己接漏接一个芯片它就成了一个“风扇叶片”什么都不干。我见过太多同学把芯片插到面包板上信号线接得非常漂亮唯独电源引脚没接最后怀疑芯片坏了换了一片新芯片还是一样不工作。第二条是电流驱动能力。仿真里LED、数码管、蜂鸣器都是理想模型给个高电平就亮就响但实物的LED需要5到10毫安的电流才能正常点亮CMOS输出端的驱动能力也就那么几毫安推负载不够就得加缓冲或者放大。数码管每一段都需要约10毫安74LS48每个段输出的驱动能力在数据手册上写着是约6毫安到15毫安不同厂商略有差异刚好够用但如果你用2英寸的大数码管最好加驱动三极管。第三条是电源纹波和地环路。面包板供电线太长、接触电阻不均匀会导致抢答瞬间出现电压跌落严重时芯片直接复位。解决方法是电源和地各用一根粗导线单独走尽量避免复用信号线走电源。4.2 常见问题排查表我把自己调试这套电路时遇到过的典型问题整理成了下面这个排查表每一行都是实际问题排查顺序也是从“最常见”到“最隐蔽”排列现象可能原因排查顺序按下任意按键数码管无显示74LS148的EI未接地、74LS48的LT测试端悬空先查使能端再查译码器控制端抢答后多个灯同时亮锁存器复位端悬空、按键抖动检查复位端上拉、加RC滤波编号显示顺序不对例如按1显示474LS148输出反码没有取反检查连接到74LS48之间是否经过非门倒计时不走或者往上加秒脉冲接到了CPU口而不是CPD口检查74LS192的双时钟连接倒计时到零不报警BO借位输出没有接对触发电路示波器看BO引脚有无负脉冲仿真正常实物不工作芯片VCC/GND漏接、电源电压不足先用万用表测每个芯片电源脚蜂鸣器声音太小或者不响555驱动能力不够、蜂鸣器类型选错加三极管放大、区分有源无源蜂鸣器4.3 节约时间的课设提效技巧最后分享几个我自己做课设时积累的提效技巧第一Multisim里尽量用“总线”连接替代大规模散线抢答锁存器和编码器之间的多条数据线用总线标号连接图面会清爽非常多排查起来也快。另外把模块用虚线框分开或者用不同的连线颜色区分电源、控制和数据信号这个习惯越早养成越好。第二实物搭建用面包板时按“电源区-锁存编码区-计数器区-显示区”分块走线每一个模块通电验证通过后再接入下一个不要所有模块一次性接完再上电这样的坏处是出了问题你根本不知道从哪查起。分块验证的思路甚至可以直接沿用仿真阶段的方案保持一致性。第三预置时间用拨码开关做成可调这是我在前面提到过的一个小设计但它对演示效果的影响非常大。答辩的时候老师可能会问你“如果要把时间改成40秒怎么办”你直接拨一下开关全场都能看到效果这个实操细节比很多语言解释都有说服力。如果条件允许还可以在拨码开关后面加一个二进制转BCD的电路让时间可调的档位更多。5. 写在最后的实操体会这个四人智力竞赛抢答器的课设我前前后后帮不同同学调过不下七八个版本从最早的全分立元件方案到后来的74LS系列方案再到加了违规检测和抢答时间显示的综合版本越做越觉得这个题目出的确实是好它把数电这门课里那些最容易糊弄过去的概念全部拉到了实操层面让你亲手摸一遍。我个人最深的体会是很多人第一眼看到“四路按键加数码管”会觉得这有什么好设计的真正动手以后才发现光是“如何让第一个信号被锁存并且抑制后续信号”这一个问题就足够你理解为什么数字电路里需要优先级编码器、需要锁存器、需要时序控制这些概念在书本上是一行字在面包板上是实实在在的电平跳变。如果你正在做这个题我的建议是别急着连线先把需求清单写在纸上把每个模块之间的输入输出信号标清楚再去对照芯片选型。一行信号对应一根线一个功能对应一块芯片这样的设计过程到最后焊接调试的时候会非常顺畅。本文还有配套的精品资源点击获取
返回列表