单片机篮球计时计分器报告_第1页
单片机篮球计时计分器报告_第2页
单片机篮球计时计分器报告_第3页
单片机篮球计时计分器报告_第4页
单片机篮球计时计分器报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计结题报告篮球比赛计时计分器》队成员分工情况:XX:完成实验报告的总体撰与,焊接方案设计和电路图的绘制,程序编写改进XX:完成兀器件米集,辅助电路焊接,电路图修整以及实验报告的完善XX:完成程序编与烧录,电路焊接,以及PCB版图的绘制其中设计方案的确立由团队成员一起讨论而成目录选题背景„„„„„„„„„„„„„„„„„„„„„„„3方案设计„„„„„„„„„„„„„„„„„„„„„„„4硬件电路设计„„„„„„„„„„„„„„„„„„„5硬件系统各功能模块的电路„„„„„„„„„„„5硬件系统的实现„„„„„„„„„„„„„„„„9硬件系统的调试„„„„„„„„„„„„„„„„102.2软件设计、编程及调试„„„„„„„„„„„„„„„102.2.1系统软件的模块程序设„„„„„„„„„„„„„102.2.2编程实现„„„„„„„„„„„„„„„„„„„„11软件系统的调试„„„„„„„„„„„„„„„„„11系统联调及最终实现结果展示„„„„„„„„„„„„„„„11总结„„„„„„„„„„„„„„„„„„„„„„„„„„12收获与致谢„„„„„„„„„„„„„„„„„„„„„„„13参考文献„„„„„„„„„„„„„„„„„„„„„„„„14附件„„„„„„„„„„„„„„„„„„„„„„„„„„151选题背景单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(1/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。本设计由STC89C52编程控制LED七段数码管作球赛计时计分系统具有赛程定时设置、赛程时间暂停、性能稳定、操作方便且易携带等特点。可广泛适合各类学校和小团体作为赛程计时计分。2方案设计篮球比赛计时计分器主要包括单片机控制模块、计时计分LED显示模块、电源接口模块、按键控制模块、复位电路模块和晶振模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。模块框图如图3-1所示。图1系统框图本设计是采用单片机STC89C52作为系统的核心元件,利用7段共阳LED作为显示器件。在此设计中共接入了6个7段共阳数码管,其中4个用于记录甲、乙两队的分数,每队2个LED显示器显示范围为0~99分,足以满足赛程需要,另外2个用来记录赛程时间,其中1个用于显示分钟,1个用于显示秒钟。赛程计时采用顺数计时方式,比赛开始时启动计时,计满99即跳到0重新计时,计时范围可达到0~99秒,可考虑选用四个数码管让计时范围达到0~99分钟。其次,为了配合计时器和计分器校正、调整时间和比分,我们在设计中设立了4个按键。其中2个用于甲、乙两队的分数;另外2个则用于完成复位和暂停时间等功能。

2.1硬件电路设计2.1.1硬件系统各功能模块的电路设计1.系统控制中心单片机STC89C52STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时电路,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选2最高运作频率35MHz,6T/12T可选2s45678910111213141516171819r 20P1.CXT2)vccPl.irT2EX)(ADOjPO.OP1.2(ADl)FO.lP1.3(AD2)F0.2P1.4(AD3)P0.3pl?(AD4)P0.4Pl.6(AD5JP0.5Pl.7(AD6)P0.^KST(AD7)P0.7P3.D(RXD)P3.1(TKD)ALE-FEjGGP3.2(IMT0}PSE>iP3.3{INT1}(A15JP2.7P3.4(T0)(A14)P2.€J3.5<T1)(A13)P2.5P3.6(WR}(A12)P24P3.7(RD)(A11)P2.3XTAL2(A1Q)P2.2XTAL1(A^)P2.1GMD(AS)P2.039L3B237336435534疳33732B31-2P-2827262524232221图2-1STC89C52单片机引脚图2.电源接口模块在这次设计的作品中考虑到方便简洁性我们使用USB母口,提供5V电压,因此这一模块不再赘述。3.按键控制模块本作品共配置了4个独立键盘来实现系统功能的控制.4个独立键盘分

别K1、K2、K3、K4,分别连接到单片机的P2.3、P2.2、P2.1、P2.0。配合

程序设计,在系统初始化后,通过按下K1和K2分别显示甲队、乙队的成绩,按下K3复位,按下K4比赛暂停。4.晶振模块晶振电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。根据不同需要可以采用不同频率的晶振,这里采用12MHZ的晶振,另外有两个30pF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入输出引脚。具体连接图如图2-3所示。19201Z13P3.2^mP3.3(INT1P3.4(TO)19201Z13P3.2^mP3.3(INT1P3.4(TO)P3.5(T1)P3.6i?WR)P3.7^D)XTAL2XTALTGNDSTC89C52图2-3晶振电路5.复位电路模块复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电加按键复位电路形式,具体连接电路如图2-4。图2-4复位电路

图2-4复位电路6.LED显示模块本设计采用6个共阳数码管显示。通过2个74HC573锁存实现数据的分时传送,四个数码管用来计分,通过按键控制,分别显示甲、乙两队的得分情况,两个显示十位,两个各位,另外两个数码管分别显示时间的十位与时间的各位。图2-5所示为LED数码管的电路连接图。心<3NDT3GDIylDZ92惦I斗Q5皿D7fAD&JPOI]!ADL心<3NDT3GDIylDZ92惦I斗Q5皿D7IAJ3JPI7IA14IPI6(AlljlPZJIA12IK4IA1IIP23IAlGlPI2jA9lF2.1IAHF2J图2-5LED显示模块框图2.1.2硬件系统的实现由于有数码管,连线较多较繁琐,为了美观,故主要连线都在板背面用焊锡焊接,其他连线都用排针和杜邦线组合连接。由于电池携带不便,且使用一段时间后会存在电量不足的情况,故采用USB母口来供电,方便简单。关于下载,为了节约板上空间,单片机的程序是从其他板上烧录再插到本作品上的。硬件系统的整体电路原理图展示如下:图2-6整体电路图2.1.3硬件系统的调试对照原理图进行焊接,应先把硬件依次正确插到电路板上相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接。在焊接的过程中要注意不要将相邻的两个引脚焊接在一起,防止短路影响使用。硬件连接好以后,先通过USB-ISP下载线将单片机和PC机连接,接着向单片机内烧制已写好的HEX程序,打开单片机,调试单片机程序。2.2软件设计、编程及调试软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为IntelHEX格式或二进制格式(Binary)文件写入单片机芯片内。此次我组使用的是C语言进行编程设计。2.2.1系统软件的模块程序设计篮球比赛计时计分器软件设计部分采用模块化程序设计,程序部分由主程序、延时子程序、独立键盘检测子程序、中断子程序、数码管中断刷新子程序等组成。reg52.h为51单片机库文件,包含一些重要接口及寄存器定义。控制键盘及锁存器锁存端均采用P2。数据传送均采用P0。根据共阳极单位数码管引脚图可写出0-F编码。采用了52单片机的全部两个计时器,分别对数码管刷新时间,及比赛时间进行控制监测。外接晶振频率为12M,可推算机器周期为1ns,进而可算出相关计时器初值。数码管显示为动态显示,1ms刷新一次,两个锁存器一个是段选(即控制哪个数码管显示)一个是位选(即控制显示什么数字)。先送数据,再选数码管。2.2.2编程实现我们这次软件的编写使用C语言实现的,由于以前有过C语言的学习,在这里用C语言编程也显得轻车熟路。此外我们借鉴的参考书郭天祥著《新概念51单片机C语言教程》都是以C语言为基础的编程,书写简洁明了。但是也有明显的不足,采用C语言编程的执行效率远小于用汇编语言。在以后的设计实践中,我们可以尝试采用汇编语言编程来使效率得到提高。我们使用的软件开发工具为KeiluVision2°Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。2.2.3软件系统的调试这次软件方面的调试主要是延时的调试。通过使用Keil软件对时间进行多次断点调试,通过与硬件晶振进行统一,最终调试出正确的时间。系统联调及最终实现结果展示系统联调系统调试分为软件调试和硬件调试,硬件调试和软件调试是分不开的许多硬件错误是在软件调试中被发现和纠正的,通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。最终实现结果:按键1按键2按键3按键4实现对甲队(前两数码管)分数的加实现对乙队(中间两数码管)分数的加实现对两队分数的清零。暂停/恢复比赛。其中,比赛处于暂停时,甲队乙队分数不可加,按键1、2无效。总结这个程序是修改以后的版本。之前的版本中,数码管显示没有采用中断刷新,而是循环查询刷新。故导致按键不松开的时候,整个单片机都在等待按键松开语句而不工作,浪费CPU资源。delayms延时函数本来可以用中断来替换,但是觉得对整体功能影响不大,而编写中断又相对麻烦,故没有采用。键盘消抖可以用硬件来实现,即并联电容滤波,但是未经测试,而且板上空间有限,故采用软件消抖,当然也可以用中断替换,宏观上表现为多任务处理。由于课业等其它原因,程序修改较为仓促。后来想到程序整体可以用状态机来实现,根据系统现态及状态改变来控制实现相应功能。而由于main只查询状态,故可提高代码质量和执行速度。但由于状态机需要状态变量较多,且编写较为麻烦,故没有采用。总的来说,本次课程设计还是比较成功的,但是由于时间和能力的限制,设计中也难免存在不足之处,很多软件和程序方面的设计有待进一步改善,恳请老师批评指正。收获与致谢在本次课程设计中,我通过基于典型单片机STC89C52的设计和应用,对单片机的工作原理及功能有了更加深刻的了解,并对单片机程序语言设计有了新的、进一步的认识。在本次设计的过程中,我们也发现很多的问题,看似很简单的电路,要动手把它给设计出来,却不是一件容易的事,主要原因是我们没有经常去动手设计电路,对画图的一些技巧不够熟悉。另外由于是本学期才自学的单片机课程,对单片机系统的知识似懂非懂,以致于我们又不得不用大量的时间去图书馆查阅各种资料和程序命令,在这个模块用去了不少时间,但由于我们暑假便已经着手准备,因此时间方面还比较充裕,在我们三个不同分工配合下,我们的作品在11月初便已完成。后在跟老师交流学习的过程中将作品得到了进一

温馨提示

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

评论

0/150

提交评论