八路抢答器毕业论文设计.docx
- 文档编号:28928231
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:20
- 大小:85.89KB
八路抢答器毕业论文设计.docx
《八路抢答器毕业论文设计.docx》由会员分享,可在线阅读,更多相关《八路抢答器毕业论文设计.docx(20页珍藏版)》请在冰豆网上搜索。
八路抢答器毕业论文设计
RevisedbyBLUEontheafternoonofDecember12,2020.
八路抢答器毕业论文设计
青岛理工大学
毕业论文
题目:
抢答器设计
学生姓名:
**
学生学号:
********
院系名称:
机电工程系
专业班级:
***************
指导教师:
*****
2016年6月15日
摘要
随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。
本文设计出以AT89S51单片机为核心的八路抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。
本设计是以抢答为出发点。
考虑到依需设定限时回答的功能,利用89S51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:
在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:
抢答器,单片机,LED数码显示管,定时器/计数器,扬声器
ABSTRACT
Withthedevelopmentofscienceandtechnologyandthepopularizationofallkindsofcompetitionmoreandmore,whichanswerismoreandmoreimportant.PaperdesignouttoAT89S51singletabletsmachineforcoreofeightanswerdevice,usedhasdigitaldisplaydirectlyindicates,automaticallylocksavedisplayedresults,andautomaticallyresetofdesignthought,itcanaccordingtodifferentofanswerenteredsignal,aftersingletabletsmachineofcontrolprocessingandproduceddifferentofandenteredsignalrelativeshouldofoutputsignal,lastthroughLEDdigitaltubedisplayedcorrespondingofnumber,eventwogroupofanswertimedifferenceseveralmicroseconds,alsocantelloutiswhichgroupprioritybyXiaofpress,fullusinghassingletabletsmachinesystemstructuresimple,Powerful,reliableandpracticalfeatures.Thisdesignistoanswerasastartingpoint.Takingintoaccountthefunctionsaccordingtothesettimelimittoanswer,using89S51microcontrollerandperipheralinterfaceimplementationsoftheVIESsystem,usingtheprinciplesoftimingandcountingtimer/counter,combiningsoftwareandhardware,andallowsthesystemtocorrecttiming,whileallowingdigitaltodisplaythetimecorrectly.Switchesthekeyboardoutput,speakertip.Whilethesystemcanachieve:
answer,onlyafterthestartofcontestisonlyvalid,ifVIEStoanswerbeforeyoubegintobeinvalid;fullsystemsaftertimeautomaticresetandmasterforcereduction;keylockintheeffectiveState,keyisinvalidillegal.
KeyWords:
responder,singlechipmicrocomputer,LEDdigitaldisplay,timer/counterspeakers
第1章绪论
1.1课题研究的背景及意义
抢答器已经越来越多的出现在我们的学习生活和电视节目中,例如在学校里经常会举办各种各样的智力竞赛,就会用到抢答器,抢答器是能够在任何比赛及竞争性的游戏中体现公平、公正的电子装备,在各项中不仅可以准确、公正和直接地判断出第一个抢答者是谁,还有助于锻炼参赛者的掌握知识的能力、思维反应能力、语言表达能力、心理承受能力。
但如果在比赛中,做不到严格意义的公正,会挫伤选手的积极性,达不到比赛的真正目的。
随着电子技术的迅速发展,通过人为判断抢答器顺序这种古老的方法早已被现在先进的电子产品所取代。
现在的电子抢答器虽然制作方法不同,但基本设计实现的功能都大同小异,无外乎需要设计一个竞赛抢答器,要求具有任意路抢答输入,能够识别最先抢答的信号,显示该分台号;对回答问题所用的时间进行计时、显示、超时报警;可以预置回答问题的时间;同时具有复位功能,倒计时启动功能等等的主要实现功能。
1.2可编程控制器概论
可编程控制器(PLC)是一种新型的通用自动化控制装置,它将传统的继电器控制技术、计算机技术和通讯技术融为一体,具有控制功能强,可靠性高,使用灵活方便,易于扩展等优点而应用越来越广泛。
可编程控制器(ProgrammableLogicController)即PLC。
现已广泛应用于工业控制的各个领域。
他以微处理为核心,用编写的程序不仅可以进行逻辑控制,还可以定时,计数和算术运算等,并通过数字量和模拟量的输入/输出来控制机械设备或生产过程。
美国电气制造商协会经过4年调查,于1980年将其正式命名为可编程控制器(ProgrammableLogicController),简写为PC。
后来由于PC这个名称常常被用来称呼个人电脑(PersonalComputer),为了区别,现在也把可编程控制器称为PLC。
1.3课题研究内容
系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。
硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。
软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试,测试,达到所需功能要求。
在系统设计中设计方法的选用是系统设计能否成功的关键。
硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。
硬件电路的设计最重要的选择可编程的PLC,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。
硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。
第2章抢答器的概述
2.1系统设计的功能
2.1.1基本功能
(1)同时供8名选手比赛,分别用8个按钮S0~S7表示。
(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。
(3)抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
2.1.2扩展功能
(1)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
当主持人启动“开始”键后,定时器进行减计时。
(2)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
(3)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
2.2抢答器的需求分析
1、在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效。
2、抢答限定时间和回答问题的时间可在1~99s设定。
3、可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示。
4、抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。
5、按键锁定,在有效状态下,按键无效非法。
第3章硬件电路的设计
本系统采用AT89S51单片机作为核心,控制系统的四个模块分别为:
单片机最小系统、显示模块、显示驱动模块、抢答开关模块。
抢答器原理框图如图3.1所示。
图
图3.1抢答器原理框图
总体设计之后,然后进行单元电路设计。
单元电路设计分为电源电路设计、时钟和复位电路、键盘电路、显示报警电路等。
3.1总电路原理
为使硬件电路设计尽可能合理,应注意以下几方面:
(1)尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。
(2)留有设计余地。
在设计硬件电路时,要考虑到将来修改扩展的方便。
因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。
(3)程序空间,选用片内程序空间足够大的单片机,本设计采用AT89S51单片机。
(4)RAM空间,AT89S51内部RAM不多,当要增强软件数据处理功能时,往往觉得不足。
如果系统配置了外部RAM,则建议多留一些空间。
如选用8155作I/O接口,就可以增强256字节RAM.如果有大批数据需要处理,则应配置足够的RAM,如6264,62256等。
随着软件设计水平的提高,往往只要改变或增加软件中的数据处理算法,就可以使系统功能提高很多,而系统的硬件不必做任何更换就使系统升级换代。
只要在硬件电路设计初期考虑到这一点,就应该为系统将来升级留足够的RAM空间,哪怕多设计一个RAM的插座,暂不插芯片也好。
(5)I/O端口:
在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。
如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。
如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。
3.2时钟频率电路的设计
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
MCS-51单片机允许的时钟频率是因型号而异的。
晶振的选择:
6MHz的晶振,其机器周期是2us。
12MHz的晶振,其机器周期是1us,也就是说在执行同一条指令时用6MHz的晶振所用的时间是12MHz晶振的两倍。
为了提高整个系统的性能我选择了12MHz的晶振。
振荡方式的选择:
内部振荡方式,MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。
这样就构成了内部振荡方式。
外部振荡方式是把已有的时钟信号引入单片机内。
这种方式适合用来使单片机的时钟与外部信号一致。
在我的这个设计中没有也无需与外部时钟信号一致,所以我选择了内部振荡方式,由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振我选择了12MHz,相对于6MHz的晶振,整个系统的运行速度更快了。
电容器C1、C2起稳定振荡频率、快速起振的作用,电容值我选择了30pF。
内部振荡方式所得的时钟信号稳定性高。
图3.3时钟电路的设计
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,常用fosc表示。
如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12μs。
3.3复位电路的设计
3.3.1复位电路的可靠性设计
计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作。
只要RST保持高电平,则MCS-51循环复位。
只有当RST由高电平变低电平以后,MCS-51才从0000H地址开始执行程序。
本系统采用按键复位方式的复位电路。
MCS-51单片机有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期(即24个时钟周期)以上的高电平。
使器件复位,只要RST保持高电平,MCS-51保持复位状态。
此时ALE、/PSEN、P0、P1、P2、P3口都输出高电平。
RST变为低电平后,退出复位,CPU从初始状态开始工作。
复位以后内部寄存器的初始状态为(SP=07,P0、P1、P2、P3为0FFH外,其它寄存器都为0。
在RST复位端接一个电容至VccHE一个电阻至Vss,就能实现上电自动复位,对于CMOS单片机只要接一个电容至Vcc即可。
如图,在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使MCS-51有效地复位。
RST端在加电时应保持的高电平时间包括Vcc的上升时间和振荡器起振时间,Vcc上升时间若为10ms,振荡器起振时间和频率有关。
10MHz时间约为1ms,1MHz时约为10ms,所以一般为了可靠地复位,RST在上电时应保持20ms以上的高电平。
RC时间常数越大,上电时RST端保持高电平的时间越长。
当振荡频率为12MHZ时,典型值为C=10uF,R=8.2kΩ.
图3.4上电复位电路
3.3.2人工复位
除上电自动复位以外,常常需要人工复位,将一个按钮开关并联于上电自动复位电路,按一下开关就RST端出现一段时间的高电平,即使器件复位。
如图所示。
图3.5上电和开关复位
而我们在这次的毕业设计中运用的人工复位电路.其中电平复位是通过RST端经电阻和电源Vcc接通而实现的,按键手动电平复位电路如图。
当时钟频率选用12MHz时,C选取10uF,R选择1000欧。
3.4显示电路的设计
显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
3.4.1显示模块在系统硬件中的安排
操作者主要设计从显示设备上获取微机系统的信息的,因此,操作者每操作一下,显示设备商都应该有一定的反应。
这说明,显示模块与操作有关,即监控程序是需要调用显示模块。
不同的操作需要显示不同的内容,这又说明各执行模块对显示模块的驱动方式是不同的。
另一方面,在操作者没有进行操作时,显示内容也是变化的,如显示现场各物理量的变化情况。
这时显示模块不是由操作者通过命令键来驱动,而是由各类自动执行的功能模块来驱动。
自动执行的各类模块在安排在各种中断子程序中,这就是说,各种中断子程序也要调用显示模块。
如果监控安排在中断子程序中,两者的要求就统一了,问题比较好解决,如果监控程序安排在主程序中,在监控程序调用显示模块的过程中发生了中断,中断子程序也调用显示模块,这时就容易出问题。
一种比较妥善的办法是只让一处调用显示模块,其他各处均不得直接调用显示模块,但有权申请显示。
这就要设置一个显示申请标志,当某模块需要显示时,将申请标志置位,同时设定有关显示内容(或指针)。
由于一处调用显示模块,故不会发生冲突。
为了使显示模块能及时反应系统需要,应将显示模块安排在一个重复执行的循环(如监控循环或时钟中断子程序)中。
当监控程序(键盘解释程序)安排在时钟中断子程序中时,处理比较方便,只要在监控程序的汇合处调用显示模块就可以了。
这里将显示功能集中到一起,作为一个功能模块,就要求它的功能全面,能根据系统软件提供的信息自动完成显示内容的查找,变换和输出驱动。
这样设计使得各功能模块都不必考虑显示问题,只要给出一个简单的信息(如显示格式编码)甚至不用再提供额外信息,直接利用当前状态变量和软件标志就可以完成所需的显示要求。
如果编写这样一个集中显示模块有困难,也可以将显示模块编小一些,只完成显示缓冲区的内容输出到显示器件上的工作。
这时各功能模块在提出显示申请时,还需要将显示内容按需要的格式送入显示缓冲区中。
这样分而治之比较容易编程,但要小心出现显示混乱。
例如后台程序需要调用显示,将有关信息送入到现实缓冲区进行显示;中断返回后,后台程序继续送完后半部分显示内容,但前半部分内容已经变了,这样就出现了显示错误。
解决的办法是,在申请显示前,先检查是否已经有显示申请,如果有,就不再申请,等待下次机会;如果没有,则先申请标志位,再将显示内容送入显示缓冲区。
这时就不必担心其他前台模块来打扰了,就可以得到一次完整的显示机会。
在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:
一种是静态显示,一种是动态显示。
其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。
在本设计中根据实际情况采用的是动态显示方法。
并通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低3位为字选段输入端。
在这里我们通过查表将字型码送给7段数码管显示的数字,数码管显示原理如下:
MOVA,R5
MOVCA,@A+DPTR;查字型
MOVP2,#01H;送位选码
MOVP0,A;送字型码
ACALLDELAY;调延时,去闪烁
在七段数码管显示中可分为共阳极和共阴极两种类型极。
以共阴为例,要想a段亮,向a段送1就是,返之送0,共阳刚好相反。
3.5扫描电路的实现
键盘是人与微机系统打交道的主要设备。
关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。
站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。
在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。
它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。
其次就是消除在按键过程中产生的“毛刺”现象。
这里采用最常用的方法,即延时重复扫描法,延时法的原理为:
因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。
3.5.1按钮输入的硬件处理
按钮的触点在闭合和断开时均会产生抖动,这是触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。
现在一般均用软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms,例如取10-20ms。
如果监控程序中的读键操作安排在主程序(后台程序)或键盘中断(外部中断)子程序中,则该延时子程序便可直接插入读键过程中。
如果读键过程安排在定时中断子程序中,就可省去专门的延时子程序,利用两次定时中断的时间间隔来完成抖动处理。
3.6发声
我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或“低”电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。
3.7系统复位
使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。
从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。
硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。
上电复位,人工按钮复位和硬件看门狗复位均为硬件复位。
硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。
但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作,这样一个事实却容易被不少编码人员所忽视。
软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。
对各专用寄存器的复位操作是容易的,也没有必要完全模拟,可根据实际需要去主程序初始化过程中完成。
而对中断激活标志的清除工作常被遗忘,因为它没有明确的位地址可供编程。
有的编程人员用020000(LJMP0000H)作为软件陷阱,认为直接转向0000H地址就完成了软件复位,就是这类错误的典型代表。
软件复位是使用软件陷阱和软件看门狗后必须进行的工作,这时程序出错完全有可能发生在中断子程序中,中断激活标志已置位,它将阻止同级中断响应。
由于软件看门是高级中断,它将阻止说要中断响应,由此可见清除中断激活标志的重要性。
在所有的指令中,只有RETI指令能够清除中断激活标志。
前文各处提案到的出错处理程序ERR主要完成这一功能,其他的善后工作交由复位后的系统去完成。
有复位时系统的历史状况,可将复位分为“冷启动”和“热启动”。
“冷启动”时,系统的状态全部无效,进行彻底的初始化操作;而“热启动”时,对系统的当前状态进行修复和有选择的初始化。
系统初次上电投入运行时,必须是“冷启动”,以后由抗干扰措施引起的复位操作一般均为“热启动”。
为了使系统能正确决定采用何种启动方式,常用上电标志来区分,如图3.6所示。
图3.6系统复位策略图
第4章软件设计
系统软件分为主程序、中断服务程序和子程序三部分。
4.1主程序设计
主程序流程框图如图4.1所示。
图4.1主程序流程框图
主程序是系统上电或复位后首先要执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 抢答 毕业论文 设计