1、led数码管篮球计时计分器摘要单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(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 系统总体方案设计
3、 52.2 硬件电路设计 62.2.1时钟电路模块 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
4、简介 244.2仿真过程 245. 硬件焊接与调试 276.课程设计体会 28参考文献 29附1 源程序 30附2 系统原理图 401. 概述1.1 背景知识介绍 体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比
5、赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。1.2 设计内容本设计是基于AT89S52单片机的
6、篮球计时计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了7个按键,用于设置,调整时间,启动,调整分数和暂停等功能。采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。1.3计任务和要求任务: 设计一个用于赛场的篮球计时计分器。要求: 1、能记录
7、整个赛程的比赛时间,并能随时实现暂停。 2、能随时刷新甲、乙两队在整个过程中的比分。 3、中场交换比赛场地时,能自动交换甲、乙两队比分的位置。 4、比赛中场和结束时,能发出报警声。 5、通过指示灯指示上下半场。 6、当比赛时间需要回倒时,能通过按键实现回表。 7、加分有误时可通过按键实现减分调整。1.4 设计意义 课程设计使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤,掌握了单片机仿真软件Proteus的使用方法,键盘和显示器在的单片机控制系统中的应用以及撰写课程设计报告的方法。此次设计很好的将书本上的理论知识和实践有机的联系了起来,是我们对理论知
8、识有了更进一步的掌握,锻炼了我们的动手能力,同时也让我们懂得了理论与实际相结合的意义。为以后的工作和学习提供了宝贵的经验。2.系统总体方案及硬件设计2.1 系统总体方案设计篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。这四个模块的相互连接如下图(图1)所示:本设计是基于AT89S52单片机的篮球计时计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,
9、后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。2.2 硬件电路设计单片机AT89S52简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的
10、解决方案。 AT89S52(如图2)具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器. 图 2 AT89S52单片机引脚图此模块电路包括时钟电路模块,复位电路模块及报警显示模块。2.2.1时钟电路模块 时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的
11、大小决定了单片机系统工作的快慢。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图3所示: 图 3 晶振电路2.2.2 复位电路模块复位是单片微机的初始化操作,其主要功能是把PC初始化为0000H,使单片微机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电+按钮复位电路形式,具体连接电路如图4 图 4 复位
12、电路2.2.3显示模块本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。本次设计在显示模块用到的是一个4位一体和2个两位一体共阴极数码管,共有8个代码输入口和8个位选输入口,采用排阻提供上拉电流数码管,以保证有足够大的电流点亮数码管,采用动态驱动,使各位数码管逐个轮流受控显示,这就是动态驱动,由于扫描速度极快,显示效果与静态驱动相同,其具体图形如下图5
13、图6所示图5图62.2.4 报警模块蜂鸣器通过一NPN三极管进行驱动,如图触发信号有基极引入。(图7)图72.2.5总硬件电路设计图83 软件设计在设计程序之前,我们首先要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。3.1 软件总体设计方案本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成.其程序流程图如图9图10。图9 主程序流程图图10扫描刷新显示子
14、程序流程图3.2 软件设计具体过程 软件设计部分采用模块化程序设计,用C语言编写。Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序、暂停
15、子程序、快表和回表子程序、延时子程序等组成。3.2.1延时模块设计 void delay(int 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);
16、刷新数码管,等待暂停减再次按下,跳出暂停 if(P1_0=0) delay(1); if(P1_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(
17、) TMOD=0x01; 首先设置定时器工作方式 EA=1; ET0=1; TH0=0xb1; 定时器送计数初值,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&buji
18、n=0) 比赛分数子程序,所以仅当中场时调用 bujin=2; 修改变量bujin的值,目的是设定over() 中第二个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的加分,每按下一次加1分,如图11.图11同样可实现A和B的加减分,按下暂停/启动键可实现暂停和启动。 图12 图13上半场结束后,停止计时,蜂鸣器报警,按下暂停启动按键启动下半场计时,同时可实现甲队和乙队交换分数,下半场指示灯亮。5. 硬件焊接与调试对照原理图进行焊接工作,把硬件先依次正确插到相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接.在焊接的过程中要注意不要将相临的两个引脚
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1