八路智能抢答器的设计
王东
摘 要 智能抢答器现在更多的被使用于智力以及知识竞赛的场合。使用智能抢答器,一方面可以分辨出是几号选手获得了最先发言的权利,另一方面还可以显示出选手按抢答按钮的时间。实现智能抢答器的电路有很多种方法,从一开始的数字电路慢慢的变为了单片机、电脑以及PLC等,功能和价格也有着很大的不同。这次设计的方案是通过单片机来实现的,它可以在限定的时间之内抢答,同时还可以显示出抢答结果。这次的设计是通过单片机以及锁存器,再加上单片机的外部接口来做成的系统。在软件方面,通过使用定时器与计数原理,使得其内部的硬件以及软件相互联系起来,由于其两者的相互结合,该设计便可以达到预期的效果,除此之外它还可以把使用的计时数字显示在数码管上面。它具有硬件结构简单、操作方便、实用性强和反应快等优点。
关键词 抢答器 AT89C51锁存器 数码管
中图分类号:TP18 文献标识码:A 文章编号:1007-0745(2020)04-0007-04
1 绪论
1.1 抢答器的发展
21世纪的到来,科技正高速的发展着,电子技术也在突飞猛进地更新着,在我们日常生活中的各个地方,电子产品似乎一直就没有离开过我们的视线,在它的带动之下,大多数的产业发展都有了非常大的提升。因为电子产品的发展,社会的信息程度也得到了更多的提升,与此同时,相比之前我们的思维和生活的状态也有着非常大的改变。在这种科技高速发展的时代,产生了许多产物,课本中所涉及的单片机就是其中之一。与传统的器件相比较,他具有高密度、非易失性存储的技术,且功能强大、性价比高,因此适用于很多场合。
抢答器本身作为一个新型的电子产品,在许多游戏、智力活动以及竞赛中广泛使用,他可以直观、准确、公正地辨别出哪位选手第一时间抢答。在日常生活中,抢答器可以由很多种方式实现,一般有电子器件、PLC以及本文的单片机,但这几种方案相比之下,使用电子器件的话,需要消耗大量的元器件才能够实现抢答功能,而且随着功能需求的增多,气垫路也在逐渐变得复杂,因此它的难度偏大,而且容易出现故障;另一种用PLC来制作抢答器的话,虽然其结构相比较为简洁、程序也不复杂,但是,PLC的价格比较昂贵,因此作为一个抢答器不是很适合使用PLC;然而使用单片机的话,就不用考虑之前两者的种种问题,单片机需要的器件比较少,编程以及结构都相对于比较简单,而且价格也比较低,因此作为制作抢答器,使用单片机比较适合。在本文中,AT89C51单片机为核心,完成八路抢答智能化设计,对应谁按下了抢答键,在同一时间,数码管显示,同时也是第一个玩家的最终判决,各自的信号处理具有有限的时间和蜂鸣器报警功能,具有极高的可靠性和可用性[1]。
1.2 抢答器的原理与特点
该设计通过使用定时器与计数原理,使得其内部的硬件以及软件相互联系起来,由于其两者的相互结合,这让该系统可以顺利的开始计时功能得到了实现,除此之外他还可以把使用的计时显示在数码管上面,然后借用开关按键来作为键盘的输出信号,然后蜂鸣器发声提示。同时我的设计还能够控制在管理人员没有示意可以作答并按下作答键的时候,八个按钮是不能完成抢答的,他们按下的信号都是失效信号;规定选手作答时间的定时是可以自由调整的,其数值在一百秒之内即可;当有人通过按键来做出有效的抢答,这时的信号是有效的,接着扬声器便会开始工作,以此来说明出现的抢答情况;当抢答器工作之后,原先设置的定时会开始做倒计时工作,当达到设定时间的时候,按键就会自己锁定,如若需要再次抢答按下复位键即可。
这次设计的基本理论是以八路抢答器为主。因为设计里面需要有能够设定时间的模块,于是使用该单片机来实现抢答系统,再加上单片机的外部接口以及汇编语言的使用基本上就能够实现题目八路抢答的功能了。软件方面,开始先使用proteus和keilC51实行编译仿真,然后PCB板的绘制工作就由Protel99SE来实现,最后将进行硬件的测试。
1.3 抢答器的研究现状
在日常生活里的各种竞赛中,抢答器已经成为了不可缺少的硬件设备了。科技高速的发展着,电子技术也在突飞猛进地更新着,在我们日常生活中的各个地方,电子产品似乎一直就没有离开过我们的视线,在它们的带动之下,许多产业的发展都有了非常大的提升。因为电子产品的发展,社会的信息程度也得到了很大的提升,与此同时,相比之前我们的思维和生活的状态也有着非常大的改变。在这种时代的背景下,本文中所使涉及的单片机技术便出现了。它包含了核心处理器和只读内存,除此之外还有一个存储器,这些在一起就形成了单片机。
智能抢答器的应用非常广泛。比如学校、节目和日常娱乐活动等地方,这种竞赛场合需要用到的就是抢答器。但是目前生活中接触到的产品却并不多,产品功能也大不相同。有的产品设计复杂,功能却不一定符合我们的要求,而且价格昂贵。
现在市场上有各不相同的抢答设备,然而其中大部分都是先前比较落后的设计,像比较成熟的产品就基本上是用数字和模拟电路相互联合产生的产品,如果想要实现其他的功能,就需要改变原先的电路以达到目的,但是这样一来就会增加其成本。身为电子产品的抢答器,在日常生活中已在非常多的场合使用。目前在一些复杂性电路使用单一应答很不容易且可靠性低,这是非常难以实现的;别人会用一些特殊的歧管,但歧管及为特殊,收购非常困难。正是因为这样,所以这个设计有着比较大的设计意义。
2 抢答器实现的原理与硬件电路
2.1 设计原理
任务需求:(1)设计可以同时提供给八个选手使用,分别用八个按钮从左到右依次代表他们八人。(2)设置三个按键“开始”、“暂停”和“复位”让主持人来控制抢答器。(3)当然,前面提到的定时功能是不可缺少的,当“开始”键被按下之后,各位选手便能够开始按键抢答了,如果出现情况需要暂停,主持人按下“暂停”键就可以,当倒计时只剩五秒的时候,蜂鸣器就会开始响,提示时间即将结束。(4)锁存存储功能也是不可缺少。当有人按下“抢答”按键的时候,这时锁存器便会存储其相对应的信号源,在此之后便把他译为编码显示在数码管上面,这个时候的蜂鸣器也会工作提示,锁存的内容直至主持人按下“复位”清除为止。(5)有效的按键时间长短能够由设定人自行设置。(6)作答人可在之前设定好的期限按键,如果有人按下,这个时候的定时便不会继续工作,数码管就会将作答人的编号和所剩期限表达出来。(7)如果到达设定时间时无人抢答,倒计时五秒后蜂鸣器响起,最后禁止搶答,然后数码管会熄灭结束本次抢答。
此次设计的理念是:八路智能抢答器。因为该设计得有限定时间的功能,于是单片机AT89C51便成为了这次设计的重要组成部分。该系统不仅可以实现运算控制、识别信号,还可以显示出需要的信息。利用该单片机和外部接口可以实现抢答功能,单片机收集到选手的信号的时候,用锁存器识别并锁存信号,经过单片机的处理并产生信号,然后传给数码管用于显示功能,同时蜂鸣器响起提示有人抢答成功。除此之外,在这次设计中还使用到了声源系统以及键盘等器件,因此具有定时、计时、暂停和警告等功能。
2.2 硬件设计
2.2.1 电路设计
(1)抢答器的电路框设计
当器件被接入+5V电源,“复位”按键被管理人员按下,在这之后本设计便不能实现任何的操作。此时可以设置定时器。稍后“开始”键便可以被按下,然后可以示意选手开始按键抢答。当被示意可以按键时,之前所设置好的定时便会伴随着蜂鸣器的的声响进入倒计时。这时作答人便可以在之前设定的期限按键,不然会被视为无效。在这期间,本设计会实现:辨别、存储、显示和发声器件的提醒。当有作答人按键,定时便会马上停止,以防止出现二次作答,数码管就会将作答人的编号和所剩期限表达出来了。当需要再次抢答的时候,主持可人通过操作“开始”状态来控制继续开始抢答。
(2)串行通信模块
本设计中采用的AT89C51的串口是使用的TTL电平标准,其逻辑电平0和逻辑电平1分别为0V和5V,但电脑上的串行口使用的却是RS232C电平标准,其逻辑0电平和逻辑1电平的范围分别是3至12V和-3至-12V。由于两者的电平范围存在着比较大的差距,所以在连接的时候就需要使用电平转换器来解决这个问题。上下位机的通信参数的波特率是9600bps,没有校验位,但含有一个停止位以及八个数据位。其上位机与下位机之间的串口通信数据应用的数据帧为6bit,帧头与帧尾分别都固定占有1bit和2bit,剩下的3bit则为其两者之间的内容。其中每帧数据都是以40H开始的,以2AH0DH结束,通过这样的协议,上下位机就能够自行进行辨别这个时期的帧数是不是违法的,当不是违法的时候,就可以直接解决相对的帧数数据了;当出现违反定义规定时,系统便会将之前违法帧数重新进行输入,直到该帧数不在违反就停止,然后便继续解决相对的帧数数据[2]。
(3)复位电路模块
它的工作方式为:当接入+5V电压时,它的电容两头可以理解为短路的状态,紧接着电容由通电的电阻对其完成充电,RST端的电压会逐渐下降,当下降到某一值时,就会成为低电平,此时单片机便开始正常工作了。
本设计在硬件复位之后,其内部的状态、寄存器和存储器的值全部将恢复到一开始的值,应用了软复位,因为在调整抢答时间和定时的时候,得用到存储功能。
(4)主控制系统模块
主控制器采用AT89C51,AT89C51单片机是新一代产品,他具有高速、抗干扰和低功耗等优点。作为一个高性能的CMOS8位单片机,他拥有4KB的可反复擦写1000次的Flash只读程序存储器,不仅支持ISP可以在线编程,还支持最高的工作频率33MHz,他的工作电压范围在4-5.5V,而且他抗干扰性强,向下51系列的产品他几乎都可以达到兼容,因此他具有很高的性价比。
(5)时钟电路模块
在本设计中,需要用到时钟,而时钟基本上里面都含有一个波形发生器,大致可分为内部和外部形势来完成电路。为了需求和达到简洁的目的,因此采用内部振荡的方式。在外片晶体或陶瓷谐振器当作反馈元件的情况下,与该放大器在一起就可以组成一个自激振荡器了。
虽然其里面含有波形发生器,但是想要形成它,还需要在外面接上其他元件。因此该电路是由两个元件组成,包括瓷片电容和波形发生器。时钟电路在工作的时候,可以产生时钟信号用于单片机的工作需求,而指令执行里面的各种信号之间的关系与联系则是时序所研究的对象。而其本身则可以当作是一个相对复杂的电路,他之所以可以使用同步的方式完成任务,是因为电路被仅有的时钟信号严格控制,在此之下工作才能保证他的实现。
(6)显示电路
本文运用的是常见的四位八段共阴极数码管来做输出器件,利用他的编码的变换来实现其原理。位选码COM1、COM以及COM4分别与单片机的三个接口P2.0、P2.1和P2.2相接,然后单片机会自己选择哪一位需要显示。由于AT89C51单片机的P0口并没有内置的上拉电阻,因此可以外接一个上拉电阻在数据接P0口,本系统采用的上拉电阻是外接1KΩ的,用来保证P0口一直保持是高电平状态下没有输出的时候。
(7)按键输入电路
在单片机里面,通常情况下键盘上的按键是自动辨识的,而他的按键也可以分为两种,一种是有触点式,另一种是非触点式,通常应用在系统里面的键盘基本上是运用了触点式。为了让单片机可以准确地读出键盘上所接的I/O状态,需要按键和响应做到一对一的单独反应,因此需要做到在按键的过程中不会出现抖动,而本文中的器件使用的是软件方法可以防止其出现抖动。
本设计的智能抢答器使用了十一个小按键来输入信号。在这十一个按键中,有八个作为抢答按键,另外三个分别是“开始”按键、“暂停”按键和“复位”按键。每个键位都有其单独的信号线与单片机电路连接,这些键位共同连在相同的端口,于是每个键位便都能够独自作用而不会影响到其他按键的功能。运用上拉电阻先将信号变成高电平,有人按下抢答按键时,与其相对的引脚就会马上变成低电平并且做出相应的反应,相对应的输入信号也成了低电平,这样一来就产生了有效的输入信号。
(8)报警电路
报警电路一般使用了晶体管的电流放大作用,接着使用驱动元件来驱动蜂鸣器,以此达到发声的目的。报警模块核心在于管理人员示意可以按键作答之后,有信号发出;提醒作答人,设置期限即将结束;出现作答人按键作答等。该部分的需求:当有选手完成抢答的时候,需要有一个提示声音。选用有源蜂鸣器,然后来与软件相结合,最后经過PNP晶体管的驱动,以产生声音信号。
该设计使用的是AT89C51的十七引脚借助器件来驱动蜂鸣器发音,使得蜂鸣器发音的电流大概需要十毫安即可,通过增加接入的电流作用来使蜂鸣器发音以提示作答人作答。由于P0口没有上拉电阻的原因,因此设计中需要另外接上一个上拉电阻,这样一来就可以提供一定的上拉电流。用单片机来实现的报警电路,相比之下比较简洁方便。硬件电路方面,在P3口的随意一个外接口外接蜂鸣器即可达到目的。
(9)电源模块
本设计可以采用电池供电的方式,除此之外,还可以通过USB供电。
2.2.2 电路工作原理
如果进入锁存器的数据都是相同的时候,系统电路就会将数据传输到外面,此时的锁存器将不会被关闭。与此同时,这时候的数据将会在锁存器中传送一遍,正因如此,与其相对的数据出现改变的时候,其尾部的传送端口也在做着与其对应的改变。此时改变的输出电平将直接进入控制电路,这时锁存器便会进行锁存。锁存器的特点便是当处于锁存状态时,不管输入的电平怎么发生变化,输出的电平都不会随之改变,这时与改变过的输出端的电平将由电平完成编码之后传输到数码显示译码器进行译码,此时的数码管将被控制驱动器控制,以达到显示功能[3]。
(1)输入锁存
当锁存器的S端是高电平的时候,电平可以直接从其输入端(1D~8D)传输到对应的输入端(1Q~8Q),如果S端的电平出现由高至低的情况时,锁存器就开始实现他自己的多功能了,然后传送进去的数据便不会传送出去,正因如此,传送出来的数据都不会再做出改变。
(2)编码和译码显示
译码器只有当进去和出来的数据都为低电平时才能够实现其功能。所以锁存于锁存器末端端口的低电平到达其内部时,由编码器进行编码,完成编码后的二进制代码电平再由非门分别倒相,在完成倒相之后再送到译码器,在此之后由译码器的输出端传输出驱动电平来驱动数码管,于是对应的字符便被显示出来了。
2.2.3 电路检测及使用元器件
(1)电路检测
首先:将主持人控制的按键设置为“清除”键,这时使用设备来检查触发器的端口是否显示成所需求的数值,然后再传送出去。此时译码器的四端为零,显示器的灯便熄灭了;编码器的选通输入端的五端也同样为零,然后编码器就开始准备工作了,而译码器的四脚是0,这個时候的锁存电路是不工作的。当按下抢答键的时候,电路也是不会工作的,这时按键都是失效的,输出端都是低电平。
紧接着:将按键置于工作状态,此刻的编码器的五端还是为零状态,因此此刻的设备是在随时准备工作,在没有出现选手按键时,编码器部分的引脚处于高电平[4]。
(2)元器件列表
2.2.4 控制的核心AT89C51
(1)简介
AT89C51产自美国Atmel公司,Atmel公司的技术在全球处于领先地位,公司主要是设计和制造储存器等各种元器件,2016年被美国芯片制造商Microchip Technology收购。其特点在于高密度以及非易失性,拥有很多功能,可以灵活的应用于很多领域。
(2)主要特性
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[5]。
3 软件设计的整体思路
硬件设备是单片机开发中的必备条件,除此之外,软件设计也必不可少。根据本文的设计要求,需要根据不同路数来显示与其对应的编码。首先进行赋值工作,然后各端口和计时器就会被初始化。当运行键被操作运行之后,管理人员就可以示意作答人作答,在此同时的计时器便会计时,并且剩余时间会被一同描述在相关器件上面。在倒计时没有结束的时候,八个按键输入信号会一直被程序刷新检测,如果有选手按键,此时按键对应的输入信息会马上被存储起来,然后开始判断出抢答按键的位置,与此同时,输入信号会通过数码管显示出来,此时蜂鸣器也会响起报警,定时器便会停止倒计时,在此之后输入信号便不会被检测了;如果主持人按下“开始”键开始抢答之后,无人按键,当定时器倒计时到一定时间时,蜂鸣器便会响起提示抢答即将结束,直至时间结束,抢答将被禁止。主持人通过“复位”键便可以开启再次抢答。
4 基于Proteus的系统仿真
4.1 仿真图
Proteus软件是一家英国公司所开发出的仿真软件,它可以进行电路的分析以及实物的仿真。
4.2 仿真结果
4.2.1 抢答成功模块
显示了几号选手抢答成功,并且还剩余多少秒的抢答时间。
4.2.2 时钟模块
显示在抢答开始之后,时间开始倒计时,各位选手的剩余时间为多少。
4.2.3 复位模块
显示单片机开始工作和按下“复位”键之后的结果,数码管上的初始显示状态为“---”。仿真结果表明,本设计的电路原理、程序是正确的,它能够实现系统设定的抢答器的功能[6]。
5 总结
本设计是以AT89C51单片机为核心,来设计的一个八路智能抢答器。在使用软件Proteus进行的仿真结果与实物的验证,表明了该抢答器的设计原理的正确性,它完全可以精准地在最快时间描述出有效的所需数据,从而完成与其的抢答、倒计时和提示音等模块,它具有迅速操作、操作简单、实用性很高等特点。该抢答器在现实生活中可以根据实际的场合来进行改善。
参考文献:
[1] 臧殿红.基于AT89C51的八路抢答器的设计[J].科技信息,2011(25):518,530.
[2] 赵亮.跟我学51单片机(四)——独立-矩阵键盘应用与设计[J].电子制作,2011(04):75-78.
[3] 卢易枫.抢答器控制系统设计[J].工业控制计算机,2015(02):118,120.
[4] 王静.基于单片机的数据串口通信[D].长江大学,2013.
[5] 孟建平,赛恒吉雅.基于单片机串行通信的抢答器设计[J].内蒙古石油化工,2011(07):120-121.
[6] 苏利.电子线路综合实验模块设计[J].电气电子教学学报,2008(06):49-52.
(湖北能源集团新能源发展有限公司检修分公司,湖北 利川 445400)