基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)精品资料.doc

上传人:封****n 文档编号:96699023 上传时间:2024-03-10 格式:DOC 页数:49 大小:607.21KB
返回 下载 相关 举报
基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)精品资料.doc_第1页
第1页 / 共49页
基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)精品资料.doc_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)精品资料.doc》由会员分享,可在线阅读,更多相关《基于单片机的篮球计时计分器设计(C语言编程、含proteus仿真图)精品资料.doc(49页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 摘要单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。本设计是基于AT89S52单片机的篮球计时计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。其次,为了配合计时器和计分器校正

2、调整时间和比分,我们特定在本设计中设立了7个按键,用于设置,调整时间,启动,调整分数和暂停等功能。采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。主控芯片采用AT89S52单片机,采用C语言进行编程,编程后利用Keil uVision3来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能是否能够正常实现。仿真成功后,焊接硬件电路,通过ISP下载器将hex文件烧制到单片机。目录1. 概述31.1 背景知识介绍31.2 设计内容31.3计任务和要求41.4 设计意义42.系统总体方案及硬件设计52.1 系统总体方案设计52.2 硬件电路设计62.2.1时

3、钟电路模块72.2.2 复位电路模块72.2.3显示模块82.2.4 报警模块92.2.5总硬件电路设计103 软件设计113.1 软件总体设计方案113.2 软件设计具体过程123.2.1延时模块设计133.2.2 数码管动态刷新显示程序133.2.3 T0中断程序153.2.4 加分子程序163.2.5减分子程序163.2.6 调整时间子程序173.2.7 半场交换比分子程序193.2.8 比赛暂停子程序203.2.9 中场指示灯程序213.2.10 主程序224 . PROTEUS仿真244.1 PROTEUS简介244.2仿真过程245. 硬件焊接与调试276.课程设计体会28参考文献

4、29附1 源程序30附2 系统原理图401. 概述1.1 背景知识介绍 体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛

5、现场感,表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。1.2 设计内容本设计是基于AT89S52单片机的篮球计时计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个四位一体7段共阴LED

6、显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了7个按键,用于设置,调整时间,启动,调整分数和暂停等功能。采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。1.3计任务和要求任务: 设计一个用于赛场的篮球计时计分器。要求: 1、能记录整个赛程的比赛时间,并能随时实现暂停。 2、能随时刷新甲、乙两队在整个过程中的比分。 3、中

7、场交换比赛场地时,能自动交换甲、乙两队比分的位置。 4、比赛中场和结束时,能发出报警声。 5、通过指示灯指示上下半场。 6、当比赛时间需要回倒时,能通过按键实现回表。 7、加分有误时可通过按键实现减分调整。1.4 设计意义 课程设计使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤,掌握了单片机仿真软件Proteus的使用方法,键盘和显示器在的单片机控制系统中的应用以及撰写课程设计报告的方法。此次设计很好的将书本上的理论知识和实践有机的联系了起来,是我们对理论知识有了更进一步的掌握,锻炼了我们的动手能力,同时也让我们懂得了理论与实际相结合的意义。为以后

8、的工作和学习提供了宝贵的经验。2.系统总体方案及硬件设计2.1 系统总体方案设计篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。这四个模块的相互连接如下图(图1)所示:本设计是基于AT89S52单片机的篮球计时计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分。赛程计时采用倒计时方式

9、,比赛开始时启动计时,直至计时到零为止。2.2 硬件电路设计单片机AT89S52简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52(如图2)具有如下特点:40个引脚,8k Bytes Flash片

10、内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器. 图 2 AT89S52单片机引脚图此模块电路包括时钟电路模块,复位电路模块及报警显示模块。2.2.1时钟电路模块 时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振

11、,另外有两个22P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图3所示: 图 3 晶振电路2.2.2 复位电路模块复位是单片微机的初始化操作,其主要功能是把PC初始化为0000H,使单片微机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电+按钮复位电路形式,具体连接电路如图4 图 4 复位电路2.2.3显示模块本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地),其它管脚

12、接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。本次设计在显示模块用到的是一个4位一体和2个两位一体共阴极数码管,共有8个代码输入口和8个位选输入口,采用排阻提供上拉电流数码管,以保证有足够大的电流点亮数码管,采用动态驱动,使各位数码管逐个轮流受控显示,这就是动态驱动,由于扫描速度极快,显示效果与静态驱动相同,其具体图形如下图5图6所示图5图62.2.4 报警模块蜂鸣器通过一NPN三极管进行驱动,如图触发信号有基极引入

13、。(图7)图72.2.5总硬件电路设计图83 软件设计在设计程序之前,我们首先要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。3.1 软件总体设计方案本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成.其程序流程图如图9图10。图9 主程序流程图图10扫描刷新显示子程序流程图3.2 软件设计具体过程 软件设计部分采用模块化程序设计,用C语言编写。Keil是

14、美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成。3.2.1延时模块设计 void delay(i

15、nt t)调用该子程序能实现延时功能 通过参数t,可以调成延时时间 while(t-) unsigned int i; 设置变量i的变化范围,能调整延时的单位时间 for(i=0;i1) 如果jie1,说明半场到了,比赛没有结束, 令m=2,n=0,关中断,再次按下暂停键时候继续倒计时 m=2; 同是T1=1;delay(400) ; delay(400);,是蜂鸣器 n=0; 发声报警 EA=0; T1=1; delay(400); T1=0; while(1) display(m,n,x,y); 刷新数码管,等待暂停减再次按下,跳出暂停 if(P1_0=0) delay(1); if(P1

16、_0=0) while(P1_0=0); EA=1; break; jie-; if(jie=1&bujin=2) 如果jie=1&bujin=2,说明比赛结束了, 关闭中断,比赛秒表不再走动,同时不短刷新数码管, EA=0; m=0; n=0;T1=1; 全场比赛结束蜂鸣器开始报警 delay(400); T1=0; P1=0x3f; P1=0x3f上下半场指示灯同时点亮,比赛结束 while(1) display(m,n,x,y); 同时应当不断刷新数码管 3.2.10 主程序void main() TMOD=0x01; 首先设置定时器工作方式 EA=1; ET0=1; TH0=0xb1;

17、 定时器送计数初值,EA=1,开中断,P3口电平拉高TL0=0x10; P1=0x7f, 上半场指示灯点亮TR0=1; TR0=1启动定时器P3=0xff; P1=0x7f; T1=0;while(1) 主程序通过 while(1),反复调用循环体内的子程序 来执行相应的功能 keyjiafen1(); keyjianfen1(); key2(); if(zidong=1) zidong=1为key3()执行条件 key3(); key3()半场交换场地时自动交换双方 if(n=18&bujin=0) 比赛分数子程序,所以仅当中场时调用 bujin=2; 修改变量bujin的值,目的是设定ov

18、er() 中第二个if语句的执行条件 shijian(); key4(); over(); 4 . PROTEUS仿真4.1 PROTEUS简介Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片

19、机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 4.2仿真过程接通电源,计时显示即开始倒计时工作,上半场指示灯亮,计时初始设计为2分钟,按下A+1键实现对A的加分

20、,每按下一次加1分,如图11.图11同样可实现A和B的加减分,按下暂停/启动键可实现暂停和启动。 图12 图13上半场结束后,停止计时,蜂鸣器报警,按下暂停启动按键启动下半场计时,同时可实现甲队和乙队交换分数,下半场指示灯亮。5. 硬件焊接与调试对照原理图进行焊接工作,把硬件先依次正确插到相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接.在焊接的过程中要注意不要将相临的两个引脚焊接在一起,防止短路影响使用。硬件连接好以后,通过ISP下载线向单片机内烧制HEX程序,观察各部分工作情况。硬件连接如图.6.课程设计体会通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容

21、及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我更熟悉掌握了Keil uVision3, proteus ISIS这些应用程序的运用,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,还有焊接和程序下载,。但在中间暴露出很多问题:对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还得请教同学,在焊接中焊接的基本工夫掌握不到家,手上工夫还是很欠缺的,使得电路板不是很美观。这些问题的发现,有助于提高

22、我在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。严谨求实、踏实务实,是我这次实训的深刻总结。做课程设计的这几天翻阅了很多书,也上了很多网站去寻找自己需要的资料。这种寻找有很强的目的性,只是为了自己选定的课题内容而查阅,所以除了自己课题以外的其他方面几乎还是一无所知。这让我深刻的认识到了自己专业知识的贫乏。为我对自己大四生活的规划敲响了警钟。我对单片机的学习不会因为课程设计的结束而结束,在接触的众多资料里,做设计只是走马观花般的点到。 通过单片机课程设计,我加深了对单片机理论的理解,学回了怎样将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而

23、不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。 参考文献【1】余发山,单片机原理及应用技术:中国矿业大学出社,2003【2】 河南理工大学电气学院:单片机实验报告指导册,2008【3】刘法治,常用电子器件及典型芯片应用技术:机械工业出版社,2007【4】何立民,MSC-51系列单片机应用系统设计:北京航空航天大学出版社,1993附1 源程序#include /#include 为头文件P1口各位分别用P1_0等表示code unsi

24、gned seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /其中0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f/分别对应数码管显示的字形0到9int m=1,n=60,x=0,y=0,i=0,jie=2,zidong=1,bujin=1,zanting=0,chuzanting=0; /定义全局变量m,n,x,y,i,jie,zidong,bujin,zanting,chuzanting/并初始化,其中m,n分别表示分钟与秒计时,x,y分别表示甲乙/两队的分数,其余中间变量void

25、 delay(int t) / 延时子程序 通过参数t,可以调整暂停时间 while(t-) unsigned int i; for(i=0;i200;i+); void display(int i,int j,int x,int y) / 数码管动态刷新显示程序 if(jie=1&bujin!=2) /中间变量jie=1时,为上半场,对P1赋值 P1=0xbf; /P1=0xbf, 即P1=1011 1111B,点亮对应上半场指示灯 P2=0xfe; /数码管动态刷新显示程序 P2=1111 1110,i为分钟 P0=segi%100/10; /刷新显示时间显示分钟十位,调用延时程序, delay(1); /延时数码管的点亮 P2=0xff; P0=0; P2=0xfd; /同理,动态刷新时分钟个位并延时点亮 P0=segi%10; delay(1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 互联网

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com