八路扫描式抢答器.docx

上传人:b****4 文档编号:4652913 上传时间:2023-05-07 格式:DOCX 页数:24 大小:141.96KB
下载 相关 举报
八路扫描式抢答器.docx_第1页
第1页 / 共24页
八路扫描式抢答器.docx_第2页
第2页 / 共24页
八路扫描式抢答器.docx_第3页
第3页 / 共24页
八路扫描式抢答器.docx_第4页
第4页 / 共24页
八路扫描式抢答器.docx_第5页
第5页 / 共24页
八路扫描式抢答器.docx_第6页
第6页 / 共24页
八路扫描式抢答器.docx_第7页
第7页 / 共24页
八路扫描式抢答器.docx_第8页
第8页 / 共24页
八路扫描式抢答器.docx_第9页
第9页 / 共24页
八路扫描式抢答器.docx_第10页
第10页 / 共24页
八路扫描式抢答器.docx_第11页
第11页 / 共24页
八路扫描式抢答器.docx_第12页
第12页 / 共24页
八路扫描式抢答器.docx_第13页
第13页 / 共24页
八路扫描式抢答器.docx_第14页
第14页 / 共24页
八路扫描式抢答器.docx_第15页
第15页 / 共24页
八路扫描式抢答器.docx_第16页
第16页 / 共24页
八路扫描式抢答器.docx_第17页
第17页 / 共24页
八路扫描式抢答器.docx_第18页
第18页 / 共24页
八路扫描式抢答器.docx_第19页
第19页 / 共24页
八路扫描式抢答器.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

八路扫描式抢答器.docx

《八路扫描式抢答器.docx》由会员分享,可在线阅读,更多相关《八路扫描式抢答器.docx(24页珍藏版)》请在冰点文库上搜索。

八路扫描式抢答器.docx

八路扫描式抢答器

目录

第1节引言……………………………………………………………………1

1.1抢答器的概述……………………………………………………………1

1.2本设计主要任务…………………………………………………………1

1.3系统主要功能……………………………………………………………1

第2节系统硬件设计………………………………………………………3

2.1芯片的选择………………………………………………………………3

2.2工作原理…………………………………………………………………3

2.3系统的硬件构成及功能…………………………………………………3

2.3.1抢答器的电路图…………………………………………………………3

2.3.2单元电路设计……………………………………………………………5

2.3.3定时电路设计……………………………………………………………7

2.3.4报警电路设计……………………………………………………………7

第3节系统软件设计…………………………………………………………9

3.1系统主程序设计………………………………………………………9

3.2抢答器的源程序………………………………………………………9

第4节技术指标及故障处理…………………………………………………20

4.1主要技术参数………………………………………………………20

4.2使用说明……………………………………………………………20

4.3常见故障……………………………………………………………21

结束语………………………………………………………………………22

参考文献…………………………………………………………………………23

第1节引言

当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。

而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。

鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。

本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。

因此,我们制作了这款简易八路抢答器屏弃了成本高,体积大,而且操作复杂。

我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。

而且在显示时抢答器会发出叮咚声使效果更为生动。

工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。

1.1八路扫描式抢答器的概述

本文介绍的八路数显抢答器具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较高的推广价值。

无线遥控抢答器,它由8个发射器和1个接收器组成,可用于8组或8组以下的智力竞赛中。

比赛前,将参赛组从0至7编号,每组发给对应的一个发射器。

将接收器放于各组中央或前方。

主持人按一下启动键后,抢答开始。

此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出3次清脆的“叮咚”声。

以后,按下任何一路抢答键均不起反映。

只有主持人再次按动启动键后,才能进行下一次抢答该电路由直流稳压电源、抢答器、超时报警与电子计分四部分组成。

1.2本设计任务及要求

任务:

设计一个供8名选手参加八路扫描式抢答器。

1.3系统主要功能

每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。

抢答开始后,若有选手按抢答按钮,刚该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。

同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0为止。

抢答器具有计分、显示功能。

预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10分,答错扣10分。

抢答器具有定时抢答的功能。

一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s左右。

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

 

第2节系统硬件设计

2.1芯片的选择

本设计使用到的元器件包括:

8051芯片、数码LED显示器、七段LED数码管的译码。

2.2工作原理

基于这个设计的上述要求,根据功能要求,须设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。

通过复位按键FW,电路进入就绪状态,等待抢答。

首先由主持人根据题目的难易程度,可以用“JIASHI”和“JIANSHA”两个按键,设定时间在(0S-99S)之间,然后再由主持人发布抢答命令(按下KS按键)同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。

在电路中“S1-S8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P2口输出抢答者号码的七段码值,经GAL16V8驱动,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。

如果在设定的时间中没有一个人按下按键,一到时间,则产生报警信号已经超时,不可以抢答。

当要进行下一次的抢答时,由主持人先按一下复位按键FW,电路复位,进入下一次抢答的就绪状态。

2.3系统的硬件构成及功能

2.3.1抢答器的电路框图

    如图11、1所示为电路框图。

其工作原理为:

接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。

定时器倒计时,扬声器给出声响提示。

选手在定时时间内抢答时,抢答器完成:

优先判断、编号锁存、编号显示、扬声器提示。

当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。

如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关。

图11.1抢答器框图

图11.2抢答电路的接口电路

2.3.2单元电路设计

(1)抢答器电路

    参考电路如图11.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线优先编码器,表11、1为其功能表。

图11.2抢答器电路

表10.1 74LS148的功能真值表

(2)时序控制电路设计

时序控制电路是抢答器设计的关键,它要完成以下功能:

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

                    

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

(3)复位电路的设计

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位*作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位*作通常有两种基本形式:

上电复位和上电或开关复位。

8051的复位方式可以是自动复位,也可以是手动复位,见下图。

此外,RESET/Vpd还是一复用脚,VCC掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

 

2.3.3定时电路设计

为了达到抢答的合理性、完整性、可控性,需根据题目的难易程度的不同设定相应的抢答时间。

所以本设计设置了抢答定时电路。

它包括两个按键,一个是加(JIASHI)、另一个是减(JIANSHI),该两个按键由主持人用于在发布开始命令之前设定时间(可以设定在00S-99S),每按一下“JIASHI”按键就会在原来的数字的基础上加上一,如果是按的“JIANSHI”按键就会在原来的数值上减去一。

图11.3可预置时间的定时电路

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

可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图11、3所示。

2.3.4报警电路设计

报警电路用于报警,当遇到报警信号时,发出警报。

一般喇叭是一种电感性

图11.4报警电路图。

8051驱动喇叭的信号为各种频率的脉冲。

因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。

在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。

不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。

选手在设定的时间内抢答时,实现:

优先判断、编号锁存、编号显示、扬声器提示。

当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。

如果再次抢答必须由主持人再次*作"清除"和"开始"状态开关。

图面是数字抢答器的报警电路图。

其中555构成多谐振荡器,振荡频率fo=1.43/[(RI+2R2)C],其输出信号经三极管推动扬声器。

PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。

图11.4报警电路

 

第3节系统软件设计

3.1系统主程序设计

为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,所以应该得根据题目的难易程度事先设定时间,因而在编开始抢答前的程序得先编写设定时间的程序,在硬件电路中可以看到有两个按键(JIANSHI和JIANSHI)所以按下硬件的这两个按键相应的在软件进行对数据的加减。

当时间设好了之后,主持人发布抢答命令按下KS按键同时二极管变亮,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。

当在扫描到有人按下了键,马上关闭T0、调用显示程序、封锁键盘。

3.2抢答器的源程序

一、八路扫描式抢答器参考程序清单

P1.0-P1.7为八路抢答输入数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。

P3.0为开始抢答,P3.7为停止。

KEQU20H;抢答开始标志位;将P1口与P2口互换,P3.0-P1.0,P3.1-P1.7

 RINGEQU22H;响铃标志位

 ORG0000H

 AJMPMAIN

 ORG0003H

 AJMPINT0SUB

 ORG000BH

 AJMPT0INT

 ORG0013H

 AJMPINT1SUB

 ORG001BH

 AJMPT1INT

 ORG0040H

MAIN:

  MOVR1,#0FH;初设抢答时间为15s

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

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

       MOVTH0,#0F0H

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

       MOVTH1,#3CH

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

       SETBEA

       SETBET0

       SETBET1

 SETBEX0

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

       CLROK

 CLRRING

        SETBTR1

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

;***查询程序***

START:

MOVR5,#0BH

      MOVR4,#0BH

      MOVR3,#0BH

ACALLDISPLAY;未开始抢答时候显示FFF

      JBP3.0,NEXT

      ACALLDELAY

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

      ACALLBARK;按键发声

      MOVA,R1

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

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

    MOVR3,0AH;抢答只显示计时,灭号数

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

NEXT:

 JNBP1.0,FALSE0

JNBP1.1,FALSE1

   JNBP1.2,FALSE2

   JNBP1.3,FALSE3

   JNBP1.4,FALSE4

   JNBP1.5,FALSE5

   JNBP1.6,FALSE6

JNBP1.7,FALSE7

   AJMPSTART

;***非法抢答处理程序***

FALSE0:

ACALLBARK;按键发声

MOVR3,#00H

   AJMPERROR

FALSE1:

ACALLBARK;按键发声

MOVR3,#01H

   AJMPERROR

FALSE2:

ACALLBARK

MOVR3,#02H

   AJMPERROR

FALSE3:

ACALLBARK

MOVR3,#03H

   AJMPERROR

FALSE4:

ACALLBARK

MOVR3,#04H

   AJMPERROR

FALSE5:

ACALLBARK

MOVR3,#05H

   AJMPERROR

FALSE6:

ACALLBARK

MOVR3,#06H

   AJMPERROR

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

INT0SUB:

MOVA,R1

       MOVB,#0AH

   DIVAB

   MOVR5,A

   MOVR4,B

   MOVR3,#0AH

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

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

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

   JNBP3.7,BACK0;P3.7为确定键,如按下跳到BACKO

   AJMPINT0SUB

INC0:

 MOVA,R1

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

加起。

       MOVR1,#00H

       ACALLDELAY1

AJMPINT0SUB

ADD0:

  INCR1

       ACALLDELAY1

       AJMPINT0SUB

DEC0:

  MOVA,R1

   JZSETR1;如果R1为0,R1就置99,

   DECR1

   ACALLDELAY1

   AJMPINT0SUB

SETR1:

 MOVR1,#63H

       ACALLDELAY1

       AJMPINT0SUB

BACK0:

 RETI

;***INT1(回答时间R2调整程序)***

INT1SUB:

MOVA,R2

       MOVB,#0AH

   DIVAB

MOVR5,A

   MOVR4,B

   MOVR3,#0AH

   ACALLDISPLAY

   JNBP3.4,INC1

   JNBP3.5,DEC1

   JNBP1.7,BACK1

   AJMPINT1SUB

INC1:

  MOVA,R2

   CJNEA,#63H,ADD1

       MOVR2,#00H

       ACALLDELAY1

AJMPINT1SUB

ADD1:

INCR2

       ACALLDELAY1

       AJMPINT1SUB

DEC1:

  MOVA,R2

   JZSETR2

   DECR2

   ACALLDELAY1

   AJMPINT1SUB

SETR2:

 MOVR2,#63H

       ACALLDELAY1

       AJMPINT1SUB

BACK1:

 RETI

;***倒计时程序(抢答倒计时和回答倒计时都跳到改程序)***

COUNT:

 MOVR0,#00H;重置定时器中断次数

       MOVTH1,#3CH

       MOVTL1,#0B0H;重置定时器

RECOUNT:

MOVA,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6

       MOVB,#0AH

   DIVAB;除十分出个位/十位

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

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

   MOVR5,30H;取十位

   MOVR4,31H;取个位

   MOVA,R6

   SUBBA,#07H

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

   MOVA,R0

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

   CLRRING 

   AJMPCHECK

FULL:

  CJNEA,#14H,CHECK;下面系1s的情况,响并显示号数并清R0,重新计

       SETBRING

       MOVA,R6

   JZQUIT;计时完毕

   MOVR0,#00H

   DECR6;一秒标志减1

   AJMPCHECK

LARGER:

MOVA,R0

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

   DECR6;计时一秒R6自动减1

   MOVR0,#00H

CHECK:

JNBP1.7,QUIT;如按下停止键退出

      ACALLDISPLAY

  JBOK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)

  AJMPRECOUNT

ACCOUT:

JNBP1.0,TRUE0

JNBP1.1,TRUE1

  JNBP1.2,TRUE2

  JNBP1.3,TRUE3

  JNBP1.4,TRUE4

  JNBP1.5,TRUE5

  JNBP1.6,TRUE6

JNBP1.7,TRUE7

  AJMPRECOUNT

QUIT:

 CLROK;如果按下了"停止键"执行的程序

  CLRRING

  AJMPSTART

;***正常抢答处理程序***

TRUE0:

ACALLBARK;按键发声

     MOVA,R2;抢答时间R2送R6

 MOVR6,A

 MOVR3,#00H

 CLROK;因为答题的计时不再查询抢答,所以就锁了抢答

 AJMPCOUNT

TRUE1:

ACALLBARK;按键发声

      MOVA,R2

  MOVR6,A;抢答时间R2送R6

  MOVR3,#01H

  CLROK;因为答题的计时不再查询抢答,所以就锁了抢答

  AJMPCOUNT

TRUE2:

ACALLBARK;

     MOVA,R2

 MOVR6,A

 MOVR3,#02H

 CLROK

 AJMPCOUNT

TRUE3:

ACALLBARK;

     MOVA,R2

 MOVR6,A

 MOVR3,#03H

 CLROK

 AJMPCOUNT

TRUE4:

ACALLBARK;

     MOVA,R2

   MOVR6,A

   MOVR3,#04H

   CLROK

   AJMPCOUNT

TRUE5:

ACALLBARK;

      MOVA,R2

   MOVR6,A

   MOVR3,#05H

   CLROK

   AJMPCOUNT

TRUE6:

ACALLBARK;

      MOVA,R2

   MOVR6,A

   MOVR3,#06H

   CLROK

   AJMPCOUNT

TRUE7:

ACALLBARK;

      MOVA,R2

   MOVR6,A

   MOVR3,#07H

   CLROK

   AJMPCOUNT

;***犯规抢答程序***

ERROR:

MOVR0,#00H

       MOVTH1,#3CH

       MOVTL1,#0B0H

       MOV34H,R3;犯规号数暂存与(34H)

HERE:

  MOVA,R0

       CJNEA,#0AH,FLASH;0.5s向下运行->灭并停响

   CLRRING 

   MOVR3,#0AH

   MOVR4,#0AH

       MOVR5,#0AH;三灯全灭

   AJMPCHECK1

FLASH:

 CJNEA,#14H,CHECK1;下面系1s的情况,响并显示号数并清R0,重新计

       SETBRING

       MOVR0,#00H

   MOVR3,34H;取回号数

   MOVR5,#0BH

       MOVR4,#0BH;显示FF和号数

   AJMPCHECK1

CHECK1:

JNBP3.7,QUIT1

       ACALLDISPLAY

   AJMPHERE

QUIT1:

 CLRRING

       CLROK

   AJMPSTART

;***显示程序***

DISPLAY:

MOVDPTR,#DAT1;查表显示程序,利用P0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2