篮球计时计分器.doc_第1页
篮球计时计分器.doc_第2页
篮球计时计分器.doc_第3页
篮球计时计分器.doc_第4页
篮球计时计分器.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计报告篮球计时计分器摘要本设计是篮球计时计分器,主要在篮球比赛中用于记录整个赛程的比赛时间和显示甲、乙两队在比赛过程中的比分情况。该计时计分器有部分组成:一部分用来实现计时功能,其基本原理和定时闹钟相似;另一部分用来实现计分功能,其基本原理和计数器相似,只不过所要记录和显示的对象是按键按下的次数,每按下一次计数值加一。主控芯片采用AT89C51,采用汇编语言进行编程,编程后利用WAVE600来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能是否能够正常实现。我自己在制作的过程中,先是制了一个定时闹钟,然后又制作一个计数器,但是始终不能用一片芯片来实现两种功能。后来经过我查询资料和上单片机爱好者、老古单片机网、以及周立功单片机论坛交流后,我终于发现问题出现在程序上,不是硬件连接图的问题。然后,我将我的程序重新进行修改,终于实现了主体功能。该设计能够实现计时和计分功能,采用共阴极数码管进行动态显示,加分的部分用按键来完成,每按一次发送一个计数脉冲,计数值加一。但是效果病不是很完美,计时显示部分有时候会出现不稳定的情况,通过对晶振和电容值调整后仍然没有改变效果,而且该设计最大遗憾是没有实现中场时交换比分和结束时进行报警的功能。目录1 概述4 1.1篮球计时计分器简介4 1.2篮球计时计分器的特点和原理4 1.3篮球计时计分器基本原理42 系统总体方案及硬件设计72.1单片机简介72.2 89C51单片机介绍73 软件设计11 3.1程序流程图11 3.2主程序13 4 Proteus 软件仿真214.1仿真图及结果分析215课程设计体会24参考文献25附1:源程序代码26附2:系统原理图37 1概述1.1篮球计时计分器的简介 体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。随着科技的迅猛发展,单片机在计算机应用领域中起到了越来越重要的作用由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。1.2篮球计时计分器的特点和功能篮球计时计分器,主要在篮球比赛中用于记录整个赛程的比赛时间和显示甲、乙两队在比赛过程中的比分情况。该计时计分器有部分组成:一部分用来实现计时功能,其基本原理和定时闹相似;另一部分用来实现计分功能,其基本原理和计数器相似,其不同之处仅在于要记录和显示的对象是按键按下的次数,每按下一次计数值加一或者减一。 用AT89C52,采用C语言进行编程,编程后利用Keil uVision2来进行编译,将生成的HEX文件装入芯片中,采用proteus软件绘图并进行仿真,验证功能是否能够正常实现。该设计实现了计时和计分功能,采用共阴极数码管进行动态显示。采用六个独立按键分别进行各部分的调整,定时扫描各个按键的状态,每检测到一次状态变化就发送一个计数脉冲,计数值加一,同样的方法还实现了分数减一的功能;另外本设计实现了赛前时间的调整和比赛过程中随时暂停和启动的功能;最后,中场时比分调换并且结束时能够进行报警提示。本次设计的篮球计时计分器具有以下的功能:I 能记录整个赛程的比赛时间,并能修改比赛时间。II 能随时刷新甲、乙两队在整个比赛过程中的比分。III 中场交换比赛场地时,能交换甲、乙两队比分的位置。IV 比赛结束时,能发出报警声。1.3篮球计时计分器的基本原理本设计是采用AT89C51单片机为核心设计的一个用于赛场的篮球计时计分器。本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分,均采用共阴极LED显示。计时部分计时范围宽,而且可定时设定与小时、分钟调整;计分部分调节灵活,显示范围宽,足以满足各种规模赛程需要。两个显示模块均采用动态扫描方式显示。在本设计中P3口(P3.0P3.5)是计时计分显示共用的扫描口,P0口是计时数据输出口,P2口计分数据输出口,计时计分均设有显示缓冲区(40H45H计分显示缓冲区,30H35H计时显示缓冲区)。本设计共有K1K6六个设置按键,K1是甲加分键(按一次加一分),K2是乙加分键(按一次加一分),K3是定时切换键(定时设置与计时调时切换),K4是小时调整键(计时与定时小时调整),K5是分钟调整键(计时与定时分钟调整),K6分数位置交换键(交换甲、乙两队比分的位置)。按键与P1口相接,低电平输入有效,另外还有一个复位按键K7。报警部分由555与扬声器组成,当计时时间到时,输出低电平,由555构成的电路工作输出脉冲信号驱动扬声器发出声音。计时定时的原理与定时闹钟相同,为定时设置定时小时和定时分钟计数单元,通过比较定时与计时的时分计数单元判断比赛是否结束是否报警,定时与计时共用一个显示缓冲区,通过K3(定时切换键)进行显示切换,本设计可通过定时显示的秒位判断定时是否有效,如果秒位显示00说明无效(上次用过的定时),显示11说明有效(本次定时)。定时时间到,扬声器报警,比赛结束,按K3键可停止报警(否则一直报警)。2系统总体方案及硬件设计2.1单片机简介单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机具有如下特点:1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功耗、低电压,便于生产便携式产品;4 外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;5 单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。利用单片机的智能性,可方便地实现具有智能的电子钟设计。单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能。然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。2.2 89C51单片机介绍 VCC:电源。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。图2.1 89C51单片机 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3软件设计3.1程序流程图 图3.1 篮球赛计时计分器的系统构成图 3.1.2系统原理图3.2主程序:3.2.1鸣音子程序:MINGYIN: SETB P3.6 MOV R4,#0FFH MOV R7,#4XU2: MOV R6,#50XU1: MOV R5,#50XU: DJNZ R5,XU DJNZ R6,XU1 CPL P3.6 DJNZ R4,XU2 DJNZ R7,XU2 RETI3.2.2时间显示程序:DISPT: MOV R0,#30H MOV R3,#08H MOV A,R3PLAYT:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#00H MOV A,R3 RR A JB ACC.7,LD1 INC R0 MOV R3,A LJMP PLAYTLD1: RET3.2.3比分显示程序:DISPF:MOV R0,#34H MOV R3,#80H MOV A,R3PLAYF:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#00H MOV A,R3 RR A JB ACC.3,LD1 INC R0 MOV R3,A LJMP PLAYF AJMP LD13.2.4交换场地程序:CHANGE: PUSH PSW PUSH ACC JB P3.2,QU LCALL DELAY JB P3.2,QUSTOPCH: JNB P3.2,STOPCH LCALL DELAY JNB P3.2,STOPCH MOV A,22H XCH A,23H MOV 22H,A MOV A,34H XCH A,36H MOV 34H,A MOV A,35H XCH A,37H MOV 35H,AQU: POP ACC POP PSW RETI END4 Proteus 软件仿真4.1仿真图及结果分析1.进入比赛,先设置时间为一节或着半场。默认是20分钟(按下“A+1”进行分钟加十,按下“A-1”进行分钟减十),如图4.1 图4.12.按下“START/PAUSE”开始比赛或者暂停,如图4.2 图4.23.上面的液晶显示为计时显示。下面的液晶显示为分数显示“左侧为B队分数,右侧为A队。”换场后依然如此。如图4.3 图4.3 4.按下“CHANGFIELD”交换场地,重新计时。5.A+1,A+2,A+3,A-1,B+1,B+2,B+3,B-1进行A,B队分数调整。6.时间到,自动将计时归零,分数还可以调整。如下图4.4 图4.45课程设计体会在这次课程设计的调试过程中,我遇到很多问题,如:由于跳转指令出错,导致整个程序在运行时进入死循环,修改时没有根据流程盲目查找原因浪费许多时间,又由于考虑不周,时钟显示29:89。该电路缺少整点报时及闹钟功能,由于能力和时间问题只能到此为止,很是遗憾,但在查找资料的过程中学到了许多,同时在协作过程中增进同学间的友谊。在论文完成之际,我要特别感谢我的指导老师杨俊起的热情关怀和悉心指导。在我做课程设计的过程中,杨俊起老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了杨俊起老师悉心细致的教诲和无私的帮助,特别是他广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。 在论文的写作过程中,也得到了许多同学的支持和帮助,给予了我很多宝贵的意见,在此一并致以诚挚的谢意。 感谢所有关心、支持、帮助过我的良师益友。 最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!参考文献1何立民单片机应用技术选编北京,北京航空航天大学出版社,19932余永权等编著单片机在控制系统中的应用北京:电子工业出版社,2004年2月 3家才主编单片机控制工程实践技术北京:化学工业出版社,2004年5月4 周航慈,单片机应用程序设计技术北京,北京航空航天大学出版社,20025 李朝青,单片机原理接口技术,北京航空航天大学出版社,19986 余发山编著单片机原理及其应用技术中国矿业大学出版社主要参考资料7 徐爱钧 彭秀华编著.单片机高级C51应用程序设计.电子工业出版社,1998.6附1:源程序代码ORG 0000HLJMP MAINORG 0003HLJMP CHANGEORG 000BHLJMP TIMEORG 0013HLJMP TIAOSHIMAIN: MOV SP,#50H MOV TCON,#04H MOV 20H,#00H ;秒 MOV 21H,#0CH ;分 MOV 22H,#00H ;A队分数; MOV 23H,#00H ;B队分数; MOV 24H,#02H ; MOV 25H,#01H MOV 26H,#0CH ;分钟定时区; MOV 30H,#00H ; MOV 31H,#00H ;时间缓冲区; MOV 32H,#02H ; MOV 33H,#01H ; MOV 34H,#00H ; MOV 35H,#00H ;分数显示缓冲区; MOV 36H,#00H ; MOV 37H,#00H ; MOV TMOD,#01H MOV TH0,#03CH MOV TL0,#0B0H MOV IE,#10000111B MOV IP,#05H MOV R2,#0AHSTART:LCALL DISPT LCALL DISPF JNB P1.0,PP1 ;A队加一分 JNB P1.1,PP2 ;A队加两分 JNB P1.2,PP3 ;A队加三分 JNB P1.3,PP4 ;A队减一分 JNB P1.4,PP55 ;B队加一分 JNB P1.5,PP66 ;B队加两分 JNB P1.6,PP77 ;B队加三分 JNB P1.7,PP88 ;B队减一分 JB P3.0,START LCALL DELAY JB P3.0,STARTSTOP1:JNB P3.0,STOP1 LCALL DELAY JNB P3.0,STOP1 CPL TR0 ;按键奇数次开始,偶数次暂停 LJMP STARTPP55: LJMP PP5PP66: LJMP PP6PP77: LJMP PP7PP88: LJMP PP8PP1: LCALL DELAY JB P1.0,PPBSTOP11:JNB P1.0,STOP11 LCALL DELAY JNB P1.0,STOP11 INC 22H MOV A,22H LJMP STOREAPP2: LCALL DELAY JB P1.1,PPBSTOP22:JNB P1.1,STOP22 LCALL DELAY JNB P1.1,STOP22 MOV A,22H ADD A,#02 MOV 22H,A LJMP STOREAPP3: LCALL DELAY JB P1.2,PPBSTOP33:JNB P1.2,STOP33 LCALL DELAY JNB P1.2,STOP33 MOV A,22H ADD A,#03 MOV 22H,A LJMP STOREAPP4: LCALL DELAY JB P1.3,PPBSTOP44:JNB P1.3,STOP44 LCALL DELAY JNB P1.3,STOP44 DEC 22H MOV A,22HSTOREA:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,APPB: LJMP STARTPP5: LCALL DELAY JB P1.4,PPCSTOP55:JNB P1.4,STOP55 LCALL DELAY JNB P1.4,STOP55 INC 23H MOV A,23H LJMP STOREBPP6: LCALL DELAY JB P1.5,PPCSTOP66:JNB P1.5,STOP66 LCALL DELAY JNB P1.5,STOP66 MOV A,23H ADD A,#02 MOV 23H,A LJMP STOREBPP7: LCALL DELAY JB P1.6,PPCSTOP77:JNB P1.6,STOP77 LCALL DELAY JNB P1.6,STOP77 MOV A,23H ADD A,#03 MOV 23H,A LJMP STOREAPP8: LCALL DELAY JB P1.7,PPCSTOP88:JNB P1.7,STOP88 LCALL DELAY JNB P1.7,STOP88 DEC 23H MOV A,23HSTOREB:MOV B,#0AH DIV AB MOV 36H,B MOV 37H,APPC: LJMP STARTDELAY:MOV R4,#5HDL00: MOV R5,#0FFHDL11: DJNZ R5,DL11 DJNZ R4,DL00 RET;时间中断程序;TIME: PUSH ACC PUSH PSW MOV TH0,#03CH MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#0AH MOV A,20H CLR C DEC A MOV 20H,A MOV A,21H CJNE A,#00H,PFF ;非0分跳转; MOV A,20H CJNE A,#00H,PFF ;非0分0秒情况跳转; CLR TR0 ;比赛结束停止计时; MOV 20H,#00H MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LCALL MINGYIN MOV 21H,26H MOV 30H,#00H MOV 31H,#00H MOV 32H,24H MOV 33H,25H LJMP RET0PFF: MOV A,20H CJNE A,#0FFH,OUT MOV 20H,#59 ; MOV 30H,#09H MOV 31H,#05H MOV A,21H DEC A MOV 21H,AOUT: MOV A,20H MOV B,#0AH DIV AB MOV 30H,B MOV 31H,A MOV A,21H MOV B,#0AH DIV AB MOV 32H,B MOV 33H,ARET0: POP PSW POP ACC RETI;鸣音子程序;MINGYIN: SETB P3.6 MOV R4,#0FFH MOV R7,#4XU2: MOV R6,#50XU1: MOV R5,#50XU: DJNZ R5,XU DJNZ R6,XU1 CPL P3.6 DJNZ R4,XU2 DJNZ R7,XU2 RETI;时间显示程序;DISPT: MOV R0,#30H MOV R3,#08H MOV A,R3PLAYT:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#00H MOV A,R3 RR A JB ACC.7,LD1 INC R0 MOV R3,A LJMP PLAYTLD1: RET;比分显示程序;DISPF:MOV R0,#34H MOV R3,#80H MOV A,R3PLAYF:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#00H MOV A,R3 RR A JB ACC.3,LD1 INC R0 MOV R3,A LJMP PLAYF AJMP LD1;调时时间显示程序;DISPW: MOV R0,#24H MOV R3,#08H MOV A,R3PLAYW:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#00H

温馨提示

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

评论

0/150

提交评论