文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机的8路抢答器

基于51单片机的8路抢答器

基于51单片机的8路抢答器
基于51单片机的8路抢答器

摘要

抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词:51单片机,抢答器,时间设定

目录

1 抢答器设计功能分析 (1)

1.1 数字抢答器的概述 (1)

1.2 设计任务与要求 (1)

2 方案设计 (2)

3 硬件电路设计 (3)

3.1 总体设计 (3)

3.2 外部振荡电路 (3)

3.3 复位电路的设计 (4)

3.4 显示电路的设计 (4)

3.5按钮输入电路的设计 (4)

3.6 发声 (5)

4 系统软件设计 (6)

4.1 程序系统结构图 (6)

4.2 程序流程图 (6)

4.3 程序代码: (9)

4.3.1 查询程序: (10)

4.3.2 非法抢答处理程序: (10)

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

4.3.4 正常抢答处理程序: (13)

4.3.5 犯规抢答程序: (14)

4.3.6 显示程序: (15)

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

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

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

总结 (18)

参考文献 (19)

1 抢答器设计功能分析

1.1 数字抢答器的概述

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

1.2 设计任务与要求

基本要求:

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

答器的开始。

2.抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答器按

钮,编号立即锁存,并在LED数码上显示选手的编号,同时扬声器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。

发挥部分:

1.抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30

秒)。当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。

2.参加选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示

选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。

3.如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统短暂报

警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00。

4.选手如果在主持人按开始键之前违规抢答,系统报警,LED显示违规选手号

码和FF,直到主持人按下停止键。

2 方案设计

该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下:

<1>可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。

<2>单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。

<3> 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。

原理框图如下:

图2-1 原理框图

3 硬件电路设计

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个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示:

图3-3 复位电路

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

3.4 显示电路的设计

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

图3-4 阴极七段数码管

按钮输入电路的设计

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

图3-5 抢答按键

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

3.6 发声

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

4 系统软件设计

4.1 程序系统结构图

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

图4-1 软件系统结构图

4.2 程序流程图

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

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

图4-2 响铃程序流程图

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

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

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

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

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

图4-5 主程序流程图

4.3 程序代码:

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就可以了

4.3.1查询程序:

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

4.3.2非法抢答处理程序:

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

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

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

4.3.4正常抢答处理程序:

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

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

4.3.5犯规抢答程序:

ERROR: SETB RING ;犯规响铃

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

LOOP3: ACALL DISPLAY

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

AJMP LOOP3

QUIT1: CLR RING

CLR OK

AJMP START

4.3.6显示程序:

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

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

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

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

T0INT:MOV TH0,#0ECH

MOV TL0,#0FFH

JNB RING,OUT

CPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭

发出一定频率的声音

OUT: RETI

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

T1INT: MOV TH1,#3CH

MOV TL1,#0B0H

INC R0

RETI

END

总结

通过此次的课程设计,让我更进一步的巩固了单片机的各种知识。但在设计的过程中,遇到了很多的问题,有一些知识已经不太清楚了,但是通过一些资料又重新的翻阅并且认真的复习了相关教科书中的内容。此次的课程设计树立了对自己工作能力的信心,相信会对今后的学习工作生活都有非常重要的影响,而且大大的提高了动手能力,使我充分的体会到了创造过程中的探索的艰难和成功的喜悦。虽然这次做出的作品还存在很多需要改进的地方,但是在整个设计过程中所学习到的东西是这次实训所得到的最大收获跟财富,使我终身受益。

根据单片机的三路抢答器的设计王辉

基于单片机的三路抢答器的设计 1课程设计的任务与要求 1.1 课程设计的任务 (1)设计一个可供3人进行的抢答器。 (2)系统设置复位按钮,按动后,重新开始抢答。 (3)抢答器开始时数码管显示序号00,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响,并且不出现其他抢答者的序号。 (4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为30秒,当主持人启动“开始”开关后,定时器开始减计时。 (5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。 1.2 课程设计的要求 (1)基于单片机的三路抢答器的设计,并用Proteus设计与仿真出来。 (2)程序用Keil编程出来,并且生成Hex文件。 (3)设计的方案要能够长期,有效,稳定的运行。 (4)力求简单实用。 1.3 课程设计的研究基础 本设计是以三路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答时间和回答问题时间倒记时显示,满时后系统计时手动复位。 2 基于单片机三路抢答器系统方案制定 2.1 方案提出 方案一:

图1 方案一设计方案 方案二: 图2 方案二设计方案 2.2 方案比较 第一个方案比第二个方案多了一个驱动电路,所以第一个方案的电路会比较复杂。 2.3 方案论证 该系统采用51系列单片机AT89C52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。 2.4 方案选择 通过以上两个方案的比较,选择第二个方案。 3 基于单片机三路抢答器系统方案设计 3.1各单元模块功能介绍及电路设计

基于51单片机8路抢答器设计

创新实践课 课程名称:创新实践课 实践题目:基于51单片机8路抢答器设计学院:信息工程与自动化学院 专业:生物医学工程 年级:2014级 学生:4 丽莎2海星 指导教师:嘉林 日期:2016-12-30 教务处制

目录 一、前言 (3) 二、电路原理图设计 (3) 三、印制版图设计 (7) 四、软件设计 (9) 五、测试数据及分析 (16) 六、总结 (18)

一、前言 目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用51单片机为核心控制元件,设计一个简易的八路抢答器。本方案以51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。本次设计的系统实用性强、判断精确、操作简单、扩展功能强。 功能:以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位和报警的功能。 此系统是基于51单片机,led发光二极管,一位共阳数码管,蜂鸣器,按键,等分立元件设计而成。 元件设计的意义:关于按键:共设计了10个独立按键,其中8个分别为八位选手抢答输入用,另外两个分别为开始和停止按键!只有裁判按下了开始键才进入正常抢答,否则属于犯规抢答,抢答完毕,裁判按下停止,数码管显示0。关于led发光二极管:共设计了9个发光二极管,其中一个为电源指示,其他8个为选手抢答状态指示,正确抢答时led发光二极管缓慢闪烁,犯规抢答时,快速闪烁。关于数码管:选手按下自己的按键时显示相应的选手编号!裁判按下开始键时数码管显示倒计时,

基于51单片机的6路抢答器

摘要 此次设计选择使用AT89C51单片机为核心的控制元件,设计制作一个简易的抢答器。本设计是以AT89C51单片机作为控制的主要核心,LED显示器,蜂鸣器等六路抢答器的程序,并且利用了单片机的延迟时电路,时钟电路,键复位电路以及定时器/中断等其他电路。六路抢答器的设计特点是让选手应答时间与选手号码实时显示出来,利用复位电路开始新一轮的比赛或者游戏,我们使用的也是我们所掌握的C 语言来进行编程,实现了一些基本功能。 该系统的设计是可行的,以确定准确,简便,强烈的扩展能力。它的体现的功能主要是比赛开始时,主持人读完题目后按下抢答键,语音提示答题开始,提示音结束后开始倒计时,这时数码管开始进行10s 的倒计时,当有选手进行抢答时,选手按下抢答键,这时候数码管显示屏上就会显示出对应答题者的编号以及抢答所剩余的时间。如果10秒计时时间到了还没有人做出抢答,蜂鸣器就会发出声音并且语音提示抢答结束,这一题就作废即所有人均不得分,然后开始新一轮的抢答。在下一轮抢答开始之前按下复位键将时间归零,再按下开始键进行新的一轮。抢答者回答正确后,评审员按下加分键,该选手编号所对应的数码管显示的数字就增加(按一次加一分,最高显示9分)。相反,如果抢答者回答错误,在抢答者分数不为0的情况下,评审员按下减分键,该选手编号所对应的数码管显示数字就减少(按一次减一分,最低显示0分)。 关键词:单片机、AT89C51、抢答器 Abstract:The design options using AT89C51 microcontroller as the core control elements, design a simple Responder. The design is based on the six-way Responder AT89C51 microcontroller as the main core control, LED display, beeper and other procedures, and use of the single-chip delay circuit, clock circuit, key reset circuit and a timer / interrupt other circuits. Six-way Responder design feature is to allow players the response time and the player numbers displayed in real time, using the reset circuit to start a new round of the competition or game, we used our disposal C language programming, to achieve some basic functions. The design of the system is feasible to determine the accurate, simple, strong expansion capability. Its main function is to reflect the start of the game, the host title after reading press answer key, voice

单片机实验8路抢答器C语言知识版

单片机综合实验报告 题目: 8路抢答器实验 班级: 姓名: 学号: 指导老师: 时间:

一、实验内容: 以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。本实验有Protues软件仿真。 分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。 当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。 二、实验电路及功能说明 分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。复位后参赛队员可继续抢答。 如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。

三、实验程序流程图: 主程序; 非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图如下图所示 子程序

四、实验结果分析 五、心得体会

六、程序清单 #include #define uchar unsigned char #define uint unsigned int sbit wela_a=P3^0; sbit wela1=P3^1; sbit wela2=P3^7; sbit rest=P3^5; sbit host=P3^6; sbit led1=P3^4;//绿灯 sbit led2=P3^3;//红灯 sbit led3=P3^2;//黄灯 sbit key1=P1^0; sbit key2=P1^1; sbit key3=P1^2; sbit key4=P1^3; sbit key5=P1^4; sbit key6=P1^5; sbit key7=P1^6; sbit key8=P1^7; uchar x,q,d,s,ge,t0,t1,start,flag; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void init();/*初始函数申明*/ void display(uchar s,uchar ge,uchar a); void delay(uint z); void keyscan(); void main() { init(); display(s,ge,a); while(1) { if(host==0) //主持人控制开关 { delay(5); if(host==0) { flag=1; start=1; delay(5); 延时 while(!host); 检测开关 } } if(rest==0) //复位 { delay(5); if(rest==0) { q=30; led2=1; led3=1; x=0; delay(5);

8路抢答器设计

华侨大学厦门工学院数字逻辑系统设计课程设计报告 题目:8路抢答器 专业、班级: 分数: 2012年5月30日

任务书 一、任务 设计一个8路抢答器,在控制开关(控制系统的清零和抢答的开始)作用下,抢答选手在开始信号作用后在规定的时间内开始抢答,锁定并显示优先抢答选手的编号同时给出音响的提示。抢答选手确定后,封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到控制信号将系统清零为止。 二、设计要求 (1)设计一个可供8名选手参加比赛的8路数字显示抢答器。他们的编号为12345678,各用一个抢答按钮(开关),编号与参赛者的号码一一对应。 (2)设置一个系统清除和抢答控制开关R,该开关由主持人控制。 (3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出提示。先抢答选手的编号一直保持到主持人将系统清除为止。 目录 一、课题研究的相关背景、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 二、选题的目的、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 三、电路总体框图和优缺点 (3) 1、电路总体框图 (3) 2、优点 (3) 3、缺点 (3) 四、电路设计 (3) 1、完整电路图 (4) 2、实物图、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4 3、数码显示 (5) 4、CC4511介绍 (6) 5、555芯片介绍 (7) 五、制作及调试过程 (8) 1、安装 (9)

基于80C51单片机的八路抢答器设计分析

专业论文 题目:基于80C51单片机的八路抢答器设 计

摘要:八路智力抢答器是一个可供八个参赛组进行智力竞赛的电路装置,该装置主要是由单片机最小系统、控制电路(八个选手抢答按钮;三个主持人控制按钮;四个修改按钮)、数码显示电路与蜂鸣器电路组成的。单片机(MCU)是目前在电气控制技术中广泛应用的重要元件。它具有体积小,稳定性高,应用范围广,控制能力强,升级改造容易等诸多优点。本论文介绍采用ATMEL公司AT89S52单片机设计八路智能抢答器。软件采用汇编语言编程,汇编语言属于计算机领域的低级语言,具有简明易懂,执行效率高等的优点。智能八路抢答器具有抢答时间与答题时间调整,抢答错误报警提示等功能,可以广泛应用于各类知识竞赛。 关键词:抢答器;单片机;硬件系统;软件编程

基于80C51单片机的八路抢答器设计 一、系统概述与原理方框图 在文中,我对八路抢答器的总体设计及其主要的功能特点进行简单的分析,并给出它的特点,实现的功能以及系统的简单操作,以对单片机及其控制系统的了解。 (一)单片机技术发展的概述与系统问题的提出 目前,单片机正朝着高性能和多品种方向发展,单片机的发展正朝着 CMOS化,低功耗,小体积,大容量,高性能,低价格和外围电路的内装化等 几个方面 发展。近几年,由于某种原因CHMOS技术的进步,大大地促进了单片机的CMOS 化,此种芯片除了低功耗外,还具有功耗的可控性,使单片机可以工作在功 耗精细管理状态,特别是IIC,API等串行总线的引入,可以使单片机的引脚 设计得更少,单片机系统结构更加简化及规范化。 我们设计出的8路抢答器是一种基于MCS-51单片机的硬件和软件设计及 实现方法,这种电路设计具有按键有效提示,输入错误提示,控制报警电路, 在线修改功能等多种功能,保密性强,灵活性高,特别适用于家庭!办公室!学 生宿舍及宾馆等场所。它具有全集成化,智能化,高精度,高性能,高可靠 性和低价格等优点,是一个值得推广的一种方法。接下来我们就对方案与设 计原理方框图进行比较分析。 (二)设计思路与系统组成及主要特点 为了使设计更具有针对性,使用性更强,我对其进行精心的设计,在设 计过程中,我们想到了很多的设计方案。 1.设计思路 设计一个八路抢答器,可同时供8名选手或者8个代表队参加比赛,他 们的编号分别为1——8,各用一个抢答器按钮,按钮的编号与选手的编号相 对应,分别设为S1…S8。节目主持人设置一组控制开关,用来控制系统的清 零和抢答器的开始,修改抢答时间与答题时间,如果想调节抢答时间或答题 时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态。并且抢答器具 有数据锁存和显示的功能,抢答开始,若有选手按动抢答按钮,编号立即锁

8路抢答器的设计报告(数字电路课程设计)资料

《数字电子技术》课程设计报告 8路智力抢答器 设计与制作 设计要求: 1、可同时供8名选手或8个代表队参加比赛; 2、主持人控制系统的清零(编号显示数码管灭灯)和抢答 的开始; 3、抢答器具有数据锁存和显示的功能; 4、抢答器具有定时抢答的功能,且一次抢答的时间可以由 主持人设定; 5、具有报警功能。 成绩:评阅人: XX科技学院理学院

8路智力抢答器 设计与制作 8路智力抢答器是一种用数字电路技术实现由主持人控制、定时抢答、报警功能的装置。他是在规定的时间内进行抢答。一旦有人抢答,显示器上会同时显示抢答时间和抢答选手号码。当超出规定时间时,即使抢答,不会显示选手号码。 8路智力抢答器包括组合逻辑电路和时序电路。通过此次设计与制作,进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于8路智力抢答器包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。 一、设计要求 (一)设计指标 1、计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别是0、1、 2、 3、 4、 5、 6、7,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0——S7。 2、给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。 3、抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管行显示出选手的编号,

同时扬声器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。 4、抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30s)。当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时扬声器发出短暂的声响。 5、参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。 6、如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00。 (二)设计要求 1、画出电路原理图(或仿真电路图); 2、元器件及参数选择; 3、电路仿真与调试; (三)制作要求自行装配和调试,并能发现问题和解决问题。 (四)编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。 二、原理框图 抢答器系统原理框图如下所示。它由主体电路和扩展电路两部分组成,主体电路完成基本抢答后,选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答,扩展电路完成定时

8路数字抢答器设计说明

简易8路数显抢答器: 简单实用的八路数显抢答器,主要包括抢答、编码、优先锁存、数显、复位及音频振荡等电路。元器件主要包括 CD4511.N E555、IN 4148、三极管(901 4)、LED 共阴极数码管、扬声器、小型按钮开关及电阻电容等。 说明: 抢答数显电路: J1~J8八个按钮开关组成抢答键。D1~D12十二个二极管组成编码器,将抢答键按对应的BCD 码进行编码,并将所得的高电平加在CD4511所对应的输入端。CD4511是一块含BCD —七段锁存/译码/驱动电路于一体的集成电路。CD4511的 1、2、 6、7脚为BCD 码输入端,9~15脚为显示输出端。3脚为测试端(LT),当L T 为“0 ”时,输出全为“1 ”。4脚为消隐端(B I ),当B I 为“0 ”时,输出全为“0 ”,因此此时可以清除锁存器内的数值,即可使用为复位端。5脚为锁存允许端(L E ),当L E 端由“0 ”→“1 ”时,a 、b 、c 、d 、e 、f 、g 七个输出端保持在LE 为“0”时所加BCD 码对应的数码显示状态。 16、8脚分别接电源正负极。由CD4511的引脚图可知, 6、2、 1、7脚分别代表BCD 码的 8、4、

2、1位。按下对应的键,即可得到 0001、0010、 0011、0100、 01、0110、 0111、1000八个一系列的BCD 码。高电平加在CD4511对应的输入端上,便可以由其内部电路译码为十进制数在数码管上显示出来。优先锁存电路由两个二极管( D13、D14)、一个三极管(VT)、两个电阻及CD4511的锁存允许端(LE)完成。在初始状态或复位后的状态时,CD4511输入端都与一个电阻(10K)串联接地,所以此时BCD码输入端为“00”,则CD4511输出端a、b、c、d、e、f 均为高电平,g 为低电平,且数码显示为“0”。而当d 为高电平,三极管(VT)导通及g 为低电平时, D13、D14的正极均为低电平,使CD4511的LE 端为低电平“0”,可见,此时没有锁存即允许BCD码输入。而当任一抢答键按下时,由数码显示可知,CD4511输出端d 输出为低电平或输出端g输出为高电平,两个状态必有一个存在或着都存在。迫使CD4511的LE端,由“0”→“1”,即将首先输入的BCD 码显示的数字锁存并保持。此刻,其它按键编码就无法输入,从而达到了抢答的目的。音频振荡电路为NE555组成的多谐振荡器推动扬声器发出讯响声。四只二极管(IN4148)组成二极管或门电路分别接CD4511的 1、2、 6、7引脚,为NE555提供电源+Ucc,即任何抢答键按下时,扬声器都能发出报警声。元器件清单 序号910元件名称 电阻 电阻

数电课程设计八路智力竞赛抢答器设计

数电课程设计八路智力竞赛抢答器设 计

课程设计任务书 题目: 八路智力竞赛抢答器设计 初始条件: ◆教材:《电子线路设计·实验·测试》第三版谢自美主编华中 科技大学出版社 ◆元器件:74LS48三片,72LS192两片,74LS279、74LS148、 74LS00、74LS11、555各一片,数码管三个,发光二极管一个,开 关、电阻、电容若干,面包板,导线若干 ◆仿真:Proteus仿真软件 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) ◆多路智力竞赛抢答器功能要求: 基本功能: 1.设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,她们的编号分别是0、1、2、3、4、5、6、7,各用一个抢 答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、 S3、S4、S5、S6、S7。 2.给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

3.抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编 号,同时扬声器给出音响提示。另外,要封锁输入电路,禁止其 它选手抢答。优先抢答选手的编号一直保持到主持人将系统清零 为止。 扩展功能: 1.抢答器具有定时抢答的功能,且一次抢答的时间能够由主持人设定。当节目支持人按下“开始”按钮后,要求定时器立即倒计 时,并在显示器上显示,同时扬声器发出短暂的声响,声响持续 时间0.5s左右。 2.参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系 统清零为止。 3.如果定时抢答的时间已到,却没有选手抢答,则本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显 示器上显示00. 报告要求: 课程设计的内容要求用A4纸打印,且页数不得少于20页。 时间安排:

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

信息与电子工程学院 课程设计报告 课程单片机技术应用 设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术 班级11级4班 成员姓名学号分工成绩 软件部分 硬件部分

目录 一、课程设计概述.................................................................................................................... - 1 - 1.1课程设计背景 (1) 1.2课程设计内容 (1) 1.3课程设计技术指标 (1) 二、方案的选择及确定............................................................................................................ - 1 - 2.1方案一:集成数字电路 (1) 2.2方案二:单片机 (2) 2.3方案分析比较: (2) 三、硬件设计............................................................................................................................ - 3 - 3.1系统硬件设计 (3) 3.2复位电路的设计 (3) 3.3时钟电路设计 (3) 3.4显示电路设计 (4) 3.5按键电路设计 (5) 3.6报警电路设计 (6) 3.7电源模块设计 (7) 四、系统软件设计.................................................................................................................... - 7 - 4.1系统的功能流程 (7) 4.2主程序流程图 (7) 五、系统调试过程.................................................................................................................... - 9 - 5.1软件调试 (9) 5.2硬件调试 (10) 六、总结.................................................................................................................................. - 13 - 七、遇到的问题及解决方法.................................................................................................. - 13 - 八、参考文献.......................................................................................................................... - 13 - 九、附录.................................................................................................................................. - 14 - 9.1仪器与设备 (14) 9.2元器件清单 (14)

基于51单片机八路抢答器的设计大学论文

毕业设计(论文) 题 目: 基于51单片机的抢答器系统设计 函授站点: 中国矿业大学继续教育学院 学习层次: 专科 班级名称: 徐工技师学院 函机电2015班 姓名: 学号: 中国矿业大学继续教育学院 20 年 月 日

摘要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:STC89C52RC;共阴数码管;按键;蜂鸣器

基于51单片机的8路抢答器

基于51单片机的8路抢答器 摘要 此次设计提出了用AT89S51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用汇编语言编程,使其实现一些基本的功能。 本设计的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现是比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行30s的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,同时蜂鸣器也会发出声音,以提示有人抢答本题,如果在规定的60s时间内没有做出抢答,则此题作废,即开始重新一轮的抢答。在抢答和回答时间的最后5s,蜂鸣器都会给予报警提示。 关键词:单片机、AT89S51、抢答器

目录 第一章前言 (1) 第二章各模块的选择和论证 (3) 2.1抢答器显示模块选择 (3) 2.2 控制器选择 (4) 2.3 键盘选择 (5) 2.4 时钟频率电路的设计 (7) 2.5 复位电路的设计 (7) 2.6 报警电路 (8) 2.7 AT89C51单片机简单概述 (8) 2.7.1 AT89C51单片机的结构 (8) 2.7.2 AT89C51单片机管脚说明 (9) 第三章模块最终方案的设计 (12) 3.1总体设计思路 (12) 3.2 功能介绍 (12) 3.3 抢答器的软件设计 (12) 3.4 数码显示软件设计 (13) 第四章系统调试与仿真 (15) 4.1 软件调试问题分析 (15) 4.2 Proteus 仿真 (16) 第五章电路板的制作与检查 (17) 5.1 焊接的问题及解决 (17) 第六章总结 (18)

基于51单片机的抢答器

/**********************51单片机实验开发板例程************************ * 名称:本例程为一抢答器;其中主持人操控S7与S8两个按键。选手共六位,分别操控S1--S6中的一个按键。 当主持人按下抢答开始按键S7后,倒计时开始,计时5s。此后最先按下按键的选手号码将显示与数码管上。 后来按下的将无显示。 若五秒计时结束后,再按下按键也不会显示。 若主持人没有按开始键,就有选手抢答,则视为犯规。此时犯规的选手号码将被显示于数码管上(最多显示五位犯规选手) 同时,蜂鸣器发出长笛声报警,数码管全亮。 而当主持人按下清零键S8后,一切状态均恢复,可以开始新一轮的抢答。 按键功能简介 S8抢答开始S7 清零 S1--S6 分别为1到6号选手按键 ******************************************************************/ #include #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit beep=P2^3; uchar key,j,k,temp,daojishi=5,wei; bit begin,end,clear,fangui; uchar a0,b0=16;c0=16;d0=16;e0=16;f0=5; unsigned int pp; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void delay(unsigned char i) { for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) { dula=0; P0=table[a]; dula=1; dula=0; wela=0; P0=0xfe; wela=1;

八路抢答器设计方案

1概述 1.1开发背景 智力竞赛是一种能锻炼人的头脑开发人的IQ的一种大众化游戏,也起到娱乐的作用。现在智力竞赛越来越被多数人喜爱和娱乐,像中央卫视的三星智力快车、金苹果、幸运50等等多档智力竞赛节目都拥有大批的忠实观众。而且国内外各地电视台、工厂、学校等单位也会常常举办类似的智力竞赛活动,然而智力竞赛抢答器是必要设备。 在有些地方举行的各种智力竞赛游戏中我们经常看到有抢答的环节,举办方大多数采用让选手通过举答题板的方法或者是举手的方式判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。因此为解决这个问题,本论文采用了单片机制作了一个低成本但又能满足学校等需要的八路数显智力竞赛抢答器,并能实现循环显示各组选手得分。 1.2方案论证与比较 与普通抢答器相比,本作品有以下几方面优势: 1、具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。 2、具有定时功能,在10秒内无人抢答表示所有参赛选手获参赛队对本题弃权。 3、10秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。 4、抢答完成后,循环显示各组的得分情况。

2总体设计 2.1设计目标 1.抢答器同时供8名选手或8个代表队比赛,分别用8个按钮K1 ~K8表示。 2.设置一个系统清除和抢答控制开关S,该开关由主持人控制。 3.抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 4.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如10秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间1秒左右。 5.参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 6.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00 7.每抢答一次,主持人对其答案进行评分一次。最后抢答全部结束后,循环显示各组的得分情况。

基于51单片机的8路抢答器

基于51单片机的8路抢答器

摘要 抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。 关键词:51单片机,抢答器,时间设定

目录 1 抢答器设计功能分析 (1) 1.1 数字抢答器的概述 (1) 1.2 设计任务与要求 (1) 2 方案设计 (2) 3 硬件电路设计 (3) 3.1 总体设计 (3) 3.2 外部振荡电路 (3) 3.3 复位电路的设计 (4) 3.4 显示电路的设计 (4) 3.5按钮输入电路的设计 (4) 3.6 发声 (5) 4 系统软件设计 (6) 4.1 程序系统结构图 (6) 4.2 程序流程图 (6) 4.3 程序代码: (9) 4.3.1 查询程序: (10) 4.3.2 非法抢答处理程序: (10) 4.3.3 倒计时程序(包括有效抢答程序): (11) 4.3.4 正常抢答处理程序: (13) 4.3.5 犯规抢答程序: (14) 4.3.6 显示程序: (15) 4.3.7 延时(显示和去抖动用到): (16) 4.3.8 TO溢出中断(响铃程序): (17) 4.3.9 T1溢出中断(计时程序): (17) 总结 (18) 参考文献 (19)

八路抢答器设计(附源程序)

烟台大学 单片机课程设计说明书 课题:八路抢答器 学生姓名: 学号: 院系:机电汽车工程学院 专业:机械设计制造及其自动化 指导老师: 同组成员: 组长: 2012 年 06 月 07 日

目录 1 概述 (2) 2设计任务 (2) 3 系统总体方案 (3) 4 硬件设计 (4) 4.1 控制系统所需硬件 (4) 4.2 硬件原理介绍 (4) 5 软件设计 (7) 5.1 软件总体设计 (7) 5.2 程序流程图 (8) 6 Proteus软件仿真 (12) 6.1 Keil软件 (12) 6.2在Proteus软件 (12) 7小结 (14) 8心得体会 (15) 附1:源程序代码 (16) 附2:参考文献 (24)

1 .概述 8路智能抢答器的设计 现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们在答题的过程中不仅可以享受到乐趣,还可以学到一些科学知识和生活常识。然而在抢答过程中,单靠视觉是很难判断出哪组最先完成抢答操作。为了辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统——智能抢答器。 抢答器作为一种电子产品,已被人们所熟知并广泛应用于各种智力知识竞赛场合。抢答器在竞赛中有很大用处,通过抢答器的指示灯显示,数码管显示和警示蜂鸣等手段,能准确,公正,直观地判断出第1抢答者并协助比赛的顺利进行。但是,目前使用的抢答器大多数都采用了逻辑电路进行设计,分立元件较多,造成抢答器的成本较高。此外一般抢答器由模拟电路,数字电路或二者结合组成,其智能化程度低,故障率高,显示简单。现代电子技术的发展要求电子电路朝数字化,集成化方向发展,因此设计出全集成电路的多路抢答器是现代电子技术发展的要求。 2 .设计任务 本设计要求学生结合现有的实际条件,以单片机为控制核心,设计一个8路智能抢答器。要求实现的功能如下: 1) 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。 2) 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。 3) 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。 4) 当主持人启动“开始抢答键”后,定时器进行减计时,在10s内无人抢答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答。 5) 倒计时5s时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手。 6) 抢答器具有锁存与显示功能。即选手按下按键,锁存相应选手的参赛号码,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者。 7) 参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

八路抢答器-基于单片机C语言

#include #define uchar unsigned char #define uint unsigned int sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3; sbit k5=P1^4; sbit k6=P1^5; sbit k7=P1^6; sbit k8=P1^7; //选手按键 sbit beep=P3^6; //蜂鸣器 uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77}; //0-9代码(共阴极) uchar shiwei,gewei,xuanshou,count,i,second; uchar score1,score2,score3,score4,score5,score6,score7,score8;//选手1~8的分数 uint t,m,n,a,a1,a2,a3,a4,a5,a6,a7,a8; void Timer() { TMOD|=0x01; TH0=0xd8; //初值55536,计数10000次,每次1US,总计10ms TL0=0xf0; IE=0x82; //这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时 TR0=1; } void tim(void) interrupt 1 using 1 //为定时中断TR0 { TH0=0xd8; //重新赋值 TL0=0xf0; count++; if(count==100) //100*10ms=1秒 { count=0; second--; //秒减1 } } void delay(uint z) //延时函数 { uint x,y; for(x=z;x>0;x--)

相关文档
相关文档 最新文档