抢答器的设计与制作_第1页
抢答器的设计与制作_第2页
抢答器的设计与制作_第3页
抢答器的设计与制作_第4页
抢答器的设计与制作_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..抢答器的设计与制作[摘要]文章介绍了一种单片机控制的智能化抢答器,该抢答器可克服普通抢答器存在的缺陷。详细介绍了其硬件结构和软件设计方法。设计了一种以单片机AT89C51为核心的四路抢答器,从硬件和软件两方面详细介绍了抢答器的设计方法,结合Proteus软件的仿真结果,根据电路图焊接实物,软件仿真及硬件调试结果表明,该抢答器的设计实现了预期的目标。[关键词]抢答器;有效抢答;违规抢答;单片机AbstractThispaperintroducesamicroprocessorcontrolledintelligentResponder,theResponderRespondercanovercomethecommondefects.Detailsoftheirhardwareandsoftwaredesignmethods.DesignedamicrocontrollerAT89C51asthecoreoffourResponder,bothfromthehardwareandsoftwaredescribedindetailResponderdesignapproach,combinedwiththesimulationresultsProteussoftware,accordingtothecircuitdiagramweldingkind,softwaresimulationandhardwaredebuggingresultsshowthattheResponderisdesignedtoachievethedesiredobjectives.KeywordsResponder;effectiveanswer;violationResponder;SCM目录抢答器的设计与制作1引言2一、抢答器的组成与原理21.1电路组成与原理31.2主体电路的功能31.3控制系统的工作原理4二、总体设计42.1设计需求42.2抢答器的工作原理42.3硬件设计52.4显示模块62.5按键输入模块62.6蜂鸣提示模块62.7复位模块7三、软件设计73.1违规抢答信号的记录73.2第一有效抢答信号的识别及处理83.3多个第一有效抢答信号的处理83.4中断9四、基于Proteus的系统仿真104.1抢答成功模块104.2非法抢答模块104.3复位模块104.4硬件实现11五、结论11参考文献12引言单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等"智能型"工业产品。在知识竞赛抢答中,简单电路设计的抢答器,只靠人的能力很难判断出哪一组先抢答,且故障率高、体积大应用不方便。利用单片机编程设计抢答器,能轻松地分辨出抢答的次序,且具有体积小、故障率低的优点。一、抢答器的组成与原理抢答器又称第一信号鉴别器,应用于各种知识竞赛、文娱活动等场合。普通抢答器存在以下缺陷:1在一次抢答过程中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理。因而,使该次抢答过程变为无效。2当有多个违规抢答时,普通抢答器只能"抓住"其中一个,出现"漏洞"。3当同时出现多个有效抢答信号时,普通抢答器或采用优先编码电路选择其中一个;或利用抢答电路电子元件的"竞争"选择其中一个。对于后者,由于抢答电路制作完毕后电子元件被固定,各路抢答信号的"竞争"能力也被固定,因而本质上也具有优先权。普通抢答器因而存在不公平性。抢答器是各种智力竞赛中必不可少的一种硬件设备。实现抢答器的方式有多种多样,传统的抢答器普遍采用模拟电路、数字电路或者模数混合电路来设计。这类抢答器所需元器件比较多,随着功能增多,电路也越复杂,并且成本偏高,故障率高,操作不方便,不便于参数调节及功能的升级换代。本文介绍一种以单片机为控制核心的智能型抢答器,它对采样获得的各路抢答信号进行分析,识别超前违规信号、有效抢答信号,并对它们进行处理。使每一次抢答过程都有效。利用存储器记忆多个违规信号,克服"漏洞"现象。当同时出现多个抢答信号时,利用程序软件,随机选择其中一个,十分公平。具有倒计时、验键、违规显示等功能。本文采用AT89C51为核心,结合键盘、数码管、蜂鸣器等外围设备,设计了具有抢答、计时、时间调整、蜂鸣器报警等功能的4路抢答器。1.1电路组成与原理硬件电路原理图见图1。采用AT89C51单片机作为控制核心。AN0~AN7为8个抢答键,P0.0~P0.7为8路抢答信号输入端,当有抢答键按下时,对应的输入端为低电平"0",反之为高电平"1"。AN8为抢答启动键,在抢答开始时,按动一下AN8键,向单片机申请一次INT0中断,单片机在中断服务程序中对抢答信号进行采样和识别处理。采用二位LED共阴数码管以动态扫描方式对抢答键号、违规抢答键号、倒计时时间等信息进行显示。倒计时时间由选择开关K2进行选择,本设计共有4个时间档供选择<15秒、30秒、60秒、90秒>。AN10为违规显示键,按动AN10键,可对一次抢答过程中出现的所有超前违规抢答的键号进行显示。K1为验键功能选择开关,当需要验键时,将K1闭合,可检验各抢答键能否正常工作,验键完毕,将K1打开。LED1为违规指示灯,当一次抢答过程存在违规抢答信号时,LED1发光指示。1.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,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将S开关重新置"清除"然后再进行下一轮抢答。可预置时间的定时电路;由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。可预置时间的电路选用十进制同步加减计数器74LS192进行设计。1.3控制系统的工作原理当主持人按下RESET键时,智能抢答器系统立即完成复位操作,此时抢答器进入正常的工作状态〔等待选手按键;当主持人宣布抢答开始时,参赛选手开始进行抢答按键操作,当其中的某一个选手成功按下抢答键时〔例如S4按键被按下,AT89C51单片机P0口对应的口线P0.3就由高电平变为低电平。当CPU检测到该口线为低电平时,将P1.0口线由原来的高电平状态切换为低电平状态,发光二极管DS1亮,同时P1.7口线也由原来的高电平状态切换为低电平状态,蜂鸣器B1发出响声,提示主持人和现场观众已经有选手成功地实现了抢答操作。与此同时,CPU立即将成功进行抢答操作的选手编号通过P2口进行输出,将选手的编号显示在由七段数码管构成的选手编号指示器上。这样一来无论是参赛选手、现场观众,还是主持人都会很清楚地观察到成功实现抢答操作的选手的编号,进而由该选手进行现场答题。二、总体设计2.1设计需求按照设计需求,本系统具有以下几个主要功能:〔1抢答器可同时供4名选手或四支参赛队伍使用;〔2抢答或回答时间主持人可自行设置;〔3能够显示抢答或答题时间的倒计时;〔4在有人犯规时可以显示选手号、闪烁显示以及蜂鸣器报警;〔5答题时间还剩5s时,蜂鸣器报警提示。2.2抢答器的工作原理利用单片机控制各个功能模块实现抢答功能,单片机收集选手的抢答信号,运用寄存器来识别并记录第一个选手号,传输信息给数码管显示,同时内部定时器工作,记录有关时间并产生超时信号,在抢答成功、倒计时结束都伴随有蜂鸣器警报提醒,从而实现单片机抢答的功能。根据设计需求,结合单片机的作原理,设计抢答器的工作流程图如下图所示。2.3硬件设计在硬件设计方面利用单片机AT89C51控制抢答模块、显示模块、计时及调整模块、蜂鸣提示模块和复位模块,从而实现单片机的抢答。系统硬件设计原理图如下图所示。上图中U1为单片机AT89C51,K1~K4分别为4路抢答按钮,分别接到p1.0到p1.3中;开始键和结束键分别接到单片机的10、11脚,由于单片机的10、11脚既有串行接口RXD、TXD功能又有P3.0、P3.1的IO端口功能,此处按键用到单片机10、11脚的IO端口功能。抢答时间调整按键和回答时间调整按键分别接到单片机的13,14管脚,"加一"按键和"减一"按键分别接到单片机的15、16管脚。4位七段数码管段选接P0口,位选接P2口的低3位,蜂鸣器输出信号端接P3.7口。2.4显示模块显示模块采用常见的4位七段共阳数码管,利用其动态显示的方法来实现。数码管的7个输入端A~G段分别接到AT89C51的P0.0~P0.6,位选码COM1、COM3、COM4分别接到单片机P2.0、P2.1、P2.2,由单片机来决定当前该显示的是哪一位。由于AT89C51单片机的P0口没有内置上拉电阻,本系统采用外接10kΩ上拉电阻〔采用A103排阻,保证P0口没有数据输出的时候是处于高电平状态。2.5按键输入模块抢答器的输入信号采用11个按键控制,其中4个为抢答按键、4个为倒计时调整按键、1个开始按键、1个结束按键和1个复位按键。各按键均有一根信号线与单片机电路相连,所有按键有一公共端,各按键相互独立互不影响。当有键按下时,相应的单片机引脚做出反应,产生有效的输入信号。2.6蜂鸣提示模块本设计中利用AT89C51的16引脚经驱动器驱动蜂鸣器发声。压电式蜂鸣器约需10mA的驱动电流,可以采用三极管的电流放大作用驱动蜂鸣器实现发声提示。2.7复位模块复位模块由复位键、电阻R1以及电解电容C3构成。由于单片机是高电平复位,所以当复位键按下时单片机9脚RESET管脚处于高电平,此时单片机处于复位状态,当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。本设计中使用了硬件复位和软件复位两个功能。硬件复位后各个状态、寄存器以及存储器的值都恢复到了初始值。调整抢答和回答倒计时时间,需要记忆功能,故采用软复位,当程序执行完毕后,跳转指令将程序跳转到程序执行的起始地址。三、软件设计系统软件由主程序和INT0中断服务程序组成。主程序由验键、违规显示、倒计时等功能子程序组成。系统完成初始化后,循环检查各个功能,当用户使用某个功能时,按下相应的按钮〔或开关,单片机进入相应的功能处理。INT0中断服务程序完成抢答信号采样和识别处理。主程序框图见下图。3.1违规抢答信号的记录抢答开始按动AN8键,单片机进入INT0中断服务程序。先采样P0口,并将采样值送入工作寄存器R0,使LED显示"HH"字形,提示抢答开始。显然,R0中寄存了抢答开始前最后一瞬间各路抢答输入信号。若无违规抢答,R0值为FFH;若有违规抢答,R0值不为FFH,R0中为0的位对应的抢答键属违规。若R0=10111110B,表示AN0和AN6二路抢答键违规;出现R0=00H时,表示八路抢答全部违规,LED显示"UU",并发出音响,延时5秒后返回主程序,需重新抢答。所谓"有效抢答信号"是指从LED显示"HH"字形提示抢答开始之后的抢答信号。在抢答提示之前的抢答信号属于"违规信号",最先到达的有效抢答信号称为"第一有效抢答信号"。3.2第一有效抢答信号的识别及处理抢答提示之后,单片机再采样P0口,用于检测抢答信号。将采样值送入工作寄存器R1,若R1值为FFH表示还无人抢答,继续采样P0口;若R1值不为FFH,表示有人按下抢答键。但还应判断是否由违规抢答所导致,这只需将R1值与R0值进行比较,若R1与R0值相同,表示是由违规抢答所导致,则继续采样P0口;若R1与R0值不相同,则表示存在有效抢答,不再采样P0口。此时,R1中含有第一有效抢答信号。为了提取R1中第一有效抢答信号,抛弃其中的违规抢答信号,可进行如下处理:将R0与R1相"异或"再与R0相"与"。并将运算结果送工作寄存器R2,即<R0⊕R1>·R0→R2经上述逻辑运算可知:若抢答键ANi<i=0,1,2,…,7>产生第一有效抢答信号,则R2中第i位为1<R2.i=1>。若R2值为0表示无有效抢答信号。表1为抢答过程中可能出现的4种抢答信号处理过程。<R2=<R0⊕R1>·R0,i=0,1,2,…,7>3.3多个第一有效抢答信号的处理在抢答过程中,往往会出现多个抢答键同时按下,或者时间差非常短,单片机无法识别它们之间的时间差。此时,R2中会出现多个为1的位。即出现多个第一有效抢答信号。但每次抢答过程只能输出显示一个第一有效抢答信号。公正处理这个问题的方法是随机地挑选其中一个。本设计采用一种随机定位查找方法:将R2中各位的查找顺序排成一个环,如图4所示。然后找出一个随机数x,从第x位开始按上述查找顺序环规定的查找顺序查找R2中为1的位,第一个被找到值为1的位,其对应的抢答信号作为被选择的第一有效抢答信号。本设计抢答键的数目为8个,随机数x可选择为0~7。例如,假设x=3,R2=01010001B,即出现三个第一有效抢答信号<对应AN6、AN4、AN0三个键>,根据上述方法,则从D3位开始查找,第一个被找到为1的位是D4,因而抢答键AN4被选中。抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,选手通过键盘按键进行抢答,再通过单片机将其转换成能在七段数码管上显示的字型码。抢答完毕,数码管上显示抢答选手号码表示抢答成功并开始倒计时。根据此设计思路,系统软件设计流程图如图3所示。系统采用Keil软件参照软件流程图编写汇编语言。以显示模块为例,相应程序段如下:DISPLAY:MOVDPTR,#DAT1;查表显示程序,P0.0~P0.6段选,P2.0~P2.2位选;MOVA,R5MOVCA,A+DPTRMOVP2,#01HMOVP0,AACALLDELAYMOVDPTR,#DAT2MOVA,R4MOVCA,A+DPTRMOVP2,#02HMOVP0,AACALLDELAYMOVA,R3MOVCA,A+DPTRMOVP2,#04HMOVP0,AACALLDELAYRETDAT1:DB00H,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;DAT2:DB3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H71H;3.4中断中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。有5种中断源:外部中断0、外部中断1、定时器中断0、定时器中断1、串行中断。对它们的描述见表。<2>中断允许控制寄存器IE:对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,既可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清零。<3>串行控制寄存器SCON:定时/计数器的控制方法,在启动定时/计数器工作之前,CPU必须将一些命令<称为控制字>写入定时/计数器中,这个过程称为定时/计数的初始化。定时/计数器的初始化通过定时/计数器的方式,由寄存器TMOD和控制寄存器TCON来完成。①定时/计数器方式寄存器TMOD②中断程序的编写步骤:根据要求设置IE<中断允许寄存器>的对应位EA<EA—总中断允许位:EA=1,开放所有的中断;EA=0,禁止所有的中断>,某个中断源还有相应的中断允许位。<4>INT0,INT1设定触发方式IT0<外部中断触发方式控制位>当其为0时:低电平触发;当其为1时:下降沿触发。<5>返回值是Void中断函数名<interrupt>。四、基于Proteus的系统仿真Proteus软件不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。本设计经仿真后,实现了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论