首页 专栏文章正文

智力竞赛抢答器电路图 智力竞赛抢答器逻辑电路图

专栏 2022年11月14日 22:20 34 银路电子网

今天给各位分享智力竞赛抢答器电路图的知识,其中也会对智力竞赛抢答器逻辑电路图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求四路抢答器电路原理图

原理图:

工作原理 

抢答器由74LS148、74LS279、74LS48组成,LED显示器 开始时,当支持人按钮还未按是,CLR为0,所以输出Q1~Q4为0;

放光二极管全为灭的,当主持人按钮按下时CLR为1,可以输入,谁先抢答,相应的谁的灯亮,利用74LS279和74LS148输出的是cp等于0,锁存其他的,不能使其他的输出。

扩展资料:

利用51单片机建立四路抢答器

单片机,当然不只是51,51单片机是一种稍通用型的单片机,通过I/O口的定义,可以实现多种控制功能。

抢答器,原理:如果为四路,当其中任一路控下后,其他几路即失效,结果为第一次按下的,可以用数码管或是LED灯来显示,当然这里只是讲原理与编程,具体可以根据抢答器路数及显示方式更改程序即可。

源程序如下:

div class="e07b-ed40-b951-7e2e blockcode"blockquote/*用的是AT89S52开发板,独立按键接口如下,就用这四路。先按下的用LED灯来显示,对应第一个到第四个LED灯,其他再按无效,如果想再次实现,可手动复位单片机*/

#include reg52.h

sbit key1=P3^0;     //定义按键,根据需要连接线路,如独立按键(4路)

sbit key2=P3^1;

sbit key3=P3^2;

sbit key4=P3^3;

/*void delay(unsigned int cnt)       //如果有抖动或是干扰,可以用个小延时去抖

{

while(--cnt);

}*/

void main()

{

bit Flag;

while(!Flag)

{

if(!key1)

{

P1=0xFE;

Flag=1;

}             

/*LED灯来显示按下的键,第一个灯,我这里是8位LED灯,即:0111 1111,反过来读数为:1111 1110      即:0xFE *,P1口对应LED灯,给P1赋值*/

else if(!key2)

{

P1=0xFD;

Flag=1;

}       

//第二个灯亮 

else if(!key3)

{P1=0xFB;Flag=1;}     

//第三个灯亮 

else if(!key4)

{

P1=0xF7;

Flag=1;

}   

//第四个灯亮,意味着第四路首先按下

}

while(Flag);         //可以再加个I/O,控制Flag,这样初始化,继续抢答,还可以设计按下时的声音

}

数字电路设计:六人抢答器

用数字电路实现抢答器

一、设计目标

设计一个带有用户选手按下后,其他用户选手按下无效,同时,响警报、显示是谁按下的。由主持人开关复位的抢答器。

二、 基本功能

我设计的抢答器有如下功能:有人按下时,显示是谁按下的。同时,其他人再按下时电路不做任何处理。也就是说,如果有人按下以后,别人再按的话电路既不会显示是他按下的。

三、抢答器的组成

抢答器的一般构成框图如图2-1所示。它主要由开关阵列电路、触发锁存电路、编码器、7段显示器几部分组成。下面逐一给予介绍。

(1)开关阵列电路

该电路由多路开关所组成,每一竞赛者与一组开关相对应。开关应为常开型,当按下开关时,开关闭合;当松开开关时,开关自动弹出断开。

(2)触发锁存电路

当某一开关首先按下时,触发锁存电路被触发,在输出端产生相应的开关电平信息,同时为防止其它开关随后触发而产生紊乱,最先产生的输出电平变化又反过来将触发电路锁定。若有多个开关同时按下时,则在它们之间存在着随机竞争的问题,结果可能是它们中的任一个产生有效输出。

(3)编码器

编码器的作用是将某一开关信息转化为相应的8421BCD码,以提供数字显示电路所需要的编码输入。

图3-1 抢答器的组成框图

(4)7段显示译码器

译码驱动电路将编码器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

(5)数码显示器

数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管。本设计提供的为LED数码管。

四、抢答器的工作原理

(1)开关阵列电路

图1.2所示为8路开关阵列电路,从图上可以看出其结构非常简单。电路中,R1~R8为上拉和限流电阻。当任一开关按下时,相应的输出为低电平,否则为高电平。

图4-1 开关阵列电路

(2)触发锁存电路

图3-1所示为8路触发锁存电路。

图中,74HC373为8D锁存器,一开始,当所有开关均未按下时,锁存器输出全为高电平,经8输入与非门和非门后的反馈信号仍为高电平,该信号作为锁存器使能端控制信号,使锁存器处于等待接收触发输入状态;当任一开关按下时,输出信号中必有一路为低电平,则反馈信号变为低电平,锁存器刚刚接收到的开关被锁存,这时其它开关信息的输入将被封锁。由此可见,触发锁存电路具有时序电路的特征,是实现抢答器功能的关键。

(3)编码器

如图4-3所示,74HC147H为10-4线优先(高位优先)编码器,当任意输入为低电平时,输出为相应的输入编号的8421码(BCD码)的反码。

图4-2 8路触发锁存电路。

图4-3 10-4线优先编码器

(4)译码驱动及显示单元

编码器实现了对开关信号的编码并以BCD码的形式输出。为了将编码显示出来,需用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流。一般这种译码通常称为7段译码显示驱动器。常用的7段译码显示驱动器有CD4511等。

数码显示器件中的液晶数码管价格较高,驱动较复杂,并且仅能工作于有外界光线的场合,所以使用较少。大多情况下使用的是LED数码管。平时使用较多的LED数码有单字和双字之分。

LED数码管尺寸有大有小,一般小的数码管每个数字笔画为一个发光二极管,而尺寸较大的数码管一个笔画可能是多个发光二极管串接而成的,这时一般无法直接用译码驱动器直接驱动(其输出高电平一般为3V左右)。

(5)解锁电路

当触发锁存电路被触发锁存后,若要进行下一轮的重新抢答,则需将锁存器解锁。可将使能端强迫置1或置0(根据具体情况而定),使锁存顺处于等待歉收状态即可。

五、改进、简化设计

(1)功能简介

抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 ~ S7表示。设置一个系统清除和抢答控制开关S,该开关由主持人控制。

抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

(2)设计原理图

如图2-1所示为总体方框图。其工作原理为:接通电源后,主持人将开关拨到"清除"状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置开始"状态,宣布"开始"抢答器工作。定时器倒计时,扬声器给出声响提示。

选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关。

图5-1 总体设计

(3)电路设计

(1)

(2)

图5-2 完整电路

抢答器电路参考电路如图5-2所示。

该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。工作过程:开关S置于"清除"端时,RS触发器的

端均为0,4个触发器输出置0,使74LS148的 =0,使之处于工作状态。当开关S置于"开始"时,抢答器处于等待工作状态,当有选手将键按下时(如按下S5),74LS148的输出 经RS锁存后,1Q=1, =1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为"5"。

此外,1Q=1,使74LS148 =1,处于禁止状态,封锁其他按键的输入。当按键松开即按下时,74LS148的 此时由于仍为1Q=1,使 =1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。

如有再次抢答需由主持人将S开关重新置;清除"然后再进行下一轮抢答。74LS148为8线-3线优先编码器,表5-1为其功能表。

表5-1功能表

由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。

可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图4-4所示。(3)报警电路由555定时器和三极管构成的报警电路如图5-4所示。

其中555构成多谐振荡器,振荡频率fo=1.43/〔(RI+2R2)C〕,其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。

本电路给出了所有相关电路,对于发声报警电路只有左下角555电路。时序控制电路是抢答器设计的关键,它要完成以下三项功能:

1、主持人将控制开关拨到"开始"位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。

2、当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。

3、当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定时电路停止工作。工作原理:当555电路的到信号后,开始产生高低电压不同的方波,这些方波从555电路的输出端出来,经过510欧姆的保护电阻进入放大电路。信号经过放大后,再传给扬声器,这时信号已经不再是方波,而是一种连续变化的一种类似于简谐波的电信号。但是他的频率还是和555电路的输出端的频率一样。

图5-4 定时电路

图5-5扬声器设计

根据上面的功能要求,设计的时序控制电路如4-5图所示。

图中,门G1的作用是控制时钟信号CP的放行与禁止,门G2的作用是控制74LS148的输人使能端 。图11、4的工作原理是:主持人控制开关从"清除"位置拨到"开始"位置时,来自于图5-5中的74LS279的输出 1Q=0,经G3反相, A=1,则时钟信号CP能够加到74LS192的CPD时钟输入端,定时电路进行递减计时。

同时,在定时时间未到时,则"定时到信号"为 1,门G2的输出 =0,使 74LS148处于正常工作状态,从而实现功能①的要求。当选手在定时时间内按动抢答键时,1Q=1,经 G3反相, A=0,封锁 CP信号,定时器处于保持工作状态;同时,门G2的输出 =1,74LS148处于禁止工作状态,从而实现功能②的要求。当定时时间到时,则"定时到信号"为0, =1,74LS148处于禁止工作状态,禁止选手进行抢答。

同时, 门G1处于关门状态,封锁 CP信号,使定时电路保持00状态不变,从而实现功能③的要求。集成单稳触发器74LS121用于控制报警电路及发声的时间。

(4)需要器材:

1.数字实验箱。

2. 集成电路74LS148 1片,74LS279 1片,74LS48 3片,74LS192 2片,NE555 2片,74LS00 1片,74LS121 1片。

3. 电阻 510Ω 2只,1KΩ 9只,4.7kΩ l只,5.1kΩ l只,100kΩ l只,10kΩ 1只, 15kΩ 1只, 68kΩ l只。

4.电容 0.1uF 1只,10uf 2只,100uf 1只。

5. 三极管 3DG12 1只。

6. 其它:发光二极管2只,共阴极显示器3只。

六、其他设计思路

电路设计的思路方法多样可以满足不同需求。 而且我还考虑了很多不同的设计思路,这些不同的思路,他们所用到的器件也不同。下面的内容是我参考的其他的大致的设计方法

使用JK触发器实现用户选手的信号输入和电路的锁存,使一个用户选手输入信号后其他选手输入信号不再有效。在使用户选手输入信号的锁存电路组的输出信号,也就是JK触发器组的输出信号作为二-十进制译码器的输入信号产生十进制8421信号。

这个过程可以采用一些与非门电路完成也可以采用7442二-十进制译码器或者74148优先编码器他们都可以达到输入单信号,输出8421十进制信号的目的完成信号转换的作用。为完成下一个步骤做准备。

在完成上两个步骤以后,就可以将得到的8421十进制信号传送给显示译码器用来显示数字,这给数字应该是用户选手的序列号,来表示是谁按下的。这样,就可以实现一个新功能了。

同时,可以从很多地方取输出信号,传送给555电路用来产生一定频率的方波信号。这种频率应该是人类耳朵能够分辨的频率,超过或低于这个频率范围,普通人就听不见了,那么这种电路的设计就失去了意义。

从这个555电路传出来的方波信号,在通过保护电阻后,送到放大电路,将信号放大。这时,到达放大电路输出端的信号已经变成一种简谐波,不再是方波。在将输出端信号中的直流成分通过电容器予以去掉,就可以将信号送到蜂鸣器了。这时蜂鸣器也能发出声音了。就又实现了一个功能。

从任意一个能用的输出端例如从555电路的输入端取信号送到一个发光二极管,就可以实现如果有人按下以后,就发光的功能。也可以在送到一个放大电路上,接上一个功率较大的发光器件上,使得发光效果更明显。

另外,二-十进制转换器也可以用一些与非门来完成。如图6-1

图6-1 2-10进制转换电路

七、学年设计总结

实习给了我们一个很好的提高动手能力的机会。平常我们只是在头脑中去抽象的记忆、理解那些课本上的理论知识。有的理论知识很好懂,但是有的理论知识确是晦涩难懂的,甚至只是靠自己的死记硬背去记住。但是我们都知道,那样的记忆只是一时的,很快你就会忘记。而这次的实习却给了我们一个在实践中灵活运用知识的机会,我们通过在实践中发现问题,进而去书本中找相关的知识去解决问题,从而巩固了理论知识。那样的知识是你从根本上去认识它,理解它,所以你的记忆时间会很长。

设计一个智力竞赛抢答器可同时供8人参加比赛,他们的编号分别是0、1、2、3、4、5、6、7,各用一个抢答按钮

第一章抢答器设计功能分析

1.1 数字抢答器的概述

对于抢答器我们大家来说都不陌生智力竞赛抢答器电路图,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。

1.2 设计任务与要求

基本要求:

1. 给主持人设置一个开关,用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。

2. 抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答器按钮,编号立即锁存,并在LED数码上显示选手的编号,同时扬声器给出音响提示。此外,要封锁输入电路,禁止其智力竞赛抢答器电路图他选手抢答。

发挥部分:

1. 抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30秒)。当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。

2. 参加选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。

3. 如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00。

4. 选手如果在主持人按开始键之前违规抢答,系统报警,LED显示违规选手号码和FF,直到主持人按下停止键。

第二章 抢答器方案论证

抢答器的实现方式有种多样,通过纯电子器件搭建电路实现,如优先编码器,锁存器,555定时器译码器等,纯电子器件实现没有软件参与,调试简单,但是它不易于扩展和修改,而且电路结构复杂,调试困难电子,电子器件管脚很多,实际搭建起来费时费力,焊接很容易出错。于是,我想到了用单片机实现。单片机体积小价格低,应用方便,稳定可靠。单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。由于单片机本身不具有软件编译测试的功能,我们需要借助其他软件编译,将编译好的程序“烧”入单片机内。

在实际电路设计中,需要先通过仿真软件测试电路以及编译的程序,检查外围电路设计是否合理,软件编译是否正确,以及软件和硬件电路能否正常配合工作,能否准确的实现所设计的功能。如果测试通过,电路仿真没有问题能完全实现功能的话就可以实际的做板子的焊接工作了。在老师的指导下我选择了常用的单片机仿真软件proteus6.9以及keil 进行仿真。

第三章 硬件电路设计

3.1总体设计

根据抢答器的基本功能,可以设计出如下的单片机外围电路:

图3-1 总体设计

如图3-1,P3.0为开始抢答,P3.2为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器(用绿灯代替)输出为P3.6口。P3.2为时间加1调整,P3.3为时间减1调整。

3.2 外部振荡电路

图3-2 外部振荡电路

一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。

3.3 复位电路的设计

单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4所示:

图3-3 复位电路

在方案中使用到了硬件复位和软件复位两种功能,由上面的硬件复位可使寄存器及存储器的值都恢复到初始值,而前面的功能提到了倒计时间需要有记忆功能,该功能实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。

3.1.4 显示电路的设计

显示电路使用了七段数码管7SEG-MPX4-CC,它是共阴极的,由高电平点亮。

图3-4 阴极七段数码管

4.1.5 按钮输入电路的设计

抢答器的输入按钮使用常开开关,

图3-5 抢答按键

这些常开开关组成了抢答按键,硬件电路简单,在程序设计上也不复杂,只要在程序中消除在按键过程中产生的“毛刺”现象就可以了。这里采用最常用的方法即延时法,其的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。

3.1.6 发声

这里能利用程序来控制单片机P3.6口线反复输出高电平或低电平,即在该口线上产生一定频率的矩形波,接上扬声器就能发出一定频率的声音,再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使扬声器发出不同的声音。

第四章 系统软件设计

4.1 程序系统结构图

硬件电路确定后,软件的编程要与硬件相匹配,软硬件才能结合完成所要实现的功能。由功能分析得到以下的软件结构图:

图4-1 软件系统结构图

4.2 程序流程图

整个程序主要由定时器T0、定时器T1、外部中断0和主程序构成。

定时器T0用于使扬声器发声,当需要响铃时,把响铃标志位置一,每次中断都对P3.7取反,扬声器发声,改变定时器初值,可改变扬声器频率。定时器程流程图如下:

图4-2 响铃程序流程图

定时器T1用于倒计时,每次中断为50ms,当计数标志为20时即为一秒,显示数字减一。其流程图如下:

图4-3 倒计时中断流程图

外部中断0用于调整倒计时时间,流程图如下:

图4-4 调整抢答时间流程图

主程序协调三个中断一起工作,实现抢答功能,其流程图如下:

图4-5 主程序流程图

附录:

程序代码:

P3.0为开始抢答,P3.1为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2的低三位口,蜂鸣器输出为P3.6口。

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP INT0SUB

ORG 000BH

AJMP T0INT

ORG 001BH

AJMP T1INT

OK EQU 20H ; 抢答开始标志位

RING EQU 22H ; 响铃标志位

ORG 0040H

MAIN: MOV R1,#0FH; 初设抢答时间为15s

MOV R2,#0AH; 初设答题时间为10s

MOV TMOD,#11H; 设置未定时器/模式1

MOV TH0,#0F0H

MOV TL0,#0FFH; 越高发声频率越高,越尖

MOV TH1,#3CH

MOV TL1,#0B0H; 50ms为一次溢出中断

SETB EA

SETB ET0

SETB ET1

SETB EX0

SETB EX1; 允许四个中断,T0/T1/INT0/INT1

CLR OK

CLR RING

SETB TR1

SETB TR0; 一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了

查询程序:

START: MOV R5,#0BH

MOV R4,#0BH

MOV R3,#0BH

ACALL DISPLAY; 未开始抢答时候显示FFF

JB P3.0,NEXT

ACALL DELAY

JB P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询

ACALL BARK;按键发声

MOV A,R1

MOV R6,A; 送R1-R6,因为R1中保存了抢答时间

SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答

MOV R3,#0AH; 抢答只显示计时,灭号数

AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面

NEXT: JNB P1.0,FALSE1

JNB P1.1,FALSE2

JNB P1.2,FALSE3

JNB P1.3,FALSE4

JNB P1.4,FALSE5

JNB P1.5,FALSE6

JNB P1.6,FALSE7

JNB P1.7,FALSE8

AJMP START

非法抢答处理程序:

FALSE1: ACALL BARK; 按键发声

MOV R3,#01H

AJMP ERROR

FALSE2: ACALL BARK

MOV R3,#02H

AJMP ERROR

FALSE3: ACALL BARK

MOV R3,#03H

AJMP ERROR

FALSE4: ACALL BARK

MOV R3,#04H

AJMP ERROR

FALSE5: ACALL BARK

MOV R3,#05H

AJMP ERROR

FALSE6: ACALL BARK

MOV R3,#06H

AJMP ERROR

FALSE7: ACALL BARK

MOV R3,#07H

AJMP ERROR

FALSE8: ACALL BARK

MOV R3,#08H

AJMP ERROR

倒计时程序(包括有效抢答程序):

COUNT: MOV R0,#00H; 重置定时器中断次数

MOV TH1,#3CH

MOV TL1,#0B0H; 重置定时器

RECOUNT: MOV A,R6; R6保存了倒计时的时间

MOV B,#0AH

DIV AB; 除十分出个位/十位

MOV 30H,A; 十位存于(30H)

MOV 31H,B; 个位存于(31H)

MOV R5,30H ; 取十位

MOV R4,31H ; 取个位

MOV A,R6

CLR C

SUBB A,#07H

JNC LARGER ;大于5s跳到LARGER,小于等于5s会提醒

MOV A,R0

CJNE A,#0AH,FULL;1s中0.5s向下运行

CLR RING

AJMP CHECK

FULL: CJNE A,#14H,CHECK ; 1s时,响并显示号数并清R0,重新计时

SETB RING

MOV A,R6

JZ QUIT ; 计时完毕

MOV R0,#00H

DEC R6 ; 一秒标志减1

AJMP CHECK

LARGER: MOV A,R0

CJNE A,#14H,CHECK ; 如果1s向下运行,否者跳到查"停/显示"

DEC R6; 计时一秒R6自动减1

MOV R0,#00H

CHECK: JNB P3.1,QUIT; 如按下停止键退出

ACALL DISPLAY

JNB P1.0,TRUE1

JNB P1.1,TRUE2

JNB P1.2,TRUE3

JNB P1.3,TRUE4

JNB P1.4,TRUE5

JNB P1.5,TRUE6

JNB P1.6,TRUE7

JNB P1.7,TRUE8

AJMP RECOUNT

QUIT: CLR OK ; 如果按下了"停止键"重新回到开始

CLR RING

ACALL BARK

AJMP START

正常抢答处理程序:

TRUE1: ACALL BARK; 按键发声

MOV A,R2

MOV R6,A; 抢答时间R2送R6

MOV R3,#01H

CLR OK;

AJMP LOOP2

TRUE2:ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#02H

CLR OK

AJMP LOOP2

TRUE3:ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#03H

CLR OK

AJMP LOOP2

TRUE4:ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#04H

CLR OK

AJMP LOOP2

TRUE5: ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#05H

CLR OK

AJMP LOOP2

TRUE6: ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#06H

CLR OK

AJMP LOOP2

TRUE7: ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#07H

CLR OK

AJMP LOOP2

TRUE8: ACALL BARK;

MOV A,R2

MOV R6,A

MOV R3,#08H

CLR OK

LOOP2: AJMP DISPLAY ;抢答后停止计时,等待返回

SETB RING

JNB P3.1 QUIT

AJMP LOOP2

犯规抢答程序:

ERROR: SETB RING ;犯规响铃

MOV R5,#0BH

MOV R4,#0BH; 显示FF和犯规号数

LOOP3: ACALL DISPLAY

JNB P3.1 QUIT1; 等待“停止”键按下

AJMP LOOP3

QUIT1: CLR RING

CLR OK

AJMP START

显示程序:

DISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出

MOV A,R5

MOVC A,@A+DPTR

MOV P2,#01H

MOV P0,A

ACALL DELAY

MOV DPTR,#DAT2

MOV A,R4

MOVC A,@A+DPTR

MOV P2,#02H

MOV P0,A

ACALL DELAY

MOV A,R3

MOVC A,@A+DPTR

MOV P2,#04H

MOV P0,A

ACALL DELAY

RET

DAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H

;"灭","1","2","3","4","5","6","7","8","9","灭","F"

DAT2:DB 3FH, 06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H

DELAY1: MOV 35H,#08H

LOOP0: ACALL DISPLAY

DJNZ 35H,LOOP0

RET

延时(显示和去抖动用到):

DELAY: MOV 32H,#12H

LOOP: MOV 33H,#0AFH

LOOP1: DJNZ 33H,LOOP1

DJNZ 32H,LOOP

RET

发声程序:

BARK: SETB RING

ACALL DELAY1

ACALL DELAY1

CLR RING; 按键发声

RET

INT0(抢答时间R1调整程序):

INT0SUB:MOV A,R1

MOV B,#0AH

DIV AB

MOV R5,A

MOV R4,B

MOV R3,#0AH

ACALL DISPLAY;先在两个时间LED上显示R1

JNB P3.2,INC0; P3.2为+1s键,如按下跳到INCO

JNB P3.3,DEC0; P3.3为-1s键,如按下跳到DECO

JNB P3.4,BACK0; P3.4为确定键,如按下跳到BACKO

AJMP INT0SUB

INC0: MOV A,R1

CJNE A,#63H,ADD0; 如果不是99,R2加1,如果加到99了,R1就置0,重新加起

MOV R1,#00H

ACALL DELAY1

AJMP INT0SUB

ADD0: INC R1

ACALL DELAY1

AJMP INT0SUB

DEC0: MOV A,R1

JZ SETR1;如果R1为0, R1就置99,

DEC R1

ACALL DELAY1

AJMP INT0SUB

SETR1: MOV R1,#63H

ACALL DELAY1

AJMP INT0SUB

BACK0: RETI

TO溢出中断(响铃程序):

T0INT:MOV TH0,#0ECH

MOV TL0,#0FFH

JNB RING,OUT

CPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音

OUT: RETI

T1溢出中断(计时程序):

T1INT: MOV TH1,#3CH

MOV TL1,#0B0H

INC R0

RETI

END

写到这里,本文关于智力竞赛抢答器电路图和智力竞赛抢答器逻辑电路图的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。

标签: 智力竞赛抢答器电路图

发表评论

抹茶交易所Copyright www.xjyinlu.com Some Rights Reserved. 2005-2023 本站所有信息均来自网络,为个人学习、研究、欣赏使用。投资有风险,选择需谨慎