资源描述
篮球比赛计时与计分系统设计篮球比赛计时与计分系统设计摘 要随着单片机在各个领域的广泛应用,许多用单片机作控制的球赛计时计分器也应运而生,如用单片机控制LCD液晶显示器的计时计分器,用单片机控制LED七段显示器的计时计分器等等。本次设计的篮球计时计分系统以AT89C51单片机为核心元件,利用它内部的计数器T0完成比赛的计时,通过七段共阴极LED来显示比分和时间。计时部分采用CD4511(七段BCD码译码器)进行硬件译码;计分部分采用CD4094(8位移位存贮总线寄存器)进行串行口扩展显示器接口,并利用74LS21(双四输入与门)来实现比分的刷新功能。报警部分采用蜂鸣器为音响器件。本系统具有赛事时间设置、赛事时间启/停设置、24s倒计时控制;比分刷新控制;报警等功能。且造价低廉、操作简单、携带方便,适合于学校或小团体作为赛程计时计分工具。关键词:篮球计时计分系统;七段共阴LED数码管;AT89C51BASKETBALL GAME TIME AND SCORING DESIGNABSTRACTWith a wide range of SCM applications in various fields, many with a single chip timing for the control of the game scoring device have emerged, such as liquid crystal display LCD with MCU control the timing of scoring device, LED seven segment display with microcontroller timing control points and more.The time basketball scoring system designed to AT89C51 microcontroller as the core component, use it to finish within the time T0 counter, through the common cathode seven segment LED to display the score and time. Part time using CD4511 (seven segment BCD decoder) for hardware decoding; scoring part is CD4094 (8-bit shift register storage bus) serial port expansion, monitor port, and use 74LS21 (Dual four-input AND gate) to achieve the score of the refresh function. Buzzer to sound the alarm part of the device used. The system has set the event time, event time start / stop setting, 24s countdown control; score refresh control; alarm functions. And low cost, simple operation, easy to carry, suitable for schools or small groups as the race time scoring tool.Key Words: Time basketball scoring system; Common cathode seven segment LED digital tube; AT89C51目 录1前言12系统方案设计22.1 总体方案22.1.1 设计内容22.1.2 设计要求22.2 系统组成33 硬件设计43.1 AT89C51的介绍43.2 复位电路43.3 键盘控制电路53.4 显示电路74 软件设计84.1 主程序设计84.2 键盘识别及处理程序设计94.3 显示子程序设计94.4 复位程序设计105 系统调试115.1 软件模拟调试115.2 硬件接线及调试116 总结136.1 设计心得13参考文献15致谢17附录17附录A 程序清单17附录B 总电路原理图321前 言体育比赛记分系统是对体育比赛过程中所产生的比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的记分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。比如篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的记分系统是一种得分类型的系统。篮球比赛的记分系统由计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛记分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。2系统方案设计2.1 总体方案此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以及译码显示模块。以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。它由硬件部分和软件部分组成。系统设计方案的硬件电路设计方框图如图2-1所示。矩形键盘89C51甲显示器乙显示器图2-1 硬件电路设计方框图2.1.1 设计内容(1)给甲、乙两队分别设置加分按钮,各按钮按下分别实现给甲、乙队加19分。(2)给甲、乙两队分别设置减分按钮,各按钮按下分别实现给甲、乙队减19分。(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示(4)预置分通过甲、乙两队加分按钮实现。2.1.2 设计要求(1)方案合理、正确,系统稳定、可靠。(2)软件设计要求尽可能精练、简短和运行可靠。(3)硬件电路要求简单明了,以节约成本。2.2 系统组成硬件电路由复位按钮、80C51单片机、矩阵键盘和两个4位共阴极LED显示器等组成。软件部分主程序主要由系统初始化段、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序组成。3 硬件设计3.1 AT89C51的介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路现在详细介绍看门狗复位电路:看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。典型应用的Watchdog复位电路如图3-1所示:图3-1 看门狗型复位电路此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。一般设计,将此段程序放在定时器中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正常3。原因主要是:当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由看门狗复位电路校正回来。因为定时器中断一真在产生,即使程序不正常,看门狗也能被正常复位。为此提出定时器加预设的设计方法。即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。这样,当程序走飞后,其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从而使看门狗复位电路会产生一个复位脉冲将CPU复位。当然这种技术用于实时性较强的控制或处理软件中有一定的困难。3.3 键盘控制电路在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。如图3-2所示。图3-2 矩阵式键盘电路需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。矩阵式键盘的按键识别方法确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键,矩阵键盘与80C51的接口电路如图3-3所示。图3-3 矩阵键盘与80C51的接口电路3.4 显示电路显示器采用两个四位共阴极LED显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。将八段顺序排列后就成为具有一定编码的共阴显示器了。动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。显示电路如图3-4所示。图3-4 显示电路接线图4 软件设计4.1 主程序设计主程序主要由系统初始化段、开中断、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序和中断处理子程序等组成。通过对以上各段和子程序的结合,以实现系统功能。该系统主程序流程图如下图4-1所示。开始始初化键盘识别保存甲是否为+是否为+对应处理减对应处理加对应处理加对应处理减显示图4-1 主程序流程图4.2 键盘识别及处理程序设计按键识别及处理程序主要由键盘识别和键值处理组成。其中键盘识别子程序不断地对键盘进行判断是否有键按下。当有键按下时则转到键码处理即甲、乙总分处理子程序对相应按键进行相应处理,即可实现对甲、乙两队总分的计算与处理。键盘识别即依次判断第一列、第二列、第三列、第四列是否有键按下。如果有键按下,先得出列,再反向赋值得出行,最后得出所在行和列的位置。键值处理即先定义09这九个按键,再对三次按键值进行保存,再来判断是甲队还是乙队加减分,再判断是加还是减,最后判断加或减多少分,实现分别给甲、乙总分进行加分和减分。键值处理即甲、乙总分处理子程序流程图如下图4-2所示。甲或乙除以100除以10个位十位百位商商余数余数除以100除以10图4-2 键值处理子程序流程图4.3 显示子程序设计由于该系统使用的是8位LED显示器显示计分器比分,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。这样虽然在任一时刻只要一个显示器点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果一样。显示器扫描显示子程序显示每一位用如图4-3所示流程方法完成。从80C51的P1口送显示器位码读相应位存储单元数据(中间两位显示“”无此步)由读得数据查表确定段码由80C51送相应显示器位下一位显示上一位显 示图4-3 显示子程序流程图4.4 复位程序设计按钮与单片机P0.6/AD6引脚相连,当每次按下该按钮后,系统将通过软件实现对计分复位功能。在主程序运行过程中,只要系统识别到与单片机P0.6/AD6引脚相连的按键按下,程序则会转去执行复位程序,完成对甲、乙总分寄存单元的清零,显示器各位的显示数寄存单元的复位,执行完毕后,返回主程序。流程图如4-4所示。开始P0.6为0甲、乙显示器复位返回 图4-4 复位程序流程图5 系统调试5.1 软件模拟调试本设计主要是用proteus软件绘图以及伟福软件进行编程仿真的。调试步骤由两个部分组成:首先,确定程序中错误的确切性质和位置;然后,对程序代码进行分析,确定问题的原因,并设法改正这个错误。具体地说,由以下步骤组成:1.从错误的外部表现入手,确定程序中出错的位置;2.分析有关程序代码,找出错误的内在原因;3.修改程序代码,排除这个错误;4.重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误;5.如果所作的修正无效,则撤消这次改动,重复上述过程,直到找到一个有效的办法为止。5.2 硬件接线及调试这个电路是在老师的指导下设计的,电路的设计在理论上完全行得通,不过接线是设计中最关键的一步,我的接线原则是从全局出发,逐个模块连接调试,最后总体调试。在这个指导思想下,我的安装还算是是成功的。逐个模块接线再调试,可以为总体调试省去很多时间,只要每个模块正常运行,几个模块通过地址总线连接之后,就不会出现太大的问题了。调试前的直观检查:1、连线是否正确,在通电之前应先检查一下电路的连线是否正确,包括错线,少线和多线的情况。查找的方法有:按照电路图检查安装的线路,这种方法的特点是,根据电路图来确定,按一定的顺序逐一检查安装好的线路,由此,可容易查出错线和少线的情况,还有一种方法就是按照实际的线路来对照原理电路进行查线,这是一种以元件为中心进行查线的方法。把每个元件引脚的连线一次查清 ,检查每个接线处在电路图上是否存在,这种方法不但可以查出错线和少线,还容易查处多线的情况。2、元器件安装时情况检查元、器见引脚之间有无短路;连接处有无接触不良;二极管和电容极性等是否连接有误。电源、信号源连接是否正确。4、电源端对地是否存在短路,在通电前,断开一根电源线,用万用表检查电源对地端是否存在短路模拟调试结果记录如下:通电后,显示器初始显示“100-100”。按照键盘分布说明按键,分布给甲、乙加1分、2分和3分,显示器跟踪显示出总分,然后模拟比赛细节,随意给甲、乙加分或是减分,均达到预期效果。在甲、乙均有一定总分的情况下对甲、乙进行减分处理,当减到0后便不能够再进行减分操作,与程序设计相符。在甲、乙均有一定总分的情况下,按清零按钮,显示结果清零。重复进行上面操作,结果均符合设计要求。6 总结6.1 设计心得在没有做毕业设计以前,觉得毕业设计只是对知识的单纯总结,但是通过这次毕业设计发现自己的看法有点太片面,毕业设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次毕业设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次毕业设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,学以致用,不再是纸上谈兵,。对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。在这次毕业设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。而且,毕业设计中涉及到的电路图用了比较新的一款PROTEUS进行设计和仿真,使我多掌握了一个得力的仿真工具。我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!通过这次毕业设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,理论与实际同样重要。在设计的过程中不可避免的遇到了许多困难。尤其是在最后的调试中,会因为某种原因而得不到满意的结果,但最后还是解决了。最后在调试结果终于出来以后我更是无比兴奋,无比自豪。在这里我要感谢帮助过我的老师和同学尤其是我的毕业设计指导老师张毅宁老师,没有你们也就没有这份毕业设计和论文。对我而言,知识上的收获重要,精神上的丰收更加可喜。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆。在毕业设计中,我感受到了老师对学生的那种悔人不卷的精神,每天的固定时间,老师都来给我们指导,使我们少走弯路,顺利完成实习任务,请允许我向你们致意崇高的敬意,感谢你们,老师! 参考文献1 许立梓.微型计算机原理及应用.北京:机械工业出版社,20022 刘乐善.微型计算机接口技术及应用.武汉:华中理工大学出版社,2000 3 邹逢兴.计算机硬件技术基础试验教程.北京:高等教育出版社,20004 周佩玲.16位微型计算机原理接口及其应用.北京:中国科学技术大学出版社,2000 5 吴秀清.微型计算机原理与接口技术.北京:中国科学技术出版社,20016 邓亚平.微型计算机接口技术.北京:清华大学出版社,20017 王迎旭.单片机原理及及应用.北京:机械工业出版社,20018 周航慈.单片机应用程序设计技术.北京:北京航空航天大学出版社,20029 谢宜仁.单片机实用技术问答.北京:人民邮电出版社,2002致谢在这次毕业设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。短暂几个月的毕业设计即将结束,在此,我首先感谢我的母校,在我们即将步入社会,走向工作岗位之际为我提供了这样一个良好的学习知识与动手操作的机会,并为我提供了先进实验设备。通过本次毕业设计我受益匪浅,不仅使我学会了用单片机编写程序的方法,而且对学过的相关知识得到了进一步的巩固和提高,通过阅读相关专业书籍掌握了一些以前未了解的知识;同时也熟悉了很多的硬件设备,更重要的是使我在学习和掌握这些知识的同时,能够在思维上得到提高和升华,在分析问题和解决问题的能力上得到培养和提高。这次毕业设计使我完善了知识结构、拓宽了知识面,开阔了眼界、提高了对各科知识综合应用的能力;同时也锻炼和培养了我的基本素质,它使我更加耐心、谨慎、细致。在这次毕业设计期间,指导老师老师给予了我耐心的辅导和热情的帮助。对于一些疑难问题老师更是很有耐心、不厌其烦的给予解答,并且在百忙之中对本论文进行了仔细的审阅,提出了极为宝贵的修改意见和建议,保证了论文的质量。使我在毕业之际为学校交上了一份满意的答卷。在此对张毅宁老师表示衷心的感谢和崇高的敬意。附录附录A 程序清单#include#define LEDData P0unsigned char code LEDCode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char minit,second,count,count1; /分,秒,计数器sbit add1=P10;/甲对加分,每按一次加1分 /在未开始比赛时为加时间分sbit dec1=P11;/甲对减分,每按一次减1分/在未开始比赛时为减时间分sbit add2=P12;/乙对加分,每按一次加1分/在未开始比赛时为加时间秒sbit dec2=P13;/乙对减分,每按一次减1分/在未开始比赛时为减时间秒sbit secondpoint=P07;/秒闪动点/-依次点亮数码管的位-sbit led1=P27;sbit led2=P26;sbit led3=P25;sbit led4=P24;sbit led5=P23;sbit led6=P22;sbit led7=P21;sbit led8=P20;sbit led9=P37;sbit led10=P36;sbit led11=P35;sbit alam=P17;/报警bit playon=0;/比赛进行标志位,为1时表示比赛开始,计时开启bit timeover=0;/比赛结束标志位,为1时表示时间已经完bit AorB=0;/甲乙对交换位置标志位bit halfsecond=0;/半秒标志位unsigned int scoreA;/甲队得分unsigned int scoreB;/乙队得分void Delay5ms(void)unsigned int i;for(i=100;i0;i-);void display(void)/-显示时间分-LEDData=LEDCodeminit/10;led1=0;Delay5ms();led1=1;LEDData=LEDCodeminit%10;led2=0;Delay5ms();led2=1;/-秒点闪动-if(halfsecond=1)LEDData=0 x80;elseLEDData=0 x00;led2=0;Delay5ms();led2=1;secondpoint=0;/-显示时间秒-LEDData=LEDCodesecond/10;led3=0;Delay5ms();led3=1;LEDData=LEDCodesecond%10;led4=0;Delay5ms();led4=1;/-显示1组的分数百位-if(AorB=0)LEDData=LEDCodescoreA/100;elseLEDData=LEDCodescoreB/100;led5=0;Delay5ms();led5=1;/-显示1组分数的十位-if(AorB=0)LEDData=LEDCode(scoreA%100)/10;elseLEDData=LEDCode(scoreB%100)/10;led6=0;Delay5ms();led6=1;/-显示1组分数的个位-if(AorB=0)LEDData=LEDCodescoreA%10;elseLEDData=LEDCodescoreB%10;led7=0;Delay5ms();led7=1;/-显示2组分数的百位-if(AorB=1)LEDData=LEDCodescoreA/100;elseLEDData=LEDCodescoreB/100;led8=0;Delay5ms();led8=1;/-显示2组分数的十位-if(AorB=1)LEDData=LEDCode(scoreA%100)/10;elseLEDData=LEDCode(scoreB%100)/10;led9=0;Delay5ms();led9=1;/-显示2组分数的个位-if(AorB=1)LEDData=LEDCodescoreA%10;elseLEDData=LEDCodescoreB%10;led10=0;Delay5ms();led10=1;/=按键检测程序=void keyscan(void)if(playon=0)if(add1=0)display();if(add1=0);if(minit0)minit-;elseminit=0;dodisplay();while(dec1=0);if(add2=0)display();if(add2=0);if(second0)second-;elsesecond=0;dodisplay();while(dec2=0);elseif(add1=0)display();if(add1=0);if(AorB=0)if(scoreA999)scoreA+;elsescoreA=999;elseif(scoreB0)scoreA-;elsescoreA=0;elseif(scoreB0)scoreB-;elsescoreB=0;dodisplay();while(dec1=0);if(add2=0)display();if(add2=0);if(AorB=1)if(scoreA999)scoreA+;elsescoreA=999;elseif(scoreB0)scoreA-;elsescoreA=0;elseif(scoreB0)scoreB-;elsescoreB=0;dodisplay();while(dec2=0);/*主函数*void main(void)TMOD=0 x11; TL0=0 xb0; TH0=0 x3c; TL1=0 xb0; TH1=0 x3c;minit=15;/初始值为15:00second=0; EA=1;ET0=1;ET1=1; TR0=0;TR1=0;EX0=1;IT0=1;IT1=1;EX1=1;PX0=1;PX1=1;PT0=0;P1=0 xFF;P3=0 xFF; while(1) keyscan();display(); void PxInt0(void) interrupt 0Delay5ms();EX0=0;alam=1;TR1=0;if(timeover=1)timeover=0;if(playon=0)playon=1;/开始标志位TR0=1;/开启计时elseplayon=0;/开始标志位清零,表示暂停TR0=0;/暂时计时EX0=1;/开中断void PxInt1(void) interrupt 2Delay5ms();EX1=0;/关中断if(timeover=1)/比赛结束标志,必须一节结束后才可以交换,中途不能交换场地TR1=0;/关闭T1计数器alam=1;/关报警 AorB=AorB;/开启交换minit=15;/并将时间预设为15:00second=0;EX1=1;/开中断/*中断服务函数*void time0_int(void) interrupt 1 TL0=0 xb0; TH0=0 x3c; TR0=1; count+;if(count=10)halfsecond=0; if(count=20) count=0;halfsecond=1; if(second=0) if(minit0)second=59;minit-;elsetimeover=1;playon=0;TR0=0;TR1=1;elsesecond-; /*中断服务函数*void time1_int(void) interrupt 3TL1=0 xb0; TH1=0 x3c; TR1=1; count1+;if(count1=10)alam=0; if(count1=20) count1=0;alam=1;附录B 总电路原理图图9-1 总电路原理图第 33 页 共32页二一二 届学生毕业论文(设计) 题目篮球比赛计时与计分系统设计院 系 物理科学与技术学院专 业 电子科学与技术班 级 2008级5班姓 名 孙德财指导教师 张毅宁
展开阅读全文