基于单片机的篮球计分器课程设计_第1页
基于单片机的篮球计分器课程设计_第2页
基于单片机的篮球计分器课程设计_第3页
基于单片机的篮球计分器课程设计_第4页
基于单片机的篮球计分器课程设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上郑州工业应用技术学院课程设计说明书题目: 篮球记分器 姓 名: 院 (系): 机电工程学院 专业班级: 学 号: 指导教师: 祁瑞敏 成 绩: 时间: 19年12月23日至 19年12月27日郑州工业应用技术学院课程设计任务书题 目: 篮球记分器 专业、班级 学号 姓名 主要内容、基本要求、主要参考资料等:主要内容:利用单片机设计出篮球记分器,利用LED数码管作为显示器件。具有显示分钟、秒钟的功能,同时还需具备记录甲乙两队分数和比赛倒计时的功能。基本要求:(1)要求显示比赛分钟数、秒数,并且设定调时按钮,能够完成对小时和分钟的调整;(2)利用proteus软件完成设计

2、电路和仿真;(3)掌握并口驱动数码管动态显示的方法;(4)通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实际动手能力和理论联系实际的能力。主要参考资料:1李全利,单片机原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版与仿真M,清华大学出版社4单片机实验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社完 成 期 限: 指导教师签名: 课程负责人签名: 年 月 日目录专心-专注-专业引言体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信

3、息系统。它负责对比赛的结果和成绩信息进行采集处理、传输分配。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多 种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。比赛具有的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备。单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器( CPU)、 随机存取存储器( RAM)、只读存储器( ROM)、输入/ 输出端口( I/0 )等主要计 算机功能部件

4、都集成在一块集成电路芯片上的微型计算机。本设计是基于 AT89C51单片机的篮球计时计分器,利用 7 段共阴 LED 作为 显示器件。在此设计中共接入了 1 个四位一体 7 段共阴 LED 显示器, 2 个两位一体 7 段共阴 LED 显示器,前者用来记录赛程时间,其中 2 位用于显示分钟, 2 位用于显示秒钟,后者用于记录甲乙队的分数,每队 2 个 LED 显示器显示范围 可达到 099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。 其次,为了配合计时器和计分器校正调整时间和比分, 我们特定在本设计中设立了 7 个按键,用于设置,调整时间,启动,调整分数和暂停等功能。采用

5、单 片机控制是这个系统按键操作使用简洁, LED 显示,安装方便。 主控芯片采用 AT89C51单片机,采用 C 语言进行编程,编程后利用 Keil uVision3 来进行编译,再生成的 HEX文件装入芯片中,采用 proteus 软件来仿 真,检验功能是否能够正常实现。仿真成功后,焊接硬件电路,通过 ISP 下载器将 hex 文件烧制到单片机。1.概述1.1背景知识介绍体育比赛计时计分系统是对体育比赛过程中所产生的时间 ,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。 根据不同运动项目的不同比赛规则 要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型

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

7、测控技术企业,机电行业,竞相把单片机应用于产品更新, 作为实现数字化, 智能化的核心部件。 篮球计时计分器就是以单 片机为核心的计时计分系统,由计时器,计分器,综合控制器和 24 秒控制器等 组成。1.2设计内容利用单片机设计出篮球记分器,利用LED数码管作为显示器件。具有显示分钟、秒钟的功能,同时还需具备记录甲乙两队分数和比赛倒计时的功能。1.3设计要求(1)要求显示比赛分钟数、秒数,并且设定调时按钮,能够完成对小时和分钟的调整;(2)利用proteus软件完成设计电路和仿真;(3)掌握并口驱动数码管动态显示的方法;(4)通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实际动手能

8、力和理论联系实际的能2.系统总体方案2.1篮球计分系统系统总体方案设计篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、 定时报警,按键控制键盘模块。 通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。这四个模块的相互连接如下图2-1所示:图2-1互相连接图本设计是基于 AT89C51单片机的篮球计时计分器,利用 7 段共阴 LED 作为 显示器件。在此设计中共接入了 1 个四位一体 7 段共阴 LED 显示器, 2 个两位 一体 7 段共阴 LED 显示器,前者用来记录赛程时间,其中 2 位用于显示分钟, 2位用于显示秒钟,后者用于记录甲乙队的分数,每队 2 个

9、 LED 显示器显示范围 可达到 099分。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。篮球计分器的设计是基于满足设计要求的前提并且根据理论上的可实现性和硬件上的经济实用性, 而进行设计的重要环节。 本节从人们对系统功能需求出发,在综合考虑各种因素的情况下,设计出篮球计分器的总体构架。3.硬件设计3.1篮球计分系统硬件设计AT89C51是一个 CMOS 8 位具有高性能、低电压的单片机,片内含 随机存取数据存储器和 Flash只读存储器。 Flash只读存储器是可以反复 擦写的。它是使用 ATMEL 公司的非易失性和高密度存储的开发方式生 产的,并且兼容 MCS-51 的指令

10、,具有的微型计算机内部的强大功能, 是一款性价比很高的单片机。 AT89C51微处理器,使用工业生产标准的 C51内核,在引脚排布及 其内部功能上与 8XC52 的这一系列相同,它的功能包括初始化数据 RAM 、IC 内部存储器及外部接口部件等,与主板 CPU 通信,进行红外 遥控信号的解码与接收。主要引脚脚有: VCC 和 VSS 分别接正负端的 5V 电源, RST 为复位端,外接电容和电阻构成复位电路, P0P3 是编 程常用的输入输出口, XTAL1 和 XTAL2 为晶体振荡器 I/O 端口,外接 6MHZ 或 12MHz 晶体震荡频率 ,引脚图如图 3-1 所示。图 3-1 AT8

11、9C51单片机引脚图3.2 时钟电路模块时钟电路模块,时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成, 晶振频率的大小决定了单片机系统工作的快慢。 为达到振荡周期是 12MHZ的要求,这里要采用 12MHZ的晶振,另外有两个22P的电容,两晶振引脚分别连到 XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图 3-2 所示:图3-2晶振电路3.3复位电路模块复位电路模块,本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地) ,其它 管脚接段驱动电路输出端。 当某段驱动电路的输

12、出端为高电平时, 该端所连接的字符导通并点亮, 根据发光字段的不同组合可显示出各种数字或字符。 同样,要 求段驱动电路能提供额定的段导通电流, 还需根据外接电源及额定段导通电流来确定相应的限流电阻。 本次设计在显示模块用到的是一个 4 位一体和 2 个两位一 体共阴极数码管, 共有 8 个代码输入口和 8 个位选输入口, 采用排阻提供上拉电 流数码管,以保证有足够大的电流点亮数码管, 采用动态驱动, 使各位数码管逐个轮流受控显示, 这就是动态驱动, 由于扫描速度极快, 显示效果与静态驱动相 同,共阴极接法是指把发光二极管的阴极连接在一起构成公共阴极, 使用时公共阴极接地,阳极输入高电平段的二极

13、管则会导通发光,而输入低电平的则不会亮。其具体图形如下图3-3图 3-4 所示图3-3显示效果图3-4静态驱动图3.4总硬件电路图总硬件电路设计如图3-5图3-5总硬件电路设计图4软件设计在设计程序之前,我们首先要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。软件设计部分采用模块化程序设计,Keil 是美国 Keil Software 公司出品的 51 系列兼容单片机 C语言软件开发系统,与汇编相比, C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

14、Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码, 就能体会到 Keil C5112 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.1软件总体设计方案本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程 序、T0中断程序、扫描显示子程序、计时加(减) 1 秒的子程序、暂停子程序、快表和回表子程序、延时子程序等组成 . 其程序流程图如图 4-1 图4-1主程序流程图图 4-2 扫描刷新显示子程序流程图4.2加分程序设计硬件电路中

15、设计了 6 个加分按键,采用中断和查询结合的方法扩充外部中断源,实现相应加分的功能。加分程序的流程图如图4-3图4-3加分设计流程图加分程序流程说明:按下加分按键后, 产生外部中断 0,CPU 从主程序跳转到加分中断服务程序继续执行。当在执行相应加分中断服务程序时, 不允许其它按键按下有相应操作,所以必须在进入中断后通过 CLR EA 指令关中断,又因为为了避免保护现场时,一些寄存器的内容出现紊乱,此指令必须放在 PUSH 指令之前。 CPU 通过查询方式判断键值后进入相应的加分子程序。 因为在操作按键时, 无论是按下还是松开,触点在闭合和断开时均会产生抖动, 此时逻辑电平是不稳的, 如果得不

16、到正确处理,可能会引起单片机对按键命令的错误执行, 所以必须执行一段延时子程单片机系统课程设计序,用来软件去抖动。4.3LED显示程序设计硬件设计中利用 4 位 LED 静态显示电路显示分数。通过显示缓冲区利用MOVC A,A+DPTR 查表指令找到指定字形码, 并由串行口串行输出显示。LED显示程序流程图如图 4-4所示。4-4LED 显示程序流程图LED 显示程序流程说明:首先将高位显示缓冲区的值, 也就是字形表的检索值给累加器 A,并将字形表首地址给 DPTR,然后利用查表指令找到指定的字形码,最后由单片机的串行口串行输出。紧接着将下一位缓冲区的值给累加器 A,同样由查表指令找到相应字形

17、码,并串行输出。依次循环执行上述操作, 直至 4 位全部输出后返回主程序。4.4交换程序设计由于篮球比赛中场结束之后, 要交换场地,则分数的显示位置也要随之调换。硬件电路中设置 K7键完成此项功能。交换程序流程图如图 4-5 所示。4-5交换程序图按下交换按键后,产生外部中断 1,CPU从主程序跳转到交换中断服务程序中继续执行。通过中间寄存器 A 和交换指令 XCH实现分数位置的交换。交换完成后, CPU返回主程序。5.软硬件调试Proteus软件是英国 Labcenter electronics公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件

18、。它是目前最好的仿真单片机及外围器件的工具Protues提供了丰富的资源 : 仿真元器件资源: 仿真数字和模拟、 交流和直流等数千种元器件,有 30 多个元件库。仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、 SPI 调试器、 I2C 调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。 Proteus 还提供了一个图形显示功能, 可以将线路上变化的信号, 以图形的方式实时地显示出来,其作用与示波器相似, 但功能更多。这些虚拟仪器仪表具有理想的参数指标。另外 Proteus还提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数

19、字信号。在 Protues中进行电路仿真时,先绘制好原理图,再调入已编译好的目标代码文件:*.HEX ,随后便可在 PROTEUS 的原理图中模拟的实物运行状态和过程,进行观察从而改良自己的设计方案。 操作简单,非常适合初学者进行单片机的仿真,进而了解其原理,增强实践。在用 Protues进行仿真之前, 先要用 WAVE 软件将我们编写好的汇编程序编译。具体方法是先新建一项目, 之后输入编写的程序, 输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件, 其中 *.HEX 文件就是我们所需要的,在之后电路设计好后用于放入 AT89C51 中执行其功能。6.总结本次课设是本人到目

20、前为止觉得最有意义也是收获最大的一次实习。我掌握了部分 AT89C51 的知识。这次课设恰恰给我们提供了一个应用自己所学知识的平台。从通过理论设计,到仿真软件仿真,再到确定具体方案。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课设是针对前面所学的知识进行的一次比较综合的检验。总的来说,这次课设虽然累,但非常充实。7.致谢这是我第一次正式的设计单片机课程实验设计,虽然过程比较的辛苦,但终究完成 了最后的设计,有很多的感触。实验做完了,这是汗水了智慧的结晶。同时也是老师细心教导与关怀的产物,是老师的教育才得以让我能顺利的完成此次的课程设计。通过这次的课题,让我能够更加深 刻的理解

21、本门课的知识,同时也让我对本门课程产生了更大的兴趣。我希望能够通过自 己的努力能够将本课程更加牢固的掌握,最后再一次感谢帮助过自己的老师与同学。8.参考文献1李全利,单片机原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版与仿真M,清华大学出版社4单片机实验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社9.附录#include<reg51.h> #define uchar unsigned char #define uint8 unsigned int uchar code show_

22、t10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /0 1 2 3 4 5 6 7 8 9 static uchar display_buf10; / 定义显示缓冲char xSc3,ySc3; / 保存两队的比赛结果 char tSc4; / 保存比赛时间 uchar uS_a=0,dS_a=0,hS_a=0,uS_b=0,dS_b,hS_b=0; / 分别定义 A和 B队比赛成 绩的个位、十位、百位 uchar suT=0,sdT=0,muT=0,mdT=0; / 分别定义比赛时间的秒、 分个位及其十位sbit fm_bt = P

23、27; / 蜂鸣状态位void delay_t(int t) / 延时 int tt; while(t-) tt=300; while(tt-); void display_rt(uchar dis_code) / 显示任务 char bit_disp2,bit_disp3,i; bit_disp3=0x20; bit_disp2=0x08; for(i=0;i<=9;i+) P2=0xff; P3=0xff; P0=show_tdis_codei; if(i<6) bit_disp2=0x08; P3=bit_disp3; P2=0xff; bit_disp3=bit_disp3

24、>>1; else bit_disp3=0x20; P2=bit_disp2; P3=0xff; bit_disp2=bit_disp2>>1; delay_t(1); void alarm_spk() / 攻击时间倒计时,喇叭在最后 5 秒钟发出 滴答滴答的警报声 uint8 vTmp; for(vTmp=0;vTmp<5000;vTmp+) fm_bt = fm_bt; delay_t(150); void modify_sc() / 调整比赛结果 while(1) display_rt(display_buf); while(P1=0xfd) /A 队 uS_a+; if(uS_a>9) dS_a+; uS_a=0; if(dS_a>9) dS_a=0; hS_a+; if(hS_a>9) uS_a=0; dS_a=0; hS_a=0; display_buf3=uS_a; display_buf4=dS_a; display_buf5=hS_a; display_rt(display_buf); delay_t(60); while(P1=0xfb) /B 队 uS_b+; if(uS_b>9) uS_b=0

温馨提示

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

评论

0/150

提交评论