ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:961.07KB ,
资源ID:24602937      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24602937.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AT89C51单片机的篮球赛计时计分器设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于AT89C51单片机的篮球赛计时计分器设计.docx

1、基于AT89C51单片机的篮球赛计时计分器设计新疆农业大学科学技术学院本科生毕业设计(论文)题 目 基于单片机的篮球赛计分计时软件系统 班 级 农 电082 姓 名 X X X 学 号 085XXXX 时 间 20XX 年 XX 月 新疆农业大学科学技术学院基于单片机的篮球赛计分计时软件系统作者:XXX 指导教师:XXX摘要:篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。在此设计中共接入了1个四位一体7段共阴LED数码管,2个两位一体7段共阴LED数码管,前者用来记录赛程时间,后者用于记录甲乙队的分数,赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。本设计采用C语言

2、进行编程,编程后利用Keil uVision来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能是否能够正常实现。并且详细地介绍了仿真过程中遇到的问题和问题怎么得到解决。关键词: 计时计分器 单片机 Based on the single chip microcomputer system of timing and scoring in basketball matchAuthor: Li Yulong Tutor: Li YongweiAbstract: Time basketball scoring device is to solve a basketbal

3、l game when scoring and timing accuracy issues. In this design the access1four in one of a total of 7vaginal digital tube LED,2of two in one of a total of 7 negative LED digital tube, the former is used to record the race time, the latter is used for recording the B team scores, schedule a time with

4、 the countdown, match to start the beginning of time, until the time to zero. The design using C language programming, programming with Keil uVision to compile, generating HEX files into chip, using Proteus Software to simulation, testing whether the normal implementation of function. Simulation and

5、 describes in detail the problems met in the process and the problem how to be solved.Key word: Time scoring device SCM 1 引 言工程技术的电子化、集成化和系统化促进了电子工程技术的发展,同时也促进了电子工程技术在社会各行业中的广泛应用。随着单片机在各个领域的广泛应用,许多单片机作控制的球赛及时计分系统也就应运而生,例如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分等1。同时单片机在此领域的广泛应运,也大大提高了比赛中计时计分的稳定性和准确性。

6、设计意义篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。从而基于单片机的球赛计时计分系统同样具有使用便捷,计时计分准确等特点。必然是比赛中的主要计时计

7、分工具。 设计任务以及要求任务: 设计一个用于赛场的篮球计时计分软件系统。要求: 1、能记录整个赛程的比赛时间,并能随时实现暂停。 2、能随时更新甲、乙两队在整个过程中的比分。 3、中场交换比赛场地时,能够交换甲、乙两队比分的位置。 4、比赛结束时,能发出报警声。 5、能够实现对时间的调整。6、加分有误时可通过按键实现减分调整。7、计时延时可通过回表按键来实现时间的调整。2 总体方案设计 系统框图篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。这四个模块的相互连接如图2-1。图2-1

8、系统框图 软件总体设计软件设计主要分为3个部分:信息输入、信息处理、显示输出。主要函数包括:显示函数,按键获取函数,按键处理函数,进制转换函数。信息输入时采用8按键来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理。3 元器件的简单介绍 MCS-51系列单片机 单片机的简介本课题中用到的芯片就是AT系列中的AT89C52单片机芯片。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存

9、储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案2。AT89C52具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求3。它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。如图所示,图3-1为AT89C52单片机基本构造。图3-1 AT89C52引脚图主

10、要特性AT89C52的主要特性如下表所示4: 兼容MCS51指令系统 4k可反复擦写(1000次)Flash ROM 32个双向I/O口 可编程UARL通道 两个16位可编程定时/计数器 全静态操作0-24MHz 1个串行中断 128x8bit内部RAM 两个外部中断源 共6个中断源 可直接驱动LED 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能表3-1 AT89C52主要功能描述 显示器及其接口 数码管显示显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。由于这两种显示器结构简单,价格便宜,接口容易实现,因而

11、得到广泛的应用5。发光二极管LED,组成的显示屏,每个点都是一个或多个发光二极管,通过控制电路控制二极管的亮与灭来控制点的发光,从而使整个大屏幕显示图案。 液晶显示器LCD最常见的就是TFT类型的,它是由光源,液晶光栅,和控制芯片组成,他的光源是常亮的白色强光,当光线通过液晶光栅(液晶屏)的时候,通过电压改变液晶颗粒滤光方向,从而改变每个点的颜色和强度来显示图案。液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息, 如汉字、图形、图表等。 数码管的结构与原理图3-2为典型的数码管:图3-2 7段LED数码管如上图,L

12、ED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个点形状的发光管,在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如图3-3所示。图3-3 共阴与共阳极LED显示器LED显示器可分为共阳和共阴两种结构,如上图所示。图上为共阴结构。即把8个发光二极管阴极连在一起。这时如果需要点亮a到g中的任何一盏灯,只需要在相应的端口输入高电平即可;输入低电平则截止。比如我们现在要

13、显示数字“3”,则只要在对应的a、b、c、d、g段送入高电平,在其他端送入低电平即可,点亮为“3”。共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。在本设计中我采用的共阴级数码管。 蜂鸣器 蜂鸣器的分类蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动6。 蜂鸣器的工作原理本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外

14、壳等组成。接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 74LS138工作原理74LS138 为3 线8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其74LS138工作原理如下:当一个选通端(E1)为高电平,另两个选通端((/E2)和/(E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A2A1A0=110时,则Y6输出端输出低电平信号。如图3-4。图 3-4 74LS138译码器74LS138的功能如下表3-2。表

15、3-2 74LS功能表4软件编程及仿真 软件总体设计方案在设计程序之前,我首先对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。本次毕业设计的软件部分采用模块化设计,以倒计时为主线,甲乙两队比赛成绩的加减以及回表暂停等为计时过程中的可发生事件。依照此逻辑,我做了以下流程图。其流程图如图4-1所示。图4-1 主程序流程图 keilC的简介以及程序的编写Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编

16、代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势7。 C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面操作。 工程的建立首先安装Keil uVision我用的是Keil uVision4,建立自己需要的目标文件夹,其文件名为计分计时设计程序部分(空文件夹),然后打开软件进入Keil的主界面,点击工程新建工程。如下图4-2所示。图4-2点击新建工程后会弹出

17、下图的对话框,在文件名下拉框中选择先前建立好的目标文件夹,双击打开目标文件夹,随后设置文件名为程序并保存。如图4-3。图4-3保存后会自动出现选择单片的对话框,我的设计是用AT89C52。在Atmel中选择AT89C52点击确定后在文件中选择新建就可以进行程序的编写了。程序写完后保存在之前建立好的目标文件夹里,一般的keil可以用汇编和C语言来进行编程,如果是用汇编的话,保存文件的后缀应为而C语言则为我用的是C语言保存文件名为程序.c。如图4-4。图4-4 程序代码主程序主要包括、T0中断程序、计时加的子程序、暂停子程序、延时子程序等11个子程序组成。在这里主要说明两方加减分子程序,暂停子程序

18、,回表子程序,10秒倒计时子程序和两方交换比分子程序。(1)甲方分数加分子程序在程序中jf是甲方的分数则jup 和jdown分别为甲方分数加1和甲方分数减1。同样的乙方也是上术的定义方式。另外jup2 jup3分别为甲方分数加2分和加3分的按键定义。同理乙方也照此方式分别为yup yup2 yup3和ydown。void j_up() 加1分 if(jup=0) delay(5); while(jup=0); jf+; void j_up2() 加2分 if(jup2=0) delay(5); while(jup2=0); jf+=2; void j_up3() 加3分 if(jup3=0)

19、delay(5); while(jup3=0); jf+=3; (2)甲方分数减1子程序void j_down() if(jdown=0) delay(5); while(jdown=0); jf-; (3)乙方分数加分子程序void y_up() 乙方加1分 if(yup=0) delay(5); while(yup=0); yf+; void y_up2() 乙方加2分 if(yup2=0) delay(5); while(yup2=0); yf+=2; void y_up3() 乙方加3分 if(yup3=0) delay(5); while(yup3=0); yf+=3; (4)乙方分

20、数减1子程序void y_down() if(ydown=0) delay(5); while(ydown=0); yf-; (5)比赛暂停子程序暂停的按键是zanting当判断暂停按键按下则计时停止,如果暂停按键再次按下则计时继续进行。void stop() if(zanting=0) delay(5); while(zanting=0); TR0=TR0; baojing_enable=baojing_enable; (6)调节比赛时间以及回表子程序先说明下回表的意思,在篮球比赛中会有比赛时间计时超秒的情况出现,例如当比赛需要暂停时,没有及时的暂停比赛时间,此时计时器回多流逝几秒的时间,这

21、个时候就需要将计时器的秒部分往回调整。程序中的fen 即为分部的调整按键,miao则为秒部的调整按键,huibiao为回表加秒的调整按键。void tsj() if(fen=0) delay(5); while(fen=0); temp=temp-100; if(miao=0) delay(5); while(miao=0); temp-; 回表程序void hui() if(huibiao=0) delay(5); while(huibiao=0); temp+; (7)倒数10秒报警提示子程序当比赛结束时有10秒倒计时的提示,利用if语句进行逻辑判断,当时间显示小于等于10时开始报警提示v

22、oid baojing() if(temp0&baojing_enable=1) sound=0; led=1; delay(20); display(); led=0; sound=1; delay(20); display(); (8)交换比分子程序篮球赛分小节来进行的,当小节结束,两队要交换场地,而计分器是固定的,交换两队比分的功能方便了比赛的继续进行。当换份的按键按下,两队比分交换,并且将比赛时间重新设置为每节的总时间。void huan_fen() if(huanfen=0) delay(5); while(huanfen=0); sub=jf; jf=yf; yf=sub; tem

23、p=1000; 程序写好后,对程序进行了编译、翻译,在工程菜单栏里为工程设置选项中选择了输出HEX文件,生成HEX以便输入单片机进行仿真。图示如图4-5。图 4-5 HEX文件的生成 Protues的简介以及仿真Protues软件是英国Labcenter electronics公司出版的EDA工具软件8。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单

24、片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计9。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。 元器件的选择在protues仿真本设计需要AT89C52,74LS138译码器,4位7段数码管,2为7段数码管,数码管均为共阴极。12MHz晶振,电阻、排阻,LED等。在protues工作界面

25、中选择元件选择在关键词中输入AT89C52选择我需要的单片机AT89C52,其他元器件与此方法一样分别找到了我需要的器件。示例图如下4-6。图4-6 元器件的查找 Protues仿真时间及比分显示模块按照任务要求,我用一个4位7段共阴级数码管来显示时间,两个2位7段共阴级数码管分别显示甲乙两队的比分。用一块74ls138译码器来驱动数码管。13个按键来实现数据的出入以及时间的暂停等。显示模块如图4-7。图 4-7 显示模块时钟电路模块时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶

26、振频率的大小决定了单片机系统工作的快慢。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个33P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图4-8。图4-8 时钟电路复位电路模块复位是单片微机的初始化操作,其主要功能是把PC初始化为0000H,使单片微机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电+按钮复位电路形式,具体连接电路如图4-9。图4-9 复

27、位电路终场蜂鸣器提示电路模块终场提示是在比赛将要结束的最后10秒,蜂鸣器发出报警提示音来提示比赛结束。蜂鸣器通过一NPN三极管进行驱动,如图触发信号有基极引入。具体连接图如下4-10。图4-10 蜂鸣器报警电路按键模块我采用的是13按键的设计,按键可以实现甲乙两队比赛成绩的加减时间的局部调整比赛时间的暂停等。按键可以实现甲乙两方比分的加减,甲方加分按键设立了3个分别可以实现加1、2、3。分减分按键只设立了一个,最初本想同加分一样设立3个,但据比赛是的具体情况,设立一个减1分的按键即可。同样乙方的加减分按键的设立同甲方相同。按键模块如图4-11。图4-11 按键模块总接线图最终的总接线图如图4-

28、12。图 4-12 总接线图电路图全部画好后,我将之前写好的程序(生存的HEX文件)输入到AT89C52当中,进行仿真,仿真成功。仿真结果如图4-13。图 4-13 仿真图5结束语通过这次单片机的毕业设计,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我更熟悉掌握了Keil uVision4, proteus ISIS这些应用程序的运用,让我懂得了如何编写一些简单的程

29、序,学会了如何制作单片机应用程序,还有焊接和程序下载,。但在中间暴露出很多问题:对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还得请教同学,在焊接中焊接的基本工夫掌握不到家,手上工夫还是很欠缺的,使得电路板不是很美观。这些问题的发现,有助于提高我在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。严谨求实、踏实务实,是我这次实训的深刻总结。毕业设计期间翻阅了很多书,也上了很多网站去寻找自己需要的资料。这种寻找有很强的目的性,只是为了自己选定的课题内容而查阅,所以除了自己课题以外的其他方面几乎还是一无所知。这让我深刻的认识到了自己专业知识的贫乏。我对单片机的学习不会因为毕业

30、设计的结束而结束,在接触的众多资料里,做设计只是走马观花般的点到。通过单片机毕业设计,我加深了对单片机理论的理解,学会了怎样将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。参考文献:1徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社.20002王福瑞.单片微机测控系统设计大全M.北京:北京航空航天大学出版社,19983彭为,黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社.20064孙俊逸,盛秋林,张静.单片机原理及应用:清华大学出版社.20055何立民.MSC-51系列单片机应用系统设计:北京航空航天大学出版社.19936

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1