毕业设计(论文)-基于单片机AT89C51的八路抢答器设计.doc_第1页
毕业设计(论文)-基于单片机AT89C51的八路抢答器设计.doc_第2页
毕业设计(论文)-基于单片机AT89C51的八路抢答器设计.doc_第3页
毕业设计(论文)-基于单片机AT89C51的八路抢答器设计.doc_第4页
毕业设计(论文)-基于单片机AT89C51的八路抢答器设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

JINGGANGSHAN UNIVERSITY本科毕业论文(设计)题 目: 基于单片机AT89C51的八路抢答器设计 学 院 电子与信息工程学院 专 业 电子信息科学与技术 姓 名 周治楠 班 级 10电信本(1) 学 号 90522027 指导教师 曾兀彧老师 起讫时间 2014.12014.05 基于单片机AT89C51的八路抢答器设计作者:周治楠 指导老师:曾兀彧【摘要】随着时代的发展,各种各样的竞赛越来越多,各种竞赛成为了人们的一种独特的娱乐方式,人们在抢答的过程中不仅能享受到趣味,并且还可以在此过程中学习到丰富的知识。然而在实际的抢答中,由于视觉的误差,仅仅依靠视觉很难判断谁先答题,因此,设计出一个电子抢答器系统很有必要,使比赛更为公平,即便是两组的抢答时间相差甚微,也能辨别出优先按下的按键的选手。本设计以AT89C51单片机作为主控中心,当选手按下按键后七段数码管会显示对应选手编号,同时蜂鸣器电路导通。还设置了复位电路,按下复位键后,系统将重新启动。该抢答器系统充分利用了AT89C51单片机稳定性高的特点来弥补人类感知的误差,使用非常简单,功能强大,实用性强。本设计利用C51语言汇编,更有利于实现基本功能。【关键词】 单片机AT89C51;七段数码管;蜂鸣器;复位电路The Design of Eight-Route Answering Machine Based on AT89C51 Single Chip ControllerAuthor:Zhou Zhinan Director:Zen WuyuAbstract With the development of the ages, different kinds of competitions have been invented and have become a unique form of entertainment for people. During the process of everyone tried to outdo the others in answering, people can not only enjoy the fun, but also can learn rich knowledge,However, actually, it is hard to judge who vies to answer first by only relying on visual. Then its necessary to design an electronic answering machine system which can give a fair judgement even under the condition that the time between two groups is very small,The system of answering machine will use AT89C51 SCM as the core,When the contestant presses his or her button, the seven-segment LED would display the number of the contestant and the buzzer sounds at the same time. This system has also set the reset circuit. If the judger presses the reset button, the system initialized. And this system has made full use of the advantages of the AT89C51 SCM which is easy to use, good reliability, powerful, practical and high- stability. Those advantages have compensated the error caused by person visual. This design will use C51 language to program which is easy to implement the basic functions.Keywords AT89C51 SCM; seven-segment LED; buzzer; reset circuit目 录第1章 前言1第2章 硬件电路22.1系统框图22.2总体电路设计22.3时钟频率电路设计32.4系统复位电路设计42.5锁存电路设计42.6数码显示电路设计62.7按钮输入电路设计72.8报警电路设计7第3章 系统软设计流程83.1 程序系统结构流程83.2 程序流程9第4章 抢答器系统调试与仿真12第5章 总结14主要参考文献14附录:程序代码14致 谢21第1章 前言在当今的社会,随着电子科技的发展,基于单片机控制系统被广泛应用在工农业、电力系统、电子、等行业,以微机作为嵌入式系统所替代了传统控制系统控制的电子线路。现如今,人才成为了社会最重要的资源。人才的选拔也活动的有所增加,然而在评选活动中,往往会以几组的形势进行选拔,但如果用肢体的方式进行抢答,则可能会因为裁判的误差而导致比赛的不公平,因而需要有一种稳定而又准确的判断系统,因此抢答器诞生了,抢答器是为竞赛选手抢答设计的一种优先判决器电路系统,抢答器可准确辨认出选手的号码。设计一个可以供八名选手比赛的抢答器,对其分别进行编号,此外还有一个复位键交予裁判进行清零,在裁判将抢答器系统清零后,如果还有参赛者按动抢答按钮,系统将会锁存首先抢答选手的编号,抢答器具有很强的辨别能力,即便是动作时间仅相差几毫秒,也能准确的分辨出最先抢答的选手。给裁判设计一个手动复位开关,用来清零选手编号以及复位抢答器,抢答器同时还具有锁存数据的功能,按下开始键后,如果有选手按抢答器抢答开关,选手编号将会被立即锁存,并且在显示器上显示该选手的编号,蜂鸣器电路接通并发声,抢答电路被立即封锁,其他选手不能抢答,抢答器还具备定时功能,抢答时间还可以有裁判决定,当裁判按动开始,定时器将会立刻开始计时,所以选手只有在定时器所设定的时间内内抢答才有作用,当超出抢答规定时间没有选手答题,则抢答无效,电路立刻被封锁。 接通电路电源后,裁判手动复位,抢答器出于禁止状态,显示器灯灭,定时器显示抢答时间,裁判启动抢答器后,定时器开始倒计时,选手在规定的时间内抢答有效,抢答完成后,编号被优先锁存 ,显示器显示选手编号,电路被封锁,不能继续抢答。如需再次抢答,必须由裁判复位抢答器。 抢答器可以以多种方式进行实现,可以通过优先编码器,锁存器,555定时器译码器等纯电子器件搭配电路进行实现,其优点是调试较为简单,不用软件辅助,缺点是不易修改和扩展,电路结构也过于复杂,焊接易出错,实际操作较为复杂。所以,依靠单片机来实现,相对要简单的多,而且稳定性好,简化外围硬件电路的同时,将更多的任务交给编程软件来实现。第2章 硬件电路该八路抢答器设计系统的控制中心采用了AT89C51单片机,选手抢答输入键由8个按键开关构成,先按下的编号数据立刻被AT89C51单片机锁存,同时输入电路被封锁,其余选手抢答则不能抢答,而优先抢答选手对应的编号将一直被锁存,直到整个系统清零为止,优先抢答选手对应的编号同时被七段数码管显示,蜂鸣器电路接通,产生蜂鸣声。单片机AT89C51的技术发展至今已比较成熟,运用起来非常方便简单,同时单片机所需辅助电路也相对较少,由晶振时钟频率电路、复位电路以及电源就可构成单片机最小系统,所以整个系统具有很强的可编程性,可随时按功能要求对系统进行扩张和更改。2.1 系统框图该八路抢答器电路功能要求如下:当选手按动按钮后,即刻锁存优先抢答选手的编号,并且该电路需具有锁存与显示功能,蜂鸣器响提示有选手抢答,此刻禁止其他选手抢答并封锁输入电路,电路将优先储存最先抢答的选手号码,最先抢答选手号码一直保持到裁判将系统复位结束。抢答器具有限时抢答功能,抢答时间到,如果无人抢答则停止抢答,显示器显示零。八路数字抢答器由抢答主体电路和限时电路两部分构成,其组成结构方图如下所示。单片机AT89C51七段数码显示电路七段译码器电路锁存器八路抢答器开关蜂鸣器响裁判开关主体电路限时抢答电路七段数码显示电路七段译码电路晶振脉冲发生器图1 系统结构框图2.2 总体电路设计可以根据抢答器的基本功能设计出如下整体体电路图: 图2 总体电路设计如上图所示,AT89C51单片机的端口P36为开始抢答,端口P35为停止,端口P37连接抢答重新开始外围电路,端口P10至P17为八路抢答输入端口,锁存器74HC573的数据输入端D0至D7分别连接单片机端口P00至P07,锁存控制端LE由P30端口控制,而数据输出端Q0至Q7对应数码管的八个段选,数码管的三个位选对应单片机P2端口的低3位,蜂鸣器对应端口P34,整个系统的复位电路连接端口RST。2.3 时钟频率电路设计此电路为石英晶体振荡器,为单片机最小系统的时钟频率电路。该电路对整个系统来说至关重要,用它结合AT89C51单片机系统来产生时钟频率,其频率与单片机运行速度成正比关系,整个电路系统的时钟信号是有单片机晶振给予,一般情况下单个系统优先共用同个晶振,以便使得各部分电路系统保持一致状态,其振荡源为11.0592MHz的晶体振荡器,由于单片机内部系统自身带有振荡电路,所以外部只要连接两个电容和一个晶振,电容大小范围在15pF至50pF之间即可,震荡频率可能会有误差,而电容C1和C2的作用是振荡器的频率进行微调并使得振荡器起振。图3 时钟频率电路2.4 系统复位电路设计单片机AT89C51的RST为高电平复位引脚,系统需要有足够时间对系统进行复位,图4的复位原理是通过连接一个电容到VCC复位引脚RST上,再连接一个电阻R11到GND,复位后返回至低电平,系统进入正常工作状态,电阻R11和电容C3的大小为10K和10uF。图4 复位电路对于单片机复位存在硬件复位和软件复位,硬件复位可以使寄存器和存储器恢复到初始状态。但是倒计时需要时间记忆功能,其实现的首要条件是不能使用硬件复位,因此设定出软件复位的功能。软件复位的工作原理就是当程序执行完毕后,程序员通过一条跳转指令将程序指针跳转到程序执行的起始地址。2.5 锁存电路设计锁存电路采用74HC573芯片,该芯片是8位三态锁存器。可作缓冲器,也可用与锁存地址和数据,其引脚图如图5所示。图5 74HC573引脚图其内部的八个锁存器由透明的D 型锁存器构成,当OE为高电平时,Q端输出,将D输入改变,当OE为低电平时,输出将被锁存新建立的数据,锁存器的内部工作不受输出的控制,之前的数据能够保存,即使当封闭输出时,系统可以输入新的数据,当LE变低电平时,锁存器锁存符合建立时间和保持时间的数据。表1 74HC573功能表输入输出OELEDQLHHHLHLLLLX输出保持不变HXX高阻抗在该八路抢答器电路中,锁存器74HC573的使能端OE始终保持低电平状态,数据输入端D0D7分别连接单片机端口P00P07,锁存控制端LE由P30端口控制,而数据输出端Q0Q7对应数码管的八个段选。电路图如下所示:图6 锁存器74HC573电路2.6 数码显示电路设计此显示电路将使用八段共阴极数码管,将共阴极接地,段选位(a,b,c,d,e,f,g,dp)送入高电平点亮,当某段获得高电平时,其所连接的字段导通且发光,通过不同的发光字段组合数字0-9,如需显示相应字形编码只要向段选位输出相应的字形编码即可,且字符编码采用BCD编码制。表2 共阴数码管编码一位由一个八段数码管构成,所以多位数码管可以由多个八段数码管连接,将各个八段数码管的段选线连接,首先通过单片机AT89C51的P30P32端口控制各个数码管的公共端,选择由那个数码管显示,然后将显示编号进行字符编码并由P00P07 输向锁存器的数据输入端,再由数据输出端控制八段数码管段选线。在此过程中对锁存器的锁存控制端LE加高电平,将数据锁存,直到主持人复位,八段数码管由动态显示。图7 七段数码管电路2.7 按钮输入电路设计由8个开关组成抢答键,按键为常开按钮,需人为向下按触合,操作很简单,每个按键独立控制一根I/O口线,每个按键之间相互独立,但需在程序中消除按键过程中产生的毛刺现象,按键释放时,会有产生抖动,会使系统误采键值,因此在键释放时,也应进行去抖处理,处理方法同时是连续一段时间采集到无键按下状态,才认为按键被释放。图8 抢答按键2.8 报警电路设计在此利用程序控制单片机P3.4端口线输出低电平,当有选手抢答时,蜂鸣器鸣声。当确定选手后,选手超过一定时间未回答,蜂鸣器响以提示。其电路图如下:图9 报警电路第3章 系统软设计流程首先将硬件电路图设计出来,再完成实物图,然后进行软件编程完成部分控制功能,完整的系统需软件程序和硬件电路相结合,局部任务由软件完成,局部功能再由硬件完成。3.1 程序系统结构流程C51语言汇编程序的功能实现要与硬件相配合才能完成。由功能分析可以得到如下的结构流程图: 主程序设置抢答时间和回答问题时间定时器及并行口初始化将时间计数器及启动标志值1开中断采并行口数据为0吗?启动标志=1吗?判断抢答组号报警电路发声判断哪一组为抢答组将抢答组号送显示抢答时间到了吗?输出响铃信号提示超时继续抢答比赛吗?系统返回NYYYNYN图10 软件系统结构图3.2 程序流程AT89C51单片机内含有两个16位可编程定时器/计数器T0和T1,T0由特殊寄存器TH0和TL0组成,T1由TH1和TL1组成,要完成该设计,其程序主要由定时器T0和T1以及主程序和外部中断0组成。定时器T0控制蜂鸣器发出声音,其程流程如下图所示:定时器重新赋值响铃标志为1?蜂鸣器响放回主函数YN图11 响铃程序流程图当定时器T1倒计时,其每次中断时间为50ms,计数标志显示为20时为1秒,字符减1。定时器流程如下图所示:计算器重新赋值计时标志加1返回主函数图12 定时器T1倒计时中断程序流程外部中断0的作用是调整倒计时的时间,其流程如下图所示:NNYYYYYNNN显示时间R1加1键按下?减1键按下?R1到99 ?R1到0 ?返回键按下?R1置0R1增1R1减1R1置99返回主函数图13 外部中断0调整抢答时间流程实现抢答功能主要流程:按键发声显示抢答号和剩时间停止键是否按抢答键是否按下停止键是否按下开始键按下?程序复位倒计时显示倒计时开始按键发声准备状态显示FFF倒计时大于5s?显示法规号码按键发声非法抢答?停止键按下?提醒发声倒计时是否结束YNNYNNNNNYYYYY图14 抢答器主程序流程第4章 抢答器系统调试与仿真软件编程与调试使用分模块功能的方法实现,软件调试模块包括显示功能模块、调整时间功能模块、抢答功能模块以及报警功能模块,各个功能模块之间相互独立。各模块调试成功后,主程序main按功能完成顺序调用各模块程序,各软件模块首先要通过PC和仿真器进行软件调试,当仿真效果符合要求,再烧写进单片机看是否能在实际电路板上正常工作,最后再对主程序进行调试。4.1系统调试 减计时60秒图15 减计时60秒开始 图中为5号选手抢答成功,减计时剩余时间54秒。图16 抢答成功第5章 总结在老师和同学的耐心帮助下,经过近一个月的努力,我设计了八路抢答器,在此次毕业设计过程中,我又再次认识到了书本上的知识点以及重点。抢答器设计过程中,出现了很多细节性的错误,在与同学们讨论学习后最后都顺利的解决了,感觉团队精神是极其重要的,通过此次的对抢答器的设计,让我重新将以前所学习的单片机知识和C语言编程又学习了一遍,更使我对单片机及接口技术的应用加深了了解,由于知识水平有限,设计中难免会存在着一些不足之处,我真诚的接受老师和同学的指点与批评。主要参考文献1高洪志.MCS-51单片机原理及应用技术教程.北京:人民邮电出版社,20092熊静琪.计算机控制技术.北京:电子工业出版社,2003.3张迎新.单片机初级教程. 北京: 航空航天大学出版社,2007.4彭为等.单片机典型系统设计实例精讲. 北京:电子工业出版社,20075王庆利等.单片机设计案例实践教程.北京:北京邮电大学出版社,20086周润景、张丽娜.基于PROTEUS的电路及单片机仿真. 北京: 航空航天大学出版社,2007.附录:程序代码P10至P17为八路抢答器输入端,P31为停止,P30为开始抢答,数码管段选P0口,位选P2的低三位口,蜂鸣器输出为P3.6口。 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 001BH AJMP T1INTOK EQU 20H ; 抢答开始标志位RING EQU 22H ; 响铃标志位 ORG 0040HMAIN: MOV R1,#0FH; 初设抢答时间为15s MOV R2,#0AH; 初设答题时间为10s MOV TMOD,#11H; 设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH; 越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H; 50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1; 允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0; 一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了查询程序:START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY; 未开始抢答时候显示FFF JB P3.0,NEXT ACALL DELAY JB P3.O,NEXT;开始键被按下就向下执行,否则跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A; SETB OK; MOV R3,#0AH; AJMP COUNT;NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7JNB P1.7,FALSE8 AJMP START非法抢答处理程序:FALSE1: ACALL BARK; 按键发声 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERRORFALSE7: ACALL BARK MOV R3,#07H AJMP ERRORFALSE8: ACALL BARK MOV R3,#08H AJMP ERROR倒计时程序: COUNT: MOV R0,#00H; MOV TH1,#3CH MOV TL1,#0B0H; 重置定时器RECOUNT: MOV A,R6; 倒计时的时间被R6所保存 MOV B,#0AH DIV AB; 除十分出个位/十位 MOV 30H,A; 十位存于(30H) MOV 31H,B; 个位存于(31H) MOV R5,30H ; 取十位 MOV R4,31H ; 取个位 MOV A,R6 CLR C SUBB A,#07H JNC LARGER ; MOV A,R0 CJNE A,#0AH,FULL;1s CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK ; 1s时,响并显示号数并清R0,重新计时 SETB RING MOV A,R6 JZ QUIT ; 计时完毕 MOV R0,#00H DEC R6 ; 一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK ; DEC R6; 计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT; 如按下停止键退出 ACALL DISPLAY JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6,TRUE7 JNB P1.7,TRUE8 AJMP RECOUNTQUIT: CLR OK ; 按下了停止键系统重新开始 CLR RING ACALL BARK AJMP START正常抢答处理程序:TRUE1: ACALL BARK; 按键发声 MOV A,R2 MOV R6,A; 抢答时间R2送R6 MOV R3,#01H CLR OK; AJMP LOOP2TRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP LOOP2TRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP LOOP2TRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP LOOP2TRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP LOOP2TRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP LOOP2TRUE7: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP LOOP2TRUE8: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#08H CLR OKLOOP2: AJMP DISPLAY ;选手抢答,停止计时SETB RING JNB P3.1 QUIT AJMP LOOP2犯规抢答程序:ERROR: SETB RING ;犯规响铃 MOV R5,#0BH MOV R4,#0BH; 显示FF和犯规号数LOOP3: ACALL DISPLAY JNB P3.1 QUIT1; 等待“停止”键按下 AJMP LOOP3 QUIT1: CLR RING CLR OK AJMP START显示程序:DISPLAY:MOV DPTR,#DAT1; MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,R3 MOVC A,A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY RETDAT

温馨提示

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

评论

0/150

提交评论