基于单片机AT89C51的抢答器设计_第1页
基于单片机AT89C51的抢答器设计_第2页
基于单片机AT89C51的抢答器设计_第3页
基于单片机AT89C51的抢答器设计_第4页
基于单片机AT89C51的抢答器设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

本文档来源网络,仅供参考,侵权请联系删除。JINGGANGSHANUNIVERSITY本科毕业论文(设计)题目:基于单片机AT89C51的八路抢答器设计学 院 电子与信息工程学院专 业 电子信息科学与技术姓名 周治楠 班级10电信本(1)学号90522027 指导教师 曾兀彧老师 起讫时间 2014.1 ——2014.05基于单片机AT89C51的八路抢答器设计作者:周治楠指导老师:曾兀彧【摘要】随着时代的发展,各种各样的竞赛越来越多,各种竞赛成为了人们的一种独特的娱乐方式,人们在抢答的过程中不仅能享受到趣味,并且还可以在此过程中学习到丰富的知识。然而在实际的抢答中,由于视觉的误差,仅仅依靠视觉很难判断谁先答题,因此,设计出一个电子抢答器系统很有必要,使比赛更为公平,即便是两组的抢答时间相差甚微,也能辨别出优先按下的按键的选手。本设计以AT89C51单片机作为主控中心,当选手按下按键后七段数码管会显示对应选手编号,同时蜂鸣器电路导通。还设置了复位电路,按下复位键后,系统将重新启动。该抢答器系统充分利用了AT89C51单片机稳定性高的特点来弥补人类感知的误差,使用非常简单,功能强大,实用性强。本设计利用 C51语言汇编,更有利于实现基本功能。【关键词】单片机AT89C51七段数码管;蜂鸣器;复位电路TheDesignofEight-RouteAnsweringMachineBasedon

AT89C51SingleChipControllerAuthor:ZhouZhinan Director:ZenWuyu[Abstract]Withthedevelopmentoftheages,differentkindsofcompetitionshavebeeninventedandhavebecomeauniqueformofentertainmentforpeople.Duringtheprocessofeveryonetriedtooutdotheothersinanswering,peoplecannotonlyenjoythefun,butalsocanlearnrichknowledge,However,actually,itishardtojudgewhoviestoanswerfirstbyonlyrelyingonvisual.Thenit'necessarytodesignanelectronicansweringmachinesystemwhichcangiveafairjudgementevenundertheconditionthatthetimebetweentwogroupsisverysmall,ThesystemofansweringmachinewilluseAT89C51SCMasthecore,Whenthecontestantpresseshisorherbutton,theseven-segmentLEDwoulddisplaythenumberofthecontestantandthebuzzersoundsatthesametime.Thissystemhasalsosettheresetcircuit.Ifthejudgerpressestheresetbutton,thesysteminitialized.AndthissystemhasmadefulluseoftheadvantagesoftheAT89C51SCMwhichiseasytouse,goodreliability,powerful,practicalandhigh-stability.Thoseadvantageshavecompensatedtheerrorcausedbypersonvisual.ThisdesignwilluseC51Ianguagetoprogramwhichiseasytoimplementthebasicfunctions.[Keywords]AT89C51SCM;seven-segmentLED;buzzer;resetcircuitTOC\o"1-5"\h\z\o"CurrentDocument"第1章前言 1..\o"CurrentDocument"第2章硬件电路 2\o"CurrentDocument"系统框图 2.\o"CurrentDocument"总体电路设计 2.\o"CurrentDocument"时钟频率电路设计 3.\o"CurrentDocument"系统复位电路设计 4.\o"CurrentDocument"锁存电路设计 4.\o"CurrentDocument"数码显示电路设计 6.\o"CurrentDocument"按钮输入电路设计 7.\o"CurrentDocument"报警电路设计 7.\o"CurrentDocument"第3章 系统软设计流程 8.\o"CurrentDocument"3.1 程序系统结构流程 8.\o"CurrentDocument"3.2程序流程 9..\o"CurrentDocument"第4章抢答器系统调试与仿真 13\o"CurrentDocument"第5章总结 15\o"CurrentDocument"主要参考文献 .15\o"CurrentDocument"附录:程序代码 .15\o"CurrentDocument"致谢 22第1章前言在当今的社会,随着电子科技的发展,基于单片机控制系统被广泛应用在工农业、电力系统、电子、等行业,以微机作为嵌入式系统所替代了传统控制系统控制的电子线路。现如今,人才成为了社会最重要的资源。人才的选拔也活动的有所增加,然而在评选活动中,往往会以几组的形势进行选拔,但如果用肢体的方式进行抢答,则可能会因为裁判的误差而导致比赛的不公平,因而需要有一种稳定而又准确的判断系统,因此抢答器诞生了,抢答器是为竞赛选手抢答设计的一种优先判决器电路系统,抢答器可准确辨认出选手的号码。设计一个可以供八名选手比赛的抢答器,对其分别进行编号,此外还有一个复位键交予裁判进行清零,在裁判将抢答器系统清零后,如果还有参赛者按动抢答按钮,系统将会锁存首先抢答选手的编号,抢答器具有很强的辨别能力,即便是动作时间仅相差几毫秒,也能准确的分辨出最先抢答的选手。给裁判设计一个手动复位开关,用来清零选手编号以及复位抢答器,抢答器同时还具有锁存数据的功能,按下开始键后,如果有选手按抢答器抢答开关,选手编号将会被立即锁存,并且在显示器上显示该选手的编号,蜂鸣器电路接通并发声,抢答电路被立即封锁,其他选手不能抢答,抢答器还具备定时功能,抢答时间还可以有裁判决定,当裁判按动开始,定时器将会立刻开始计时,所以选手只有在定时器所设定的时间内内抢答才有作用, 当超出抢答规定时间没有选手答题,则抢答无效,电路立刻被封锁。接通电路电源后,裁判手动复位,抢答器出于禁止状态,显示器灯灭,定时器显示抢答时间,裁判启动抢答器后,定时器开始倒计时,选手在规定的时间内抢答有效,抢答完成后,编号被优先锁存,显示器显示选手编号,电路被封锁,不能继续抢答。如需再次抢答,必须由裁判复位抢答器。抢答器可以以多种方式进行实现,可以通过优先编码器,锁存器, 555定时器译码器等纯电子器件搭配电路进行实现,其优点是调试较为简单,不用软件辅助,缺点是不易修改和扩展,电路结构也过于复杂,焊接易出错,实际操作较为复杂。所以,依靠单片机来实现,相对要简单的多,而且稳定性好,简化外围硬件电路的同时,将更多的任务交给编程软件来实现。第2章硬件电路该八路抢答器设计系统的控制中心采用了 AT89C51单片机,选手抢答输入键由8个按键开关构成,先按下的编号数据立刻被AT89C51单片机锁存,同时输入电路被封锁,其余选手抢答则不能抢答,而优先抢答选手对应的编号将一直被锁存,直到整个系统清零为止,优先抢答选手对应的编号同时被七段数码管显示,蜂鸣器电路接通,产生蜂鸣声。单片机AT89C51的技术发展至今已比较成熟,运用起来非常方便简单,同时单片机所需辅助电路也相对较少,由晶振时钟频率电路、复位电路以及电源就可构成单片机最小系统, 所以整个系统具有很强的可编程性,可随时按功能要求对系统进行扩张和更改。2.1系统框图该八路抢答器电路功能要求如下:当选手按动按钮后,即刻锁存优先抢答选手的编号,并且该电路需具有锁存与显示功能,蜂鸣器响提示有选手抢答,此刻禁止其他选手抢答并封锁输入电路,电路将优先储存最先抢答的选手号码,最先抢答选手号码一直保持到裁判将系统复位结束。抢答器具有限时抢答功能,抢答时间到,如果无人抢答则停止抢答,显示器显示零。八路数字抢答器由抢答主体电路和限时电路两部分构成,其组成结构方图如下所示。图1系统结构框图2.2总体电路设计可以根据抢答器的基本功能设计出如下整体体电路图:

LST.1> 4n.SHRP1:抢答序号倒计时U1HSTPSEM

MEPDOisraFD^D->FD2A&2FDV.D1PDuSDiiFDJ5AIHPDlftDTPZ.GM3FZJ0LK-町AH3)LST.1> 4n.SHRP1:抢答序号倒计时U1HSTPSEM

MEPDOisraFD^D->FD2A&2FDV.D1PDuSDiiFDJ5AIHPDlftDTPZ.GM3FZJ0LK-町AH3)ra.l/DCDpsainnKJ^HTTMi-IUI:»QDD101U?D3>3D404-DFOilLECTn.BH-s^I/.Q1..:

.RHVStopSTARTRESET图2总体电路设计如上图所示,AT89C51单片机的端口P36为开始抢答,端口P35为停止,端口P37连接抢答重新开始外围电路,端口P10至P17为八路抢答输入端口,锁存器74HC573的数据输入端DO至D7分别连接单片机端口P00至P07,锁存控制端LE由P30端口控制,而数据输出端Q0至Q7对应数码管的八个段选,数码管的三个位选对应单片机P2端口的低3位,蜂鸣器对应端口P34,整个系统的复位电路连接端口RST。2.3时钟频率电路设计此电路为石英晶体振荡器,为单片机最小系统的时钟频率电路。该电路对整个系统来说至关重要,用它结合AT89C51单片机系统来产生时钟频率,其频率与单片机运行速度成正比关系,整个电路系统的时钟信号是有单片机晶振给予,一般情况下单个系统优先共用同个晶振,以便使得各部分电路系统保持一致状态,其振荡源为11.0592MHz的晶体振荡器,由于单片机内部系统自身带有振荡电路,所以外部只要连接两个电容和一个晶振,电容大小范围在 15pF至50pF之间即可,震荡频率可能会有误差,而电容C1和C2的作用是振荡器的频率进行微调并使得振荡器起振。

图3图3时钟频率电路2.4系统复位电路设计单片机AT89C51的RST为高电平复位引脚,系统需要有足够时间对系统进行复位,图4的复位原理是通过连接一个电容到VCC复位引脚RST上,再连接一个电阻R11到GND,复位后返回至低电平,系统进入正常工作状态,电阻R11和电容C3的大小为10K和10uF。复忖电路儿一图4复位电路复忖电路儿一图4复位电路对于单片机复位存在硬件复位和软件复位,硬件复位可以使寄存器和存储器恢复到初始状态。但是倒计时需要时间记忆功能,其实现的首要条件是不能使用硬件复位,因此设定出软件复位的功能。软件复位的工作原理就是当程序执行完毕后,程序员通过一条跳转指令将程序指针跳转到程序执行的起始地址。2.5锁存电路设计锁存电路采用74HC573芯片,该芯片是8位三态锁存器。可作缓冲器,也可用与锁存地址和数据,其引脚图如图5所示。

o O€1[DOi[EcoDI 3|Jib硏02-[]w0203a[qsD4聖I]!■>D5i[Mqs06H]14加07t[]i?07GND1*[]nIE图574HC573引脚图其内部的八个锁存器由透明的D型锁存器构成,当0E为高电平时,Q端输出,将D输入改变,当0E为低电平时,输出将被锁存新建立的数据,锁存器的内部工作不受输出的控制,之前的数据能够保存,即使当封闭输出时,系统可以输入新的数据,当LE变低电平时,锁存器锁存符合建立时间和保持时间的数据。表174HC573功能表输入输出OELEDQLHHHLHLLLLX输出保持不变HXX高阻抗在该八路抢答器电路中,锁存器74HC573的使能端0E始终保持低电平状态,数据输入端D0~D7分别连接单片机端口P00~P07,锁存控制端LE由P30端口控制,而数据输出端Q0~Q7对应数码管的八个段选。电路图如下所示:U219R13miiTVTiRPi-:■=TECT>KLWJOlFDJW2P二防.:U219R13miiTVTiRPi-:■=TECT>KLWJOlFDJW2P二防.:JEZ*■POSWfflTJPUJTZ3匚21I.TT11wDTLE16HU12图6锁存器74HC573电路2.6数码显示电路设计此显示电路将使用八段共阴极数码管, 将共阴极接地,段选位(a,b,c,d,e,f,g,dp)送入高电平点亮,当某段获得高电平时,其所连接的字段导通且发光,通过不同的发光字段组合数字0-9,如需显示相应字形编码只要向段选位输出相应的字形编码即可,且字符编码采用BCD编码制。表2共阴数码管编码显示学符70.P6ap50p_4ap3op20papopo.dpgJf—edcba码形字0Oo1^1u—1^1-1FH3EIQoooo1JIoH06OJIo_!■JIoJIH05Ooo^11FH4OU11oo11oH66口01-1oJI1o1-HD6MOJI1w—^1oHD70Ooooo111H7oEO11<1JI1U1FH7EOJI1oJI1JIH6FUuoouNNuHDo一位由一个八段数码管构成,所以多位数码管可以由多个八段数码管连接,

将各个八段数码管的段选线连接,首先通过单片机 AT89C51的P30~P32端口控制各个数码管的公共端,选择由那个数码管显示,然后将显示编号进行字符编码并由P00~P07输向锁存器的数据输入端,再由数据输出端控制八段数码管段选线。在此过程中对锁存器的锁存控制端LE加高电平,将数据锁存,直到主持人复位,八段数码管由动态显示。

图7七段数码管电路图7七段数码管电路2.7按钮输入电路设计由8个开关组成抢答键,按键为常开按钮,需人为向下按触合,操作很简单,每个按键独立控制一根I/O口线,每个按键之间相互独立,但需在程序中消除按键过程中产生的毛刺现象,按键释放时,会有产生抖动,会使系统误采键值,因此在键释放时,也应进行去抖处理,处理方法同时是连续一段时间采集到无键按下状态,才认为按键被释放。MflfRF13F13PUSF1CMJMflfRF13F13PUSF1CMJ'・・ W' '' ' —'■图8抢答按键2.8报警电路设计在此利用程序控制单片机 P3.4端口线输出低电平,当有选手抢答时,蜂鸣器鸣声。当确定选手后,选手超过一定时间未回答,蜂鸣器响以提示。其电路图如下:*2WFZ2WU]附副*2WFZ2WU]附副Ml也mts口JMMBniitwF32flWWF33HNTF图9报警电路第3章系统软设计流程首先将硬件电路图设计出来,再完成实物图,然后进行软件编程完成部分控

制功能,完整的系统需软件程序和硬件电路相结合, 局部任务由软件完成,局部功能再由硬件完成。3.1程序系统结构流程C51语言汇编程序的功能实现要与硬件相配合才能完成。由功能分析可以得到如下的结构流程图:

图10软件系统结构图3.2程序流程AT89C51单片机内含有两个16位可编程定时器/计数器T0和T1,T0由特殊寄存器TH0和TL0组成,T1由TH1和TL1组成,要完成该设计,其程序主要由定时器T0和T1以及主程序和外部中断0组成。定时器T0控制蜂鸣器发出

声音,其程流程如下图所示:定时器重新赋值图11响铃程序流程图当定时器T1倒计时,其每次中断时间为50ms,计数标志显示为20时为1秒,字符减1。定时器流程如下图所示:图12定时器T1倒计时中断程序流程外部中断0的作用是调整倒计时的时间,其流程如下图所示:图13外部中断0调整抢答时间流程实现抢答功能主要流程:程序复位图14抢答器主程序流程第4章抢答器系统调试与仿真软件编程与调试使用分模块功能的方法实现,软件调试模块包括显示功能模块、调整时间功能模块、抢答功能模块以及报警功能模块,各个功能模块之间相互独立。各模块调试成功后,主程序main按功能完成顺序调用各模块程序,各软件模块首先要通过PC和仿真器进行软件调试,当仿真效果符合要求,再烧写进单片机看是否能在实际电路板上正常工作,最后再对主程序进行调试。4.1系统调试图15减计时60秒开始图中为5号选手抢答成功,减计时剩余时间54秒图16抢答成功第5章总结在老师和同学的耐心帮助下,经过近一个月的努力,我设计了八路抢答器,在此次毕业设计过程中,我又再次认识到了书本上的知识点以及重点。抢答器设计过程中,出现了很多细节性的错误,在与同学们讨论学习后最后都顺利的解决了,感觉团队精神是极其重要的,通过此次的对抢答器的设计,让我重新将以前所学习的单片机知识和C语言编程又学习了一遍,更使我对单片机及接口技术的应用加深了了解,由于知识水平有限,设计中难免会存在着一些不足之处,我真诚的接受老师和同学的指点与批评。主要参考文献高洪志.MCS-51单片机原理及应用技术教程 .北京:人民邮电出版社,2009熊静琪.计算机控制技术.北京:电子工业出版社,2003.张迎新.单片机初级教程.北京:航空航天大学出版社,2007.彭为等.单片机典型系统设计实例精讲.北京:电子工业出版社,2007⑸王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社, 2008⑹周润景、张丽娜•基于PROTEU的电路及单片机仿真.北京:航空航天大学出版社,2007.附录:程序代码P10至P17为八路抢答器输入端,P31为停止,P30为开始抢答,数码管段选P0口,位选P2的低三位口,蜂鸣器输出为P3.6口。ORG0000HAJMPMAINORG0003HAJMPINT0SUBORG000BHAJMPT0INTORG001BHAJMPT1INTOKEQU20H ; 抢答开始标志位RINGEQU22H ; 响铃标志位ORG0040HMAIN: MOVR1,#0FH;初设抢答时间为15sMOVR2,#0AH;初设答题时间为10sMOVTMOD,#11H;设置未定时器/模式1MOVTH0,#0F0HMOVTL0,#0FFH;越高发声频率越高,越尖MOVTH1,#3CHMOVTL1,#0B0H;50ms为一次溢出中断SETBEASETBET0SETBET1SETBEXOSETBEX1;允许四个中断,T0/T1/INT0/INT1CLROKCLRRINGSETBTR1SETBTR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了查询程序:START: MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAY;未开始抢答时候显示FFFJBP3.0,NEXTACALLDELAYJBP3.O,NEXT;开始键被按下就向下执行,否则跳到非法抢答查询ACALLBARK;按键发声MOVA,R1MOVR6,A;SETBOK;MOVR3,#0AH;AJMPCOUNT;NEXT: JNBP1.0,FALSE1JNBP1.1,FALSE2JNBP1.2,FALSE3JNBP1.3,FALSE4JNBP1.4,FALSE5JNBP1.5,FALSE6JNBP1.6,FALSE7JNBP1.7,FALSE8AJMPSTART非法抢答处理程序:FALSE1:ACALLBARK; 按键发声MOVR3,#01HAJMPERRORFALSE2:ACALLBARKMOVR3,#02HAJMPERRORFALSE3:ACALLBARKMOVR3,#03HAJMPERRORFALSE4:ACALLBARKMOVR3,#04HAJMPERRORFALSE5:ACALLBARKMOVR3,#05HAJMPERRORFALSE6:ACALLBARKMOVR3,#06HAJMPERRORFALSE7:ACALLBARKMOVR3,#07HAJMPERRORFALSE8:ACALLBARKMOVR3,#08HAJMPERROR倒计时程序:COUNT: MOVR0,#00H;MOVTH1,#3CHMOVTL1,#0B0H; 重置定时器RECOUNT:MOVA,R6;倒计时的时间被R6所保存MOVB,#0AHDIVAB; 除十分出个位/十位MOV30H,A; 十位存于(30H)MOV31H,B; 个位存于(31H)MOVR5,30H ;取十位MOVR4,31H ;取个位MOVA,R6CLRCSUBBA,#07HJNCLARGER;MOVA,R0CJNEA,#0AH,FULL;1sCLRRINGAJMPCHECK

;1s时,;1s时,响并显示号数并清R0,重新计时FULL:SETBRINGMOVA,R6JZQUIT ;计时完毕MOVR0,#00HDECR6 ; 一秒标志减1AJMPCHECKLARGER: MOVA,R0CJNEA,#14H,CHECK;DECR6; 计时一秒R6自动减1MOVR0,#00HCHECK: JNBP3.1,QUIT;如按下停止键退出ACALLDISPLAYJNBP1.0,TRUE1JNBP1.1,TRUE2JNBP1.2,TRUE3JNBP1.3,TRUE4JNBP1.4,TRUE5JNBP1.5,TRUE6JNBP1.6,TRUE7JNBP1.7,TRUE8AJMPRECOUNTQUIT: CLROK ;按下了停止键系统重新开始CLRRINGACALLBARKAJMPSTART正常抢答处理程序:TRUE1:ACALLBARK;按键发声MOVA,R2MOVR6,A; 抢答时间R2送R6MOVR3,#01HCLROK;AJMPLOOP2TRUE2:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#02HCLROKAJMPLOOP2TRUE3:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#03HCLROKAJMPL00P2TRUE4:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#04HCLROKAJMPLOOP2TRUE5:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#05HCLROKAJMPLOOP2TRUE6:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#06HCLROKAJMPLOOP2TRUE7:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#07HCLROKAJMPLOOP2TRUE8:ACALLBARK;MOVA,R2MOVR6,AMOVR3,#08HCLROKLOOP2:AJMPDISPLAY ;选手抢答,停止计时SETBRINGJNBP3.1QUITAJMPLOOP2犯规抢答程序:ERROR:SETBRING ;犯规响铃MOVR5,#0BHMOVR4,#0BH;显示FF和犯规号数LOOP3:ACALLDISPLAYJNBP3.1QUIT1;等待停止”键按下AJMPLOOP3QUIT1: CLRRINGCLROKAJMPSTART显示程序:DISPLAY:MOVDPTR,#DAT1;MOVA,R5MOVCA,@A+DPTRMOVP2,#01HMOVP0

温馨提示

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

评论

0/150

提交评论