基于数字电子技术的抢答器

简易数字抢答器的设计

目录

1  设计目的及要求

1.1  设计目的

1.2  设计要求

2  设计方案       

3  电路设计

3.1  脉冲电路

3.2 裁判电路

3.3 选手抢答电路

3.4 倒计时电路

3.5 声光报警电路


几路抢答器只是取决于连接了多少个按键,其逻辑思路还是一样的。

设计目的及要求

1.1  设计目的

用数电知识来设计一个简易数字抢答器的基本功能。

1.2  设计要求

技术指标:

(1)具有4路以上抢答功能。

(2)数码显示抢答成功者的编号。

(3)违规抢答报警功能。

(4)具有抢答倒计时功能。

设计方案       

        当裁判开关未按下时,抢答器电路的显示数码管无法显示,可以预置倒计时电路的时间。当裁判开关按下时,倒计时电路开始倒计时,绿灯亮起。如果有选手拿下按键时,显示数码管显示选手的序号,同时倒计时电路停止倒计时、蓝灯亮起。如果没有选手在倒计时结束时按下按键,则红灯开始闪烁,蜂鸣器开始蜂鸣。

电路设计

3.1  脉冲电路

       采用ne555芯片来产生秒脉冲电路,其R1采用10K时,通过频率公式:F=1.43/[(R1+2R2)c2],当F=1时,可以求出R2为:66.5K,我们采一个68K电阻来实现。

3.2 裁判电路

    当开关未按下时,限制选手的输入和数码管的显示,使倒计时电路处于预置数状态。当开关按下时,解除数码管的限制,同时是倒计时电路开始倒计时,使声光报警电路的绿灯亮起。我们使用一个74ls04的非门来产生与之相反的信号,用于应对不同的电路。同时在与选手抢答器电路的74ls148芯片的信号来判断,选手的输入是否合法。

3.3 选手抢答电路

    设计思路:先用一个74hc573锁存器来锁存选手的输入信号,在经过一个74hc148优先编码器来将信号来对信号译成二进制信号,在将二进制信号通过4511译码器加数码管来进行显示。其中74hc573和74hc148是低电平有效电路,而4511译码器属于高电平有效电路,所以4511的显示结果和74ls573的信号是相反的。

    在裁判电路未开始时,锁存器输出高阻态的信号,同时数码管也处于消隐状态。当裁判电路开始时,74hc573处于使能状态,当有选手输入信号时,将信号转到74ls148优先编码器进行编码,同时输出148GS端输出一个信号给74ls573进行信号的锁存,防止抢答结果会被其他选手干扰。最后将编码好的二进制信号通过4511译码器和数码管对信号的显示。

        但是由于74ls148是高电平有效而4511译码器是低电平有效,开始时4511会对74ls148的信号会进行译码数码管显示数字7,为了保证显示结果的正确性,同时为了保证倒计时结束不能输出,对4511的消隐端加上一个二输入与非门来限制数码管的显示,只有选手的输入合法且倒计时为结束时,才显示选手的号数。

3.4 倒计时电路

    采用两个74ls192芯片级联,在采用两片4511芯片来进行译码,采用数码管来显示数字,74ls192芯片是可以预置数字,同时可以加减计数的芯片,通过高位的借位来表示,倒计时是否为00,当为00和有选手按下按键限制脉冲信号的输入,来实现计倒计时的暂停,同时控制预置端PL来实现倒计时的开始和时间的预置。

3.5 声光报警电路

        开始时,绿灯亮起,当有选手输入时,黄灯亮起,当倒计时结束时,红灯闪烁,蜂鸣按1s的时间蜂鸣。

结束语:

以下是proteus仿真的百度网盘连接仅供参考,如有问题请私聊

链接:百度网盘 请输入提取码
提取码:axt2

  • 26
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数字电子技术八路抢答器需要用到微控制器,以下是一个基于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; } ``` 以上代码中只实现了一个抢答器的功能,你可以根据需要进行扩展,增加更多的抢答器和指示灯。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值