八路多功能智力竞赛抢答器毕业设计.docx

上传人:b****7 文档编号:23600702 上传时间:2023-05-18 格式:DOCX 页数:57 大小:252.94KB
下载 相关 举报
八路多功能智力竞赛抢答器毕业设计.docx_第1页
第1页 / 共57页
八路多功能智力竞赛抢答器毕业设计.docx_第2页
第2页 / 共57页
八路多功能智力竞赛抢答器毕业设计.docx_第3页
第3页 / 共57页
八路多功能智力竞赛抢答器毕业设计.docx_第4页
第4页 / 共57页
八路多功能智力竞赛抢答器毕业设计.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

八路多功能智力竞赛抢答器毕业设计.docx

《八路多功能智力竞赛抢答器毕业设计.docx》由会员分享,可在线阅读,更多相关《八路多功能智力竞赛抢答器毕业设计.docx(57页珍藏版)》请在冰豆网上搜索。

八路多功能智力竞赛抢答器毕业设计.docx

八路多功能智力竞赛抢答器毕业设计

毕业设计

八路多功能智力竞赛抢答器

摘要:

现在开展的竞赛抢答活动越来越多,而多数比赛中都采用抢答器进行,本设计正是以单片机AT89C51为核心,来实现八路抢答和时钟显示功能的。

抢答器在程序控制下完成以下功能:

抢答有效高频铃声并显示组别,进入倒计时状态,抢答无效报警并闪烁显示组别,同时具有计分功能,答对加分,答错减分。

关键词:

抢答单片机倒计时记分

Multi-purposeIntellective

SelectorforCompetitionofEightGroups

Abstract:

Moreandmorevietoanswerfirstactivesaredeveloped.Inmostofthecompetitionsvieforanswermachinewillbeused.Thedesignusesthesinglechiptorealizethefunctionofmulti-purposeintellectiveselectorandtheclock’sdisplay.Theselectorhasthosefunctions:

iftheplayerviestoanswerfirstsuccessfully,therewillbehighfrequencyanddisplaythesizeofthegroup.Atthesametime,itwillcomeintotheestateofcountdown.However,iftheplayerviestoanswerfirstunsuccessfully,itwillbegivenanalarmanddisplaythesizeofthegroupsparklingly.Simultaneity,thisvieforanswermachinehavethefunctionofregisteringthepoint,ifthegroup’sanswerisright,thisgroupwillbeawardedmarks.Contrarily,hewillbereducedmarks.

Keywords:

VieforAnswerSignalChipMicrocomputerCountDown

RecordingScore

 

1绪论

1.1课题的意义

随着我国经济和文化事业的发展,现在人们消遣休闲时间的方式也越来越多,如参加各种业余活动、社团等等,其中参加各种知识竞赛也是一种很好的消遣方式,既娱乐了自己又对各种知识有了了解,而且如法律,环境等知识竞赛是提高人们认识的一个很好的途径。

现在开展的竞赛抢答活动越来越多,而在大多数比赛当中都是采用抢答器进行抢答的,虽然市面上的抢答器功能较为齐全,但价钱也相对较贵,在一些小型的比赛当中难以普及,这就给广大的普通知识竞赛爱好者带来了不便,特别是在像学校这样开展活动比较频繁的场所更是需要一款这样的抢答器,本设计正是一款专为此而设计且非常实用的多功能多路的抢答器。

本设计的核心是使用AT89C51单片机来对信号进行锁存、显示等功能。

抢答器在程序控制下工作,在比赛当中有按键被按下,在程序的控制下就可以判断是那个按键被按下,并对该按键进行锁定,同时输出是那一位选手抢答成功。

当完成了一次抢答的时候,主持人可以通过控制键对上一次的抢答结果进行记分,之后使程序回到初始状态并同时开始下一轮的抢答。

此抢答器电路设计原理简单、功耗低、稳定性好、反应速度快和安装方便。

在条件的允许下还可以进行扩展成16路。

由于实现此抢答器所需的硬件只是一块AT89C51单片机芯片、六个数码管和一些按键等,所以成本比较低,适用于许多场合。

1.2抢答器研究的现状

1.设计的不专业化;

2.成本的高端化;

3.功能的单一化;

4.操作的复杂化;

5.研究目的不明确性;

6.消费者的需求强烈性。

1.3抢答器的功能要求

1.可实现调整显示当前时间;

2.能允许8路抢答或可以扩展为16位;

3.显示抢答组号及抢答组分数;

4.报警闪烁显示犯规组号;

5.限时抢答,限时答题;

6.后5S倒计时每秒声音提示与报警;

7.查询组号分数、对答题结果进行加减指定分数;

8.实现时钟和抢答器功能相互切换。

1.4抢答器总体介绍

1.接通电源后,显示时间,调节时钟调节按键可以设定为当前时间,按功能转换键进入抢答器功能,同时也可以进入时钟显示状态。

2.如果想调节抢答时间或答题时间,按"抢答时间调节“键”或“答题时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0s,调节完成后按确认键。

3.如果想对下一个题目的答题结果加减一定分数,按“答题分数调节键”,此时可以分别调节下一个题目答对加的分数,以及答错要扣除的分数,然后按确认键。

4.主持人按"开始"键后,会有一声提示,并立刻进入抢答倒计时(预设15s抢答时间)状态,如有选手抢答,会有一声提示音,同时显示其组号和当前分数,立刻进入回答倒计时(预设10s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。

倒记时的后5s内每秒钟会有一声提示。

5.如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入记录选手分数状态,等待主持人给选手加减指定的分数,同时显示答题后选手的分数。

然后按“确定”键,等待主持人再次按"开始"键进入下次抢答计时。

6.如果主持人未按"抢答开始"键,而有人按了抢答按键,属于犯规抢答,LED会不断闪烁犯规组号数并响个不停,直到按下"停止"键为止。

7.初设每位选手的分数为5,在选手答题时会在显示倒计时的同时显示其分数,按“加分”或“减分”键对其答题结果给予指定的分数,按“确定”键后,可进入等待下次抢答状态。

8.如果想查询选手的分数,先进入查分状态,然后每位选手按自己的抢答键,将显示选手的号数和分数,最后按“确定”键退出。

9.P3.0为开始抢答,P3.1为停止或确认,p1.0-p1.7为八路抢答器输入端口,数码管段选P0口,位选P2口低6位,蜂鸣器输出为P3.6口。

P3.2抢答时间调整和查分,P3.3回答时间调整及加、减分数调节,P3.4为时间加1调整,P3.5为时间减1调整。

P3.7为时钟功能与抢答器功能相互转换键,P3.1、P3.4、P3.5分别作为时、分、秒的调整键,P3.0为时间调整确认键。

 

2核心元件AT89C51介绍

在本设计中使用的是AT89C51单片机,它是一种低电压低功耗的高性能8位单片机,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,而且输出引脚和指令系统完全与MS-51单片机兼容。

2.1AT89C51芯片主要性能参数

1.4k字节可重擦写Flash闪速存储器(可经受1000次的写入/擦除周期)

2.全静态工作,0Hz~24MHz

3.三级加密程序存储器

4.128×8字节内部RAM

5.6个中断源、4个中断优先级、4个8位I/O口

6.2个16位定时/计数器T0、T1标准80C51和增加的T2捕获和比较

7.存储器寻址范围:

64K字节ROM和64K字节RAM

8.电源控制模式:

时钟可停止和恢复,空闲模式,掉电模式

9.2个工作频率范围

10.时钟模式时为0到20MHz,12时钟模式时为0到33MHz

11.双数据指针

12.可编程串行UART通道、编程时钟输出

13.掉电模式可通过外部中断唤醒

2.2功能特性概述

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

3系统硬件设计

3.1总体原理图

此设计的主要部分为单片机最小系统,设计的总体原理图如图3.1所示,P3.0为开始抢答,P3.1为停止或确认,p1.0-p1.7为八路抢答输入,数码管段选P0口,位选P2口低6位,蜂鸣器输出为P3.6口,P3.2抢答时间调整,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。

图3.1设计总体原理图

3.2AT89C51工作外围电路

3.2.1供电电源

AT89C51单片机为+5v直流供电,如图3.2所示,普通电源通过7805稳压管后将9V电压转换成+5V,会有1A的直流稳定电压输出。

图3.25V直流供电

3.2.2时钟频率

单片机必须在时钟的驱动下才能工作。

在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度,图3.3为外部振荡源电路。

图3.3外部振荡源电路

一般选用石英晶体振荡器。

此电路在加电大约延迟10MS后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。

电路中两个电容C1,C2的作用有两个:

一是帮助振荡器起振;二是对振荡器的频率进行微调。

C1,C2的典型值为30PF。

单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。

起大小是时钟信号频率的倒数,常用fosc表示。

如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12μs。

3.2.3复位

单片机的第9脚RST为硬件复位端,当振荡器起振以后,在RST引脚上输入2个周期以上的高电平,器件便进入复位状态,此时ALE、PSEN、P0、P1、P2、P3输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。

其电路图如图3.4所示:

(a)上电自动复位(b)上电复位和人工开关复位

图3.489C52等单片机的复位电路

值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。

软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。

4基本原理及关键技术

4.1基本原理

整个流程过程主要四大块:

时间显示部分、计时部分、预置部分、控制部分。

电源用+5V,AT89C51为主控制器,当主持人按下复位键后,定时器开始计时,切换在抢答器功能的状态下,如果在抢答时间内没有人抢答则为弃权,如果有人按键定时器停止计时,自动进入答题倒计时状态,同时显示组别和对应分数并发出高频铃声,如果答对主持人按键加给定分数,答错则减给定分数,然后按复位键开始下一轮抢答。

具体分析如下:

1.采用内部定时器定时,定时调用动态显示程序,实现时间的显示;

2.采用独立式键盘,可实现8路抢答,稍微改动也可实现16路抢答;

3.可实行抢答时间和回答问题时间加1,减1的调整,调整范围为0S-99S的调整;

4.有查分、记分功能,未抢答时且在查分状态下,按每位组的抢答按键,可显示组号及其分数,抢答完毕后,同时显示选手目前的分数,主持人可以对选手本次抢答情况进行加减分数。

5.有记时、记分的记忆功能,一次倒计时时间、加减分数设置完,如果不需更改,复位后不需重新进行设定;

6.其扫描显示基本原理为:

通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码;

7.非常规报警为:

为主控制端未起动时对其他按键端进行监控;

8.按键端的提示为:

当抢答完毕时,会在数码管上显示抢答者号码提示以表示抢答成功;

9.其中倒计时功能基本原理为:

通过键盘设定时间,将显示时间数值逐一递减,直到零,完成设定时间的倒计时。

4.2电路设计总体框图

八路多功能智力竞赛抢答器设计电路主要包括主持人控制电路、选手抢答电路、报警与显示电路。

其总体框图如图4.1所示:

图4.1抢答器总体框图

4.3关键技术

4.3.1键盘扫描

在单片机应用中键盘用得最多的形式是独立键盘(图4.2)及矩阵键盘(图4.3):

图4.2独立键盘

图4.3矩阵键盘

它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路;其次就是消除在按键过程中产生的“毛刺”现象。

本设计中采用最常用的方法,即延时重复扫描法,延时法的原理为:

因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。

4.3.2显示

通常情况下显示方法一般包括两种:

一种是静态显示,一种是动态显示。

其中静态显示的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,程序编写简单,但缺点是占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。

在本设计中根据实际情况采用的了动态显示的方法(电路如图4.4所示),并通过查表法将其在数码管上显示出来,其中P0口为字型码输入端,P2口低6位为字选段输入端。

在这里我们通过查表将字型码送给7段数码管显示的数字,数码管显示原理如下:

MOVA,R5

MOVCA,@A+DPTR;查字型码

MOVP2,#01H;送位选码

MOVP0,A;送字型码

ACALLDELAY;调延时,去闪烁

图4.4动态显示电路

在七段数码管显示中可分为共阳极和共阴极两种类型,本设计中采用共阴数码管,当数码管共阴极接地时,如想数码管的a段亮,则向a段送“1”,反之送“0”。

4.3.3发声

我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”、“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。

发声电路如图4.5所示,该电路由一个作为驱动作用的三极管,一个电阻和一个喇叭组成。

图4.5发声电路

5程序设计

5.1程序介绍

1.时间显示与抢答状态切换由按键P3.7控制,P3.7=1时,执行时间显示,P3.7=0时进入抢答器状态,不再显示时间,进入此状态标志为:

数码管显示字符“FFFFFF”。

2.倒计时时间储存:

将初始的时间存在寄存器R1,R2中,如需对抢答时间和答题时间进行调整,则通过按键进入外中断程序,分别对其进行调整,然后再将数据存于R1,R2中。

3.选手号显示:

当有选手按键按下时,程序进行键盘扫描,锁定第一个按键的选手,并将其组号送于53H,同时调用显示程序显示该组号。

4.加减分程序:

先预置每位选手初始分数为5分,分别存于41H—48H,一次成功抢答结束后,调用原来分数,再通过按键对其抢答结果进行加减合适的分数,并存在对应的地址空间内。

5.报警:

对P3.6端口不断取反使蜂鸣器发出一定频率的声音。

5.2主要程序分析

5.2.1程序总体设计框图

整个程序设计主要在于按键控制,程序扫描判断相关功能按键是否闭合来执行相对应的程序模块,本电路设计的总体程序框图为图5.1所示:

图5.1总体程序框图

5.2.2抢答时间调整与查分模块

初设抢答时间为15S,根据题目类型可以调整抢答时间,抢答时间的调整是采用外中断0,当P3.2=0时,进入外中断程序,通过加减按键分别进行加1或减1,然后将最后的数据存入R1中。

时间调整确认后,可以查询每组目前的分数,每组按下自己的抢答键后将会把对应组号和分数分别送入数码管显示,即可查看其分数。

该过程的程序框图如图5.2所示。

图5.2抢答时间调整与查分框图

5.2.3答题时间调整与预加减分设置模块

抢答器初设答题时间为10S,根据题目的难易程度可以调整该时间,抢答时间采用外中断1,调整程序与抢答时间调整相似。

时间调整后,进入欲加减分数设置,初设加减分数都为1,再次利用按键进行设置,每次按键按下,对应的数据将会加1。

这一设置过程的如图5.3所示。

图5.3答题时间调整与预加减分设置框图

5.2.4倒计时程序与加减分数模块

当抢答开始键P3.0=0时,进入抢答倒计时状态,将倒计时时间存入寄存器R6,当R6≤5时,每1S调用一次报警程序,如果在倒计时的时间内有抢答组别键按下,判断组别后,显示组号及当前分数,锁定其他按键,再次进入倒计时状态。

答题结束后,根据答题情况,加减预设分数,然后退出进入下一轮抢答状态。

程序分析过程如图5.4所示。

图5.4倒计时程序与加减分数模块

 

6设计总结

6.1设计过程出现问题及解决

在整体的设计过程中硬件电路的设计比较成熟,花费时间较少,主要的设计在于软件设计上,遇到的问题及解决方法有:

1.使用条件转移指令,如:

JNBbit,rel,编译时不能进行,出现跳出范围错误,该错误是由于该指令的转移范围为256字节(-128~+127B),而无条件转移指令的转移范围相对条件转移指令要大的多,如:

AJMPaddr11指令的转移范围在2K字节范围内,指令LJMPaddr16的转移范围为64KB。

这样通过适当的语句转换使用无条件转移指令就避免了转移跳出范围的现象。

2.单片机的两个定时器分别用于响铃程序和计时程序,所以实时时间显示和倒计时时间只能使用同一个定时方式,设计中却需要成品工作在不同的状态时,实时时间不能中断,即在抢答工作结束后不需要再次调整时间。

对于这一问题可以将两者用不同的寄存器存储时间,同时调用不同的显示程序来实现。

6.2系统存在不足

1.在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理,因而使该次抢答过程变为无效。

2.当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的“竞争”选择其中一个。

对于后者由于抢答电路制作完毕后电子元件被固定。

各路抢答信号的“竞争”能力也被固定,因而本质上也有优先权。

只能“抓住”其中一个而出现“漏洞”。

6.3设计心得

经过这几周的努力,设计终于圆满结束。

在这次设计中我感受到平时多学习,多看资料的重要性。

设计的本身并不太难,只是知识的广度与深度不够。

通过查阅资料,学习到了许多知识,同时让我感受到了,书本上的理论知识和实际应用还是有许多的差别,有些知识是要通过实践在能领会到的。

对于单片机的设计总体上硬件部分比较简单,主要解决的就是软件部分的设计,如果说有了一个较完整的程序让我画电路是件简单的事,但反过来就不是件容易的事情了。

因而程序的设计是一个设计的主题,它反映了一个人解决问题的思路,这才是最重要的东西。

我在设计的过程中查阅了不同书籍中完成同一功能的子程序,通过比较选择最适合的程序。

整个设计通过软件与硬件的调试与仿真,使我懂得了学习的重要性,这对我以后的学习和工作将会有很大的帮助。

 

致谢

本文从课题的选定到系统设计方案的确立,我的导师都一直地、不断地给予我指导和帮助。

在真正的设计过程中不时地问我有哪些困难,引导我顺利地去解决。

在我遇到苦难时,他能够用简短的语句让我明白问题的所在。

在论文的撰写上也给了我好多的意见。

他广博的知识面和丰富的实践经验,使我十分佩服,这也将激励我在今后的工作和学习中不断的进取。

在此,向您表示由衷地感谢和真诚的敬意。

同时,还感谢在整个过程中曾经帮助过我、支持我的老师、同学。

谢谢你们对我的帮助与支持。

 

参考文献

[1]张友德主编.MCS-51单片微型机原、应用与实验.第四版.复旦大学出版社.2003.

[2]薛钧义武自芳主编.微机控制系统及其应用.第一版.西安交通大学出版社.2002

[3]陈光东主编.单片微型机原理.第一版.华中科技大学出版社.2003

 

附录1主要元器件引脚功能

1、AT89C52引脚图

2、AT89C51主要引脚功能

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

 

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTA

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1