数字电子技术课程设计-八路抢答器

数字电子技术课程设计-八路抢答器

大学生活逐渐虚度光阴,不知道干了啥都已经快大三了~~~~

做的东西还是有一些bug,到最后答辩完事之后就开始复习期末考试了,没时间再整
有错误请指正

目录

  • 第一章 课程设计要求

    • 1.1 题目八路抢答器
    • 1.2 任务需求
  • 第二章 设计方案

    • 2.1 系统总体框图
    • 2.2 系统工作过程
  • 第三章 电路组成结构及说明

    • 3.1 电源稳压电路
    • 3.2 秒脉冲发生电路
    • 3.3裁判电路
    • 3.4选手抢答电路
    • 3.5倒计时电路
    • 3.6声光提示电路
  • 第四章 系统总成

    • 4.1 系统总电路构成
    • 4.2 系统操作说明
    • 4.3 仿真演示结果
  • 第五章 总结及实验心得

  • 第六章 附录

    • 6.1 参考文献
    • 6.2 系统总体BOM表
  • 第一章 课程设计要求

    • 1.1 题目
      • 设计一个八路数字抢答器,在比赛中可以准确、公正、直观地判断出第一抢答者,在基本功能的基础上可附加其他功能。
    • 1.2 任务需求
      • 设计一个八路数字抢答器,在比赛中可以准确、公正、直观地判断出第一抢答者,在基本功能的基础上可附加其他功能。
      • 2、用数码管显示抢答组号码。
      • 3、有音响提示装置,有灯光指示装置。
      • 4、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和剩余时间,并保持到主持人将系统清除为止。
      • 5、如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00.
      • 6、设计合适的直流电源为芯片供电。
  • 第二章 设计方案

    • 2.1 系统总体框图
      在这里插入图片描述
    • 2.2 系统工作过程
      • 1)接通电源;
      • 2)裁判设置倒计时时间;
      • 3)裁判按下开始抢答键,声光提示电路、倒计时电路、选手抢答电路工作,选手开始抢答;
      • 4)若有选手在规定时间内抢答,倒计时电路停止倒计时,显示当前所剩秒数,并锁定使之无法二次抢答,声光提示电路工作;
      • 5)若没有选手在规定时间内抢答,倒计时结束后,声光提示电路工作,抢答电路锁定,使之无法抢答;
      • 6)裁判再次按下开始键,清除编号显示,并发出提示,返回第一步。
  • 第三章 电路组成及结构说明

    • 3.1 电源稳压电路
      • 变压器降压电路
        根据理想变压器原副边匝数比公式n1/n2=V1/V2推出220/14≈15.7设初级绕组感量为L1=1H,则次级绕组的感量L2=1/(15.7^2)≈0.00406H。
        在这里插入图片描述
      • 全桥整流电路
        将交流电转换为脉动的直流电转换波形如下图
        在这里插入图片描述
      • 滤波电路
        减小输出电压的脉动,使输出电压平滑,在本次设计中采用330uf电容与10uf电容并联构成滤波电路(通道一为未滤波前 通道二为滤波后)
        在这里插入图片描述
      • 稳压电路
        使输出直流电压不受电网电压波动和负载变化的影响,在本次设计中采用LM7805集成降压IC,LM78代表输出电压为正电压,05则代表输出电压为5V,则得到了系统所需的5V直流电源
        在这里插入图片描述
    • 3.2 秒脉冲发生电路
      • 参数计算
        在本次设计中秒脉冲发生器我们采用的NE555来构成一个多谐振荡电路,振荡周期为1S,输出占空比为q=2/3,可由q=(R1+R2)/(R1+2R2)得出R1=R2,又有T=(R1+2R2)Cln2=1,若取C=10uF,则推出R1=R1=48K,所以我们取两个47K的固定电阻与一个可调的2K电阻串联构成该电路,电源采用5V使之输出最大电压不超过5V
      • 设计电路图
        在这里插入图片描述
    • 3.3 裁判电路
      • 裁判电路采用了一个JK触发器,J=K=1当我们给时钟输入端一个脉冲时就会使输出电状态改变一次,以此来控制整个系统的运行,脉冲则使用一个上拉的电阻加按键构成,未按下之前输出状态为高电平,按下之后输出为低电平,按键抬起来之后状态又恢复至高电平,另外我们在输出状态又多加了一个用户按键按下的输入判断语句,当裁判按下时,用户的按键按下才会有效。
      • 设计电路图
        在这里插入图片描述
    • 3.4 选手抢答电路
      • 选手抢答电路由选手按键、锁存器、优先编码器、加法器、译码器、数码管构成,当选手按下按键之后,此时,74HC573锁存器处于导通状态,也就是输出随着输入的变化而变化,信号传输至74HC148进行编码当编码结束后输出一个三位的二进制数,并且此时74HC148的GS端由高电平转变为低电平,EO由低电平转变为高电平,此时GS产生的信号被反送回去到74HC573锁存器的LE端使之锁存,输出状态不再改变,而74HC1448的EO产生的信号则送到倒计时电路使倒计时电路显示当前剩余时间且不再改变,而优先编码器74HC148所产生的三位二进制数据会经过74HC283加一之后送到4511数码管译码器使七段数码管显示当前抢答选手的编号,此处用74HC283将编码器编码的数据加一的原因是,74HC283产生的数据是从000 ~ 111也就是从0 ~ 7而这不符合我们的一般认知,对此数据加一之后变为从0001 ~ 1000也就是从1 ~ 8方便用户读取当前抢答者编号。
      • 选手抢答电路元器件真值表及引脚说明
        74HC573
        在这里插入图片描述
        D0~D7为数据输入端
        Q0~Q7为数据输出端
        OE为芯片使能端,低电平有效
        LE为数据锁存端,高电平导通,低电平截止
        真值表
        在这里插入图片描述
        74HC148
        在这里插入图片描述
        0~7数据输入端
        EI选通输入端,低电平有效
        A0~A2三位二进制数据输出端
        GS优先编码输出端
        EO选通输出端即使能输出端
        真值表
        在这里插入图片描述
        74HC283
        在这里插入图片描述
        A1~A4运算输入端
        B1~B4运算输入端
        CO低进位输入端
        S0~S3和输出端
        C4进位输出端
        真值表
        在这里插入图片描述
        CD4511
        在这里插入图片描述
        BI消隐输入控制端低电平有效
        LT测试输入端低电平有效
        LE锁定控制端低电平有效
        A1~A4 BCD码输入端
        a~g译码输出端高电平有效
        真值表
        在这里插入图片描述
      • 选手抢答电路设计电路图
        在这里插入图片描述
    • 3.5 倒计时电路
      • 倒计时电路在原有基础上增加了倒计时时间设置电路,采用74HC192计数芯片,此芯片具有双向计数功能我们在此次设计中采用减计数模式,两个74HC192之间采用级联的方式将原来的十进制计数扩展为一百进制计数,裁判可在0~100之间任意设置倒计时时间,数码管采用共阴极的数码管,数码管的译码采用4511译码芯片,该芯片当LE端为低电平时使数码管显示输入的数据,当LE为高电平时则会保持当前输入的数据,若输入数据改变数码管的显示也不会变,若倒计时结束,则U15-74HC30会输出低电平,这个低电平送到了U16-74HC00-A的输入端,这个与非门的另一个输入端是计数器的秒脉冲输入,当U15-74HC30的低电平信号过来时计数器的秒脉冲信号也无法进入,使计数器的输出保持为00,若有选手抢答,则在抢答电路中74HC148的EO端会输出高电平被送到倒计时电路的数码管译码器4511的LE端使输出时间保持。
      • 倒计时电路元器件真值表及引脚说明
        74HC192
        在这里插入图片描述
        PL为置数端
        CPU加计数端
        CPD减计数端
        TCU非同步进位输出
        TCD同步借位输出端
        P0~P3为计数输入端
        MR清除端
        Q0~Q3为数据输出端
        真值表
        在这里插入图片描述
      • 倒计时电路设计电路图
        +
    • 3.6 声光提示电路
      • 声光提示电路通过NE555构成了单稳态电路,在给TR一个脉冲时会触发输出的一段高电平使三极管导通,使有源蜂鸣器啸叫一段时间,在三极管的基极与发射极之间加了一个10K的电阻是为了放置误导通与加快开管段时间,而蜂鸣器的啸叫时间可以通过多谐振荡电路计算T=RCLn3=1.1RC此处R取20K,C取47uF可得T=1.1x2.0x104x4.7x10-5=1.034s。
      • 多谐振荡电路如下图所示
        在这里插入图片描述
      • 由于此电路只能通过一个下降沿的脉冲触发,所以我们在裁判控制端引入了JK触发器,在用户抢答端引入了按钮以产生脉冲,当然在时间结束时我们也需要一个脉冲,但是若我们使用计数器在减为00的时候产生的脉冲,会发现脉冲并不会产生,因为我们在计数器减为00的时候通过逻辑门使计数器的脉冲输入断开,使计数器不会从00转变为99也就不会产生脉冲了,最后经过我与队友的交流之后,算是想出了一个新的解决方案,但是这个方案又不是完全的解决了这个问题,就是当计数器计时到01的时候通过逻辑门产生一个低电平,当变到00的时候逻辑门的电平又回到高电平,以此来产生一个脉冲。
      • 目前的逻辑为,裁判按下蜂鸣器就会啸叫,倒计时结束蜂鸣器也会啸叫,当裁判按下,有选手抢答,则蜂鸣器啸叫,若倒计时结束,且无选手抢答,选手按下之后蜂鸣器不会啸叫,根据以上逻辑可列出以下真值表与逻辑式:
        先来描述一下各个状态的电平
        A 用户未按 高电平 || 用户按下 低电平
        B 时间没到 高电平 || 时间到了 低电平
        C 裁判按下 高电平 || 裁判未按 低电平
        Y 输出低电平蜂鸣器啸叫
        在这里插入图片描述
        Y
        = A’B’C’+A’B’C+AB’C’+AB’C’+AB’C+ABC’+ABC
        = A’B’+A’BC’+AB’C’+AB’C+ABC’+ABC
        = A’B’+A’BC’+AB’C’+AC+ABC’
        = A’B’+BC’+AB’C’+AC
      • 则可得以下单稳态触发逻辑电路
        在这里插入图片描述
  • 第四章 系统总成

    • 4.1 系统总电路构成
      在这里插入图片描述

    • 4.2 系统操作说明
      ① 开始仿真
      ② 裁判在倒计时电路的置数端开始设置倒计时时间
      ③ 裁判按下开始按钮
      ④ 选手在规定时间内按下抢答按钮或选手未在规定时间内按下
      ⑤ 裁判清零

    • 4.3 仿真演示结果

      • 倒计时时
        在这里插入图片描述
      • 时间未到选手抢答
        在这里插入图片描述
      • 时间已到选手未抢答
        在这里插入图片描述
  • 第五章 总结及实验心得
    此处省略N字

  • 第六章 附录

    • 6.1 资料来源
      (一)电子发烧友:74HC192、74HC148、74HC283、CD4511
      (二)百度百科:74HC573
    • 6.2 系统总体BOM表
      物料清单Responder
      标题:八路选手抢答器
      作者:Lesterbor-Lman
      创建时间:2021年5月11日
      修改时间:2021年6月22日
      元件总数:64
      在这里插入图片描述
      Author:Lesterbor
      青-2020-06-25
  • 22
    点赞
  • 230
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
基于数字电路设计八路抢答器原理图+说明文档+Multisim仿真源文件,可以做为你的学习设计,实验参考。 一、设计要求 本设计要求的时钟具有如下功能: 1、总共有八位选手参与抢答; 2、当主持人没有按下开始时,任何抢答都无效; 3、当主持人按下开始按键后,开始30秒倒计时,此时任何选手都可以参与抢答; 4、当第一个选手抢答成功后,会显示选手的编号,同时倒计时停止,并且后面的其他选手抢答均无效; 5、当倒计时到最后五秒时,指示灯会闪烁,并且如果倒计时到0了还没有选手抢答,那么此次无效。 二、总体思路 本设计主要分成两大块电路:抢答电路和倒计时电路。 抢答电路要解决如下几个问题: 1、计算出选手的编号,这个可以采用8-3编码器。 2、要保证只有第一个选手的抢答是有效的,后面其他的无效,这个就需要采取锁存电路,当还没有任何人抢答的时候,锁存器是不生效的,处于直通的工作状态,当有第一个人抢答了,锁存器就开始起作用,将该号码固定下来,后面的即使有人抢答,其编号也无法通过锁存电路,实现该电路可以采用4个D触发器。前三个触发器用来输出选手编号,后面一个触发器用来控制锁存器的工作状态(是直通还是锁存),只需要让D触发器的CLK端控制得当,就可以实现锁存。
数字电子技术八路抢答器需要用到微控制器,以下是一个基于STC89C52单片机的八路抢答器课程设计的框架代码。代码中使用定时器产生周期性中断,检测按键状态,实现抢答器的功能。 ``` #include <reg52.h> sbit KEY_1 = P1^0; // 抢答器1按键 sbit KEY_2 = P1^1; // 抢答器2按键 sbit KEY_3 = P1^2; // 抢答器3按键 sbit KEY_4 = P1^3; // 抢答器4按键 sbit KEY_5 = P1^4; // 抢答器5按键 sbit KEY_6 = P1^5; // 抢答器6按键 sbit KEY_7 = P1^6; // 抢答器7按键 sbit KEY_8 = P1^7; // 抢答器8按键 sbit LED_1 = P2^0; // 抢答器1指示灯 sbit LED_2 = P2^1; // 抢答器2指示灯 sbit LED_3 = P2^2; // 抢答器3指示灯 sbit LED_4 = P2^3; // 抢答器4指示灯 sbit LED_5 = P2^4; // 抢答器5指示灯 sbit LED_6 = P2^5; // 抢答器6指示灯 sbit LED_7 = P2^6; // 抢答器7指示灯 sbit LED_8 = P2^7; // 抢答器8指示灯 unsigned char key_state = 0; // 记录按键状态 void Timer0_Init(void) { TMOD |= 0x01; // 定时器0工作在模式1,16位定时器 TH0 = 0xFA; // 设置定时器初值,定时1ms TL0 = 0xB0; ET0 = 1; // 允许定时器0中断 TR0 = 1; // 启动定时器0 } void main() { Timer0_Init(); // 初始化定时器0 EA = 1; // 允许中断 while(1) { if(key_state == 1) // 检测到按键按下 { // 禁止定时器0中断 ET0 = 0; // 闪烁指示灯,表示该抢答器已经按下 LED_1 = !LED_1; // 清空按键状态 key_state = 0; } } } void Timer0_Handler() interrupt 1 { // 检测按键状态,按下为1,未按下为0 key_state = (KEY_1 && KEY_2 && KEY_3 && KEY_4 && KEY_5 && KEY_6 && KEY_7 && KEY_8) ? 0 : 1; } ``` 以上代码中只实现了一个抢答器的功能,你可以根据需要进行扩展,增加更多的抢答器和指示灯。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值