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