单片机课程设计--8051系列单片机控制的八路智力抢答器设计.docx_第1页
单片机课程设计--8051系列单片机控制的八路智力抢答器设计.docx_第2页
单片机课程设计--8051系列单片机控制的八路智力抢答器设计.docx_第3页
单片机课程设计--8051系列单片机控制的八路智力抢答器设计.docx_第4页
单片机课程设计--8051系列单片机控制的八路智力抢答器设计.docx_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计-8051系列单片机控制的八路智力抢答器设计目录 1 系统设计 . 4 1.1 设计任务与要求 . 4 1.2 方案比较与论证 . 41.3 8051单片机系统说明 . 5 1.3.1 8051单片机简介 . 5 1.3.2 80C51的时序图 . 6 1.4 8051引角及其功能 . 6 1.5 设计抢答器的目的与意义 . 7 2 主要元器件分析 . 8 2.1 80C51芯片 . 8 2.2 数码管 . 8 3 硬件设计电路(使用PROTEL软件设计) . 9 3.1 单元电路设计 . 9 3.1.1 单片机最小系统单元设计 . 9 3.1.2 控制电路设计 . 10 3.2 总电路设计 . 12 3.3 PROTEL绘制的PCB图 . 13 4 程序设计 . 14 4.1、程序流程 . 14 4.2、源程序介绍 . 17 5 功能仿真 . 23 致 谢 . 27 单片机课程设计 摘 要 抢答器是一种应用非常广泛的设备,在各种竞猜、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管可控硅、发光管等组成,能通过发光管的指示辨认出选手。现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新的功能,如选手号码显示、抢按器或抢按后的计时、选手得分显示等功能。本文介绍了用8051系列单片机控制的八路智力抢答器。该抢答器除具有基本的抢答功能外,还具有定时、计时和报警功能。 关键字:抢答器 ;单片机;报警 2 单片机课程设计 引 言 在知识比赛与娱乐竞赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用8051单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路八个按键输入抢答信号;利用蜂鸣器完成语音的录放功能;利用存储程序;利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,控制数码管和蜂鸣器工作。在数码管上显示哪一组先答题,并通过数码管显示选手的序号以及开始倒计时,从而实现整个抢答过程。 “一种基于单片机的抢答器”与一般抢答器有四点不同:首先,抢答器反应异常灵敏。据了解,此抢答器的反应时间仅为几十微秒,大大缩短了抢答器的反应时间,使抢答器可以迅速高效的工作。其次,抢答质量有保证。在抢答过程中,当有人首先枪答成功的同时,会伴有响亮的声音提示,并且,不同的抢答器会有不同的声音,为比赛更加公正透明化提供了依据。第三,抢答器设置了复位键。抢答的活动常常会有几个环节构成,为了保证在每个环节中枪答器都可以快速高效的运作,使得抢答更加顺利的进行,此类抢答器设置了复位键。最后,抢答器利用单片机技术。利用这一技术,保证了抢答器拥有上述功能的同时,提高了抢答器的寿命与质量,让抢答器可以更加实用的同时,提高了抢答器的技术含量。 3 单片机课程设计 1 系统设计 1.1 设计任务与要求 设计并制作一个基于单片机8051最简连线抢答器 1、基本要求 具有八路输入,能够识别最先输入的信号,显示选号,并有声音提示。 对回答问题所用的时间进行倒计时显示,并提示结束时间报警。 具有抢答开关功能,按下该键后系统进入抢答状态。 主持人能够及时对电路进行屏幕清零,进行下一题的抢答 2、发挥部分 在按下抢答开关之前的信号判断为提前抢答,显示选号,声音提示,连续达到定次数后限制其抢答。 具有设置上述提及的时间、次数等参数的功能。 1.2 方案比较与论证 方案一:系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。 方案二:该系统采用8051系列单片机80C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下: 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。 4 单片机课程设计 单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富 R6,因为R1中保存了抢答时间 SETB OK ;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT里面 NEXT: JNB P1.0,FALSE1 ;下面为查询是否有选手犯规,是则跳入非法抢 JNB P1.1,FALSE2 ;答处理程序 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 18 单片机课程设计 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START c) 非法抢答处理程序 随着查询程序,若在查询程序中发现有选手提前抢答,则程序转到非法抢答处理程序开始执行。比如,检测到选手1犯规,则执行以下语句: FALSE1: MOV R3,#01H ;送选手号 AJMP ERROR ;转犯规抢答程序 按照以上方法,可以得到FALSE2至FALSE8的编写方法,可参见附录源程序中的非法抢答处理程序部分。 d) INT0处理程序(抢答时间程序) 当P3.2按下后,程序转入INT0中断处理程序,程序流程参见图四INT0流程图。另外,在调用显示程序前,还需要对当前抢答时间进行十六进制十进制转换,将个位存入R4,十位存入R5,选手号不显示(R3存入0AH),具体编写参见附录源程序。 e) 倒计时程序 这里的倒计时程序包括抢答倒计时和答题倒计时,为了编写方便,最后五秒的倒计时提示也包含在本部分。 程序中,首先要对T0溢出中断次数清零(一次中断为50ms),因为定时计数器0选用的是方式1,没有自动载入计数初值的功能,这里还需要对其赋初(3CB0H),每当T0溢出中断次数达到20次(50ms20=1s),就对倒计时减一。同样,这里需要调用到显示子程序,因此,也需要将倒计时转换为十进制,分别个位、十位分别存入R4、R5。如果是在抢答倒计时,在倒计时过程中,若查询有人抢答,则要立即跳转到正常处理程序执行。当倒计时小于等于5s时,通过每秒钟响0.5s铃来给与提示。另外,还要不断对停止键查询,一旦发现其按下,则跳转到查询程序。 19 单片机课程设计 若倒计时及时完毕,也是跳转到查询程序。 g)正常抢答处理程序 在进行抢答倒计时的过程中,若有选手抢答,则程序转入抢答倒计时执行。先按键发声,再将答题时间送入R6,进入答题倒计时,并将选手号送R3,以便显示。另外,还需要对开始标志位清零,来封锁其他选手的抢答。这里以选手一的抢答为例:若检测到选手一最先抢答,则执行以下程序: TRUE1: ACALL BARK ;调用发声提示,按键发声 MOV A,R2 MOV R6,A ;答题时间R2送倒数计时R6 MOV R3,#01H ;选手号送R3(以便显示) CLR OK ;封锁其他选手抢答 AJMP COUNT ;跳至倒计时程序 同理,可以得到其他选手的处理程序。详细程序请参见附录源程序中正常抢答处理程序部分。 h) 犯规抢答程序 当选手在开始键按下之前进行了抢答,程序先转到非法处理程序执行,非法处理程序确定是哪位选手犯规后,就转入犯规抢答程序。 在进入犯规处理程序后,首先对定时计数器1的溢出中断次数清零,并对其赋初值(3CB0H),再灭显示0.3s,接着显示选手号并响铃0.5s。直至检查到停止按钮按下,才返回到查询程序。 ERROR: MOV R0,#00H ;定时计数器1的溢出中断次数清零 MOV TH1,#3CH ;对定时计数器其赋初值 MOV TL1,#0B0H MOV 34H,R3 ;犯规选手号暂存入(34H) 20 单片机课程设计 HERE: MOV A,R0 CJNE A,#06H,FLASH ;0.3s内,灭显示并停止响铃 CLR RING ;响铃标志清零 MOV R3,#0AH ;灭选手号 MOV R4,#0AH ;灭倒计时 MOV R5,#0AH AJMP CHECK1 ;检查停止键 FLASH: CJNE A,#0CH,CHECK1 ;闪烁程序,(后 0.5s), SETB RING ;响铃 MOV R0,#00H ;溢出中断数清零 MOV R3,34H ;取回选手号 MOV R5,#0BH MOV R4,#0BH ;显示犯规选手号数 AJMP CHECK1 ;检查停止键 CHECK1: JNB P3.1,QUIT1 ;按下则返回 ACALL DISPLAY ;调用显示程序 AJMP HERE QUIT1: CLR RING ;返回前准备(开始、响铃标志位清零) CLR OK AJMP START ;返回至查询程序 21 单片机课程设计 i) 显示程序 这里的显示包括对时间和选手号的显示。从程序来讲包括对抢答、答题倒计时,调节倒计时,最先抢答选手号,犯规选手号的显示。根据前面的安排,用R3存选手号,R4存倒计时十位,R4存倒计时个位。 本显示程序采用查表法,动态显示各位。 下面就以R3(选手号)的动态显示为例,来介绍程序的编写。 MOV DPTR,#DAT1 ;取表的首地址 MOV A,R3 ;取R3值(决定与表首地址的偏移) MOVC A,A+DPTR ;查表 CPL A ;这里用的是共阳极显示,需要将共阴极的段选码取反 MOV P2,#001B ;位选确定。这里与硬件接法密切相关 MOV P0,A ;送段选信号 从程序中可以看到,显示程序的编写,需要严格根据具体接线编写。R4与R5的显示程序与此大同小异,只需要将位选改为对应位即可,具体参见附录中源程序部分。 j) 发声程序与T0中断程序 一旦开始键或抢答键按下,或因非法抢答,或者倒计时进入最后5s,都需要调用到发声子程序,它与T0中断程序共同来完成发声的功能。 发生程序的要完成的操作比较简单,即只需将响铃标志位置1一段时间后,再将其清零。时间的长短通过调用延时程序来控制。其形式为: 22 单片机课程设计 BARK: SETB RING ACALL DELAY CLR RING RET 而T0中断程序,是根据为其设定的中断频率(由初值确定),来检测响铃标志位,若其为1,则将P3.7取反,来发出一定频率的声音。由于定时计数器设定的模式为模式一,这里还需要对其重新载入初值。具体编写参见附录源程序。 除了上面介绍的功能子程序,本设计还时时要用到延时程序,包括对按键消抖的延时、显示延时。具体编写参见附录源程序中延时程序部分。 至此,所有子程序的编写已介绍完毕。 5 功能仿真 在试验检测前,利用Proteus软件对本设计进行了仿真, 对各个要求进行了验证. 仿真运行后,界面如图5-1: RP1RESPACK-8 1234C15 6U119397XTAL1P0.0/AD01nFX2388P0.1/AD1CRYSTAL937C2P0.2/AD21836XTAL2P0.3/AD335P0.4/AD422pF34C3P0.5/AD5 21833A0Y0P0.6/AD6416932U2:AA1Y1RSTP0.7/AD7614A2Y2100uR181221A3Y3P2.0/A822R4100kP2.1/A9123OEP2.2/A10100k2924PSENP2.3/A11 3025ALEP2.4/A12312674HC244EAP2.5/A1327R2P2.6/A1428200kP2.7/A15LS2110P1.0P3.0/RXD2119P1.1P3.1/TXD312 8P1.2P3.2/INT0413Q27R3P1.3P3.3/INT1SPEAKER514PNP6P1.4P3.4/T06151K5P1.5P3.5/T180C517164P1.6P3.6/WR8173P1.7P3.7/RD2 1RP2RESPACK-8图5-1 开始运行后界面 23 单片机课程设计 按下抢答开始键后,进入图5-2界面,进入抢答倒计时: RP1RESPACK-812345C167U181nF1939X2XTAL1P0.0/AD0938CRYSTALP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD335P0.4/AD43422pFP0.5/AD5C333P0.6/AD6932RSTP0.7/AD7U2:A21100u218R1P2.0/A8A0Y022416P2.1/A9A1Y123614R4100kP2.2/A10A2Y22924812PSENP2.3/A11A3Y33025100kALEP2.4/A1231261EAP2.5/A13OE27P2.6/A142874HC244P2.7/A15R2110200kP1.0P3.0/RXD211P1.1P3.1/TXDLS2312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T06159P1.5P3.5/T1716Q28P1.6P3.6/WRR3817SPEAKER7PNPP1.7P3.7/RD61K80C5154321RP2RESPACK-8图5-2 抢答倒计时 当3号选手最先按下抢答键后,进入下面界面。回答倒计时开始工作: RP1RESPACK-812345C167U181nF1939X2XTAL1P0.0/AD0938CRYSTALP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD335P0.4/AD43422pFP0.5/AD5C333P0.6/AD6932RSTP0.7/AD7U2:A21100u218R1P2.0/A8A0Y022416P2.1/A9A1Y123614R4P2.2/A10100kA2Y22924812PSENP2.3/A11A3Y33025ALEP2.4/A12100k31261EAP2.5/A13OE27P2.6/A142874HC244P2.7/A15R2110P1.0P3.0/RXD200k211P1.1P3.1/TXDLS2312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T06159P1.5P3.5/T1716Q28P1.6P3.6/WRR3817SPEAKER7P1.7P3.7/RDPNP61K80C5154321RP2RESPACK-8图5-3 回答倒计时界面 24 单片机课程设计 当8号选手最先按下抢答键后,进入下面界面。回答倒计时开始工作: RP1RESPACK-812345C167U1819391nFX2XTAL1P0.0/AD0938CRYSTALP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD335P0.4/AD43422pFP0.5/AD5C333P0.6/AD6932RSTP0.7/AD7U2:A21100u218R1P2.0/A8A0Y022416P2.1/A9A1Y123614R4100kP2.2/A10A2Y22924812PSENP2.3/A11A3Y33025100kALEP2.4/A1231261EAP2.5/A13OE27P2.6/A142874HC244P2.7/A15R2110200kP1.0P3.0/RXD211P1.1P3.1/TXDLS2312P1.2P3.2/INT0413P1.3P3.3/INT1514P1.4P3.4/T06159P1.5P3.5/T17168Q2R3P1.6P3.6/WR817SPEAKER7PNPP1.7P3.7/RD61K80C5154321RP2RESPACK-8图5-4 回答倒计时界面 有人在开始键按下前抢答,即犯规抢答时,界面如下,将显示抢答选手号码。: RP1RESPACK-812345C16U17193981nFX2XTAL1P0.0/AD0389CRYSTALP0.1/AD1C237P0.2/AD21836XTAL2P0.3/AD335P0.4/AD422pF34P0.5/AD5C333P0.6/AD6932RSTP0.7/AD7U2:A218A0Y0100u41621R1A1Y1P2.0/A861422A2Y2P2.1/A9812R423100kA3Y3P2.2/A102924PSENP2.3/A111100k3025OEALEP2.4/A123126EAP2.5/A132774HC244P2.6/A1428P2.7/A15R2200k110P1.0P3.0/RXDLS2211P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT19514P1.4P3.4/T08615Q2R3P1.5P3.5/T17SPEAKER716PNPP1.6P3.6/WR68171KP1.7P3.7/RD80C5154321RP2RESPACK-8图5-5 犯规抢答界面 25 单片机课程设计 结 论 抢答器主要应用在一些娱乐活动中,抢答器又称第一信号鉴频器。抢答器的出现解决了过去举手抢答的方式。这样不但增强了可靠性,而且提高了公平性,值得选手信赖。由于抢答器的出现为娱乐领域中的抢答环节提供了方便。 抢答器应用的一个关键问题是对其工作的稳定性,可靠性,快速性的设计要求严格。抢答器主要利用数字电路的编码,译码和定时功能来实现,或者利用单片机控制来完成,即智能化设计。 本设计定位于本学科发展方向对单片机的编程及数字电路的应用进行研究,并且得到一些有意义的结论。抢答器的出现已经很多年,并且种类很多。目前抢答器的功能是较为完善的,即智能化,可靠性高,速度快,工作稳定。本设计采用了部分智能化,在抢答时间方面还须改进,而且在准确性方面也有待于改进。本设计的进一步设计应该是无限时的答题时间控制且用单片机来完成。 一年多的单片机学习主要是课本上理论知识的学习,这些理论知识远不能满足对单片机的应用的要求,这次设计给我们提供了一次很好的理论联系实际的机会,使得我们对单片机的功能以及应用有了更深刻的了解和认识。 另外,程序设计是本次设计的一个难点,由于对指令的运用不够熟练使得在编程时屡屡碰壁。特别对于一些中断程序,因涉及到一些标志位而使得编程难度更高,虽然通过查资料以及同学老师的指导解决了这些问题,但编程方面的欠缺还是很大的,这为我以后的学习业敲响了警钟,在以后我应加强这方面的练习以提高自己。 由于时间以及自己的能力有限,这次的设计中难免会有一些遗漏和不足,希望老师批评指正。 26 单片机课程设计 致 谢 四年的大学生活即将结束,为期半个月的课程设计也接近了尾声。此次课程设计的完成,凝聚着许多人的关怀和帮助。首先要感谢我敬爱的指导教师徐祖华老师,他对我的学习和工作严格要求,并耐心地教导激励我们积极进取,培养我们形成良好的科研作风,所有这些,我们将终生受益。在此,我对徐老师的培养和帮助深表感谢,本设计是在徐祖华老师的悉心指导下完成的,在整个实际阶段,徐祖华老师除了给我提出方案外,也留给我主动解决问题的空间,使我在整个过程中很好的锻炼了自主分析和解决问题的能力。 课程设计本身就是一个将理论和实际工作结合起来的演习,是徐老师的指导和帮助教会我独立思考,自主分析和解决问题,为我今后走出校门迈向工作岗位奠定了坚实的基础,并激励着我在今后的人生道路上不断开拓进取,勇往直前。我再一次对黄老师的培养和关怀表示诚挚的谢意同时,还要感谢和我一起同学们,他们在我设计期间给予我很多帮助,没有大家的帮助,我将无法顺利完成设计,再次致以衷心的感谢。 再次真诚地感谢所有在我四年读书期间帮助过我的老师、同学和朋友 27 单片机课程设计 参考文献 1李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998 2李广弟.单片机基础.北京:北京航空航天大学出版社,1992 3何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 1994 4张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1990 5谭浩强.单片机课程设计. 北京:清华大学出版社,1989 28 单片机课程设计 附录1 总程序清单 OK EQU 20H ;抢答开始标志位; RING EQU 22H ;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ;跳转到抢答时间 ORG 000BH T0溢出中断 AJMP T0INT ;ORG 0013H MAIN: MOV R1,#10H ;初设抢答时间为10s MOV R2,#5FH ;初设答题时间为20s MOV TMOD,#11H ;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH ;越高发声频率越高,越尖 SETB EA SETB ET0 SETB EX0 CLR OK CLR RING SETB TR0 START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;未开始抢答时候显示FF JB P1.0,NEXT ;ddddddd 29 单片机课程设计 ACALL DELAY JB P1.0,NEXT ;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送R1-R6,因为R1中保存了抢答时间 SETB OK ;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT里面 NEXT: JNB P1.1,FAL

温馨提示

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

评论

0/150

提交评论