毕业论文-基于单片机的篮球赛计时计分器设计与实现_第1页
毕业论文-基于单片机的篮球赛计时计分器设计与实现_第2页
毕业论文-基于单片机的篮球赛计时计分器设计与实现_第3页
毕业论文-基于单片机的篮球赛计时计分器设计与实现_第4页
毕业论文-基于单片机的篮球赛计时计分器设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

大连东软信息学院本科毕业设计(论文)论文题目:基于单片机的篮球赛计时计分器设计与实现系所:电子工程系专业:电子信息工程(集成电路设计与系统方向)学生姓名:学生学号:指导教师:导师职称:讲师完成日期:2014年4月28日大连东软信息学院Dalian大连东软信息学院毕业设计(论文)摘要IV基于单片机的篮球赛计时计分器设计与实现摘要随着社会发展的不断进步,高效、准确的要求也越来越受到重视。就拿篮球比赛计分系统来说,以前的用人来翻牌计分,秒表计时的方式已经不能满足现在社会的需求,因此,基于此本论文设计一款篮球计时计分系统,可以有效的解决这一问题。本论文是采用单片机STC89C52作为设计的核心元件。利用LED作为显示器件。在此设计中共接入了4个7段共阳极LED显示器,1个四位一体7段共阳极LED显示器。其中的4个是用于记录AB队的分数,每队2个,其显示器显示范围可达到0~99分,另外一个4位LED显示器则是用来记录赛程的时间,其中的2个是用来显示分钟,另外2个用来显示秒数。赛程的计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围也可达到0~99分钟,完全满足实际赛程的需要。本论文实现了可以记录整个赛程的比赛时间,并且能修改比赛时间;在整个过程中能随时刷新A、B两队的比分,而且在中场交换比赛场地时,能方便快速的交换A、B两队比分的位置。主控芯片采用STC89C52单片机,采用C语言进行编程,编程后利用KeiluVision3来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能是否能够正常实现。仿真成功后,焊接硬件电路,通过ISP下载器将hex文件烧制到单片机。关键词:单片机,LED显示器,计时器,计分器大连东软信息学院毕业设计(论文)AbstractTheDesignandImplementationofBasketballMatchTimingScoreIndicatorBasedonMCUAbstractAlongwiththeadvanceofsocialdevelopment,highefficientandaccuraterequirementsbecomemoreandmoreimportant.Forbasketballscoringsystem,theformerwayofhandwork.Forstopwatchmodecannotsatisfiedthedemandofthesocietynow,therefore,basedonthisdesign,abasketballscoringsystem,caneffectivelysolvetheproblem.ThisdesignusesdffectivelymicrocontrollerSTC89C52asthecorecomponent.AndtheLEDasadisplaydevice.Therearefotally4groupsof7sectionsofLEDdisplay,andoneof4bitsLEDdisplayinthisdesign.FourofthemareusedtorecordtheABteamscore,eachteamhas2,theLEDcanfrom0to99points,theotherfourLEDisusedtorecordtheracetime,twoofthemareusedtodisplaytheminute,theother2displaythesecond.Thecountingwayoftheraceiscountdown.Setthetimebeforethegame,thegamestartsatthebeginningoftime,untilthetimercounttozero.Thetimerangeisalsofrom0to99,itsatisfytheactualschedule.Thispaperimplementscanrecordthecourseofthegame,andcanmodifythegametime;ThewholeprocesscanbeflushedtoA,Bteamscore,andexchangethevenueinmidfield,itisconvenienttoexchangethepositionoftheA,Bteamscore.ThemaincontrolchipusesSTC89C52microcontroller,usingCprogramminglanguage,theKeiluVision3tocompile,generatingtheHEXfileintothechip,usingproteussoftwaretosimulateandtestthefunction.Afterthesimulation,theweldinghardwarecircuit,throughtheISPdownloadercopythehexfiletoMCU.Keywords:MCU,TheLEDDisplay,Timer,Scorer大连东软信息学院毕业设计(论文)目录目录TOC\o"1-3"\f摘要 IAbstract II第1章绪论 11.1课题研究背景与意义 11.2课题研究内容与方法 11.3课题研究现状 2第2章关键技术介绍 32.1单片机介绍 32.2LED数码管原理 42.2.1产品简介 42.2.2产品特点 42.2.3驱动方式 5第3章系统需求分析 73.1系统设计目标 73.2系统功能需求 73.2.1单片机小系统的介绍 73.2.2LED显示模块 83.3系统开发环境 83.4系统可行性分析 83.4.1技术可行性 83.4.2系统安全性分析 9第4章系统设计 104.1设计指导思想和原则 104.2体系结构设计 104.3硬件设计 104.3.1单片机最小系统介绍 114.3.2LED数码管显示电路介绍 124.4软件设计 134.4.1主程序流程图 154.4.2各个部分流程图 16第5章系统实现 175.1环境配置 175.2功能模块实现 175.2.1主函数模块实现 175.2.2各个函数模块功能介绍 185.3系统集成与调试 21第6章系统测试 226.1硬件焊接与调试 226.2软件测试 22第7章结论 24参考文献 25致谢 26大连东软信息学院毕业设计(论文)-第1章绪论在计算机技术飞速发展的当下,单片机运用的数量远远超过了PC机和其他计算机的总和。现代人类生活中的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具等电子产品中都含有单片机。单片机也同样的适用在体育界中,比如说篮球比赛的计时计分。在体育界中运用单片机可以更准确、更有效、更公平的体现出比赛结果。1.1课题研究背景与意义体育比赛中的计时计分系统是针对正在进行的比赛进程中所进行的时间,双方得分等数据来采集和记录,加工处理,传递使用的信息系统。不同的体育项目有着不同的比赛规则,体育比赛的计时计分系统中含有测量类,评分类,命中类,制胜类,得分类等各种类型。篮球比赛是依据两支队伍在比赛规定的时间里所得分数的多少来判断胜负的,所以,篮球比赛的计时计分系统属于得分类的系统。篮球赛计时计分系统由计时器,计分器等多种电子设备组成,与此同时,根据当前水平较高的篮球比赛需求,完整的篮球比赛计时计分系统设备要具备与现场的比赛情况处理,直播大屏幕,电视转播车等多种设备相联,来实现比赛增强现场感,表演娱乐观众的功能及目标。由于单片机的集成度较高,功能较强,通用性较好,尤其是它拥有体积较小,重量较轻,能耗较低,价格适中,可靠性强,抗干扰能力强以及使用方便等独树一帜的优点,使得单片机快速得到了推广使用。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。研究本系统的意义在于使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤,掌握了单片机仿真软件Proteus的使用方法,键盘和显示器在的单片机控制系统中的应用以及撰写课程设计报告的方法。此次系统设计要求很好的将书本上的理论知识和实践有机的联系了起来,这就要求我们对理论知识有更好的掌握能力,也同时锻炼了我们的动手能力,同时也让我们懂得了理论与实际相结合的意义。为以后的工作和学习提供了宝贵的经验。1.2课题研究内容与方法本系统是采用单片机STC89C52作为本设计的核心元件。利用7段共阳LED作为显示器件。在此设计中共接入了4个7段共阳LED显示器和1个四位一体7段共阳LED显示器,其中4个是分别用于记录AB队的分数,每队2个LED显示器,显示范围可达到0~99分;当比赛队A队得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B队的得分。另外1个四位一体LED显示器则用来记录赛程时间,其中的2个用于显示分钟,另外2个用于显示秒钟。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到0~99分钟。1.3课题研究现状篮球比赛在各个国家中越来越受到人们的关注,同时也被更多的青少年所喜爱。所以拥有一个价格低廉,操作方便且便于携带的篮球计分计时系统是很有实际意义的。从另外一个方面说,此设计也方便了人们在比赛时的计时计分工作,在一定程度上也促进了篮球赛的开展,既有利于发展篮球这项体育运动,又有利于增强人们的体质。虽然市面上的篮球计时计分系统已经很普遍了,但是本论文所设计的篮球计时计分系统是基于89C52单片机所设计的。基于单片机的设计可以在操作上简便,出错几率减少等优点。同时也可以更好的将系统应用在环境中,能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。大连东软信息学院毕业设计(论文)第2章关键技术介绍2.1单片机介绍单片机,亦称单片微型计算机或单片微电脑,是在一块集成了CPU中央处理器的芯片、ROM程序存储器、定时器/计数器、RAM数据存储器和多种功能的I/O输入/输出接口等一台微型计算机。其包含计算机所需要的基本功能部件。其可以完成各种功能和函数中复杂的运算、通信、逻辑控制等功能。单片机的最小系统是单片机运行的最低保障,简单说就是单片机能正常工作和实现功能所必须的组成部分。可解释为使用最少的元件组成的单片机可以工作的系统。单片机的最小系统应该包括单片机、时钟电路、复位电路和输入/输出设备。单片机以体积小、功能全、性价比高等诸多优点而被广泛应用,在工业控制、通信设备、家用电器等众多嵌入式应用领域中独占鳌头。如果说C语言程序设计课程是软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手操作等特点,成为工科学生硬件设计的基础课。本系统采用Atmel公司的STC89C52单片机,采用双列直插封装(DIP),有40个引脚。该单片机采用Atmel公司的高密度非易失性存储技术制造,与美国Intel公司生产的MCS—51系列单片机的指令和引脚设置兼容。其主要特征如下:STC89C52单片机是一个8位CPU,其内置4K字节Flash可重复编程Flash,擦写次数可重复1000次。可以完全静态操作:操作频率在0Hz~24Hz之间,可输出时钟信号。程序存储器可以进行三级加密,保证系统安全。片内有128B×8的数据存储器(RAM)。在所有引脚中有32根是可编程I/O线。系统内部集成了2个16位定时/计数器,并且包括有6个中断源的中断系统,可编为两个优先级。一个全双工可编程串行通道。可编程串行UART通道。具有闲置模式和掉电模式两种节能模式。复位电路主要完成系统的上电自动复位和系统在运行时用户的手动按键复位功能。在本系统中采用较简单的RC复位电路,单片机在上电瞬间,RST引脚端出现正脉冲,实现自动复位。经实践使用证明,其复位逻辑稳定、可靠。在单片机系统中起着非常重要作用的还有时钟电路,它是保证系统能够正常运行的基础。在一个单片机应用系统中,时钟是保证系统能够正常运行的基准振荡定时信号,主要组成部分有晶振以及外围电路,晶振频率的大小决定了单片机系统工作速度的快慢。STC89S52单片机的时钟电路可以由三种方式构成,即内部时钟方式、有源晶振方式和外部时钟信号方式。本自动报站系统为内部时钟方式,即采用外接晶振和电容组成的并联谐振电路,STC89S52可以工作在20MHz频率下。2.2LED数码管原理2.2.1产品简介LED数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管其实是由七个发光管组成8字形构成的,算上小数点既是8个。这几部分都是由a,b,c,d,e,f,g,dp来表示。当给予数码管特定的段以电压之后,特定的段便会发光,就能够形成我们所看到的字样了。例如:想要显示一个“2”字,那就应该是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管的亮度有着一般亮和超亮等区别,同时亦有0.5寸、1寸等不同的尺寸。一般来说较小尺寸的数码管的显示笔画通常是使由一个LED(发光二极管)构成,而大尺寸的数码管由二个或多个LED构成,一般情况下,一个LED的管压下降到1.8V左右,电流上限为30mA。共阳数码管就是LED的阳极连接到一起连接到电源正极,共阴数码管就是LED的阴极连接到一起连接到电源负极。通常我们使用的LED数码管显示出来的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。2.2.2产品特点LED数码管以发光二极管作为发光单元,颜色有单红,黄,蓝,绿,白,黄绿等效果。单色,分段全彩管可使大楼,道路,河堤轮廓亮化,LED数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图文效果;可放在PCB电路板上按红绿兰顺序呈直线排列,以专用驱动芯片控制,构成变化无穷的色彩和图形。外壳采用阻燃PC塑料制作,强度高,抗冲击,抗老化,防紫外线,防尘,防潮。LED护栏管具有功耗小,无热量,耐冲击,长寿命等优点,配合控制器,即可实现流水,渐变,跳变,追逐等效果。如果应用于大面积工程中,连接电脑同步控制器,还可显示图案,动画视频等效LED数码全彩灯管可以组成一个模拟LED显示屏,模拟显示屏可以提供各种全彩效果及动态显示图像字符,可以使用脱机控制或者计算机连接实行同步控制;能够显示出不同样式的全彩动态效果。控制系统使用三泰VISS专用灯光编程软件编辑,数码管控制的方式更加简单,仅需要把编辑生成的花样格式文件copy到CF卡便可,数码管控制器既能够单独进行控制,也能够多台联机控制,数码管安装编排方法随意,适合各式各样复杂工程需求。数码管、控制器以及电源等以标准公母插头连接,方便快捷,并具有独特的外形设计,全新的户外防水结构。数码管显示对于现代的控制系统来说可能过于简单,显得产品过于简单,但系统设计应秉持着简单且实用的原则。不应过分追求外表的华丽。多个发光二极管进行封装组成了我们现在常见的LED数码管,此数码管实际上是一个8字型的器件,它的引线已经在内部进行连接,完成内部需要。因此我们常见的数码管只引出它们的各个笔划以及公共电极。常用的LED数码管段数一般为7段另外加上一个小数点位。LED数码管的区分是根据LED的接法不同来进行划分的,其共分为共阴极和共阳极两类。了解LED数码管的这些特性,是对编程具有非常重要的意义的。因为对于不同类型的数码管,不仅它们相对应的硬件电路有差异,而且编程方法也是不尽相同的。共阴极和共阳极数码管的内部电路以及发光原理是相同的,只不过是它们的电源极性不同而已。2.2.3驱动方式LED数码管若要正常工作,就必须使用驱动电路来驱动数码管的各个段码,才能够显示出需要的数字,所以根据LED数码管的驱动方式的差异,我们把它分成静态式和动态式两类。静态显示:静态驱动亦称作直流驱动。静态驱动就是单个数码管的每一个段码全部只由一个单片机的I/O端口进行驱动。静态驱动编程较为简易,显示亮度高,但不足的是占用I/O端口多,例如要驱动5个数码管静态显示要使用5×8=40根I/O端口来驱动,而一个89S51单片机可用的I/O端口仅仅32个,在进行实际使用时要增加译码驱动器来进行驱动,使硬件电路更加复杂。动态显示:在单片机中使用最为普遍的一种显示方式是LED数码管动态显示接口,动态驱动是把所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”相同名称的端口连接起来,还为各个数码管的公共极COM增加位选通控制电路,位选通是通过各自独立的I/O线来进行控制,在单片机输出字形码的时候,单片机控制位选通COM端电路,所以我们仅需打开要显示的数码管的选通控制,该位就显示出字形,未选通的数码管便不会亮。通过分时轮流控制各个数码管的COM端,便可以让各个数码管轮流受控显示。轮流显示的进程中,每位数码管的点亮时间为1~2ms,而人的视觉会产生暂留现象和发光二极管的余辉效应,即便事实上各位数码管不是一同点亮,但扫描的速度达到一定的程度,那么人看到的就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。大连东软信息学院毕业设计(论文)第3章系统需求分析3.1系统设计目标本系统主要功能是篮球计时计分系统,首先在比赛之前,接通电源,系统将自动复位,此时计时电路和计分电路中的共阳极数码管全部显示为0,在电路中,通过按键开关来设置时间。例如,比赛时间是40分钟,分两半场,每半场时间为20分钟,则通过按键,使显示分钟数数码管显示2即可;再通过按键设置比赛时间的秒数,使显示秒数的数码管显示0即可。时间设置好后,等待比赛开始。当比赛结束时,如果需要增加比赛时间,则增加的比赛时间按照同样的按键开关来设置即可。在比赛的过程中,A、B两队的比分是在不断变化的,所以需要设置比分刷新控制装置;此功能是由计分电路中的按键开关来完成的。分别给A队加一分、加两分、加三分,给B队加一分、加两分、加三分。3.2系统功能需求3.2.1单片机小系统的介绍单片机最小系统即是单片机运行的最基本电路,最小系统中的组成缺一不可。最小系统主要是由三部分组成的,其中包括单片机、复位电路、时钟电路等几部分组成。这几部分是单片机系统必不可少的,既然被称为单片机最小系统,他的每一部分都是单片机系统必不可少的部分,单片机是一切控制的核心,他负责单片机软件的运行,协调各个硬件电路之间的协调运行。软件代码需要烧写在单片机内,供电后,单片机运行程序集可开始运行,随着事项相应功能。振荡电路:单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在平常的运行条件中,普通的晶振频率绝对精度可达百万分之五十。还有一些晶振能够由外加电压在一定范围内调整频率,叫做压控振荡器(VCO)。晶振用一种可以将电能以及机械能互相转化的晶体在共振的状态下工作,来保证稳定,精准的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52的内部有一个用于构成片内振荡器的高增益反相放大器,振荡器产生的信号将送到CPU,作为CPU的时钟信号,驱动CPU产生执行指令功能的机器周期。振荡电路放大器的输出端和输入端是由引脚XTAL2和XTAL1引出的。自激的振荡器就是采用了这个放大器以及片外石英晶体一起可构成的。复位电路:在单片机中设置的复位电路的作用是为了使单片机处于一个初始化的状态,并且系统的执行将会从这个初始化的状态下开始进行工作。不论在什么突发情况下,单片机都是需要进行复位的。RST引脚输入STC89C52单片机的复位信号到触发器当中的。在系统处于正常的工作的状态下,并且在振荡器稳定之后,如果RST引脚有一个高电平且维持2个机器周期(24个振荡周期),则CPU就可以响应并且将系统复位。复位分为手动复位和上电复位两种。本设计系统将采用的是手动复位,当按下按钮时,即使人的动作很快,也会使按钮保持数十毫秒,所以手动复位能确保复位时间要求。3.2.2LED显示模块本系统设计采用的是四个7段共阳极数码管,以及一个四位一体的7段共阳极数码管。其中4个7段共阳极LED显示器分别用于记录AB队的分数,另外一个四位一体的7段共阳极LED是用来显示比赛中时间的变化。3.3系统开发环境硬件环境:450*2MHZ/40G/1024MB/40G/软件环境:Keil软件,Protel99SE,Proteus仿真3.4系统可行性分析3.4.1技术可行性本系统功能全面,考虑周全,能够充分的考虑实际使用的情况。并实现了全部功能。系统中采用STC公司的单片机,其功能强大。性能优良,稳定性很高。对于系统的稳定运行有着很大的保证。系统功能全面,共包括电源模块、GSM短信模块、红外热释电模块。让系统的人机交互界面更加人性化,让系统的第一印象更加良好,增加其市场影响力。本系统使用的单片式是采用双列直插封装。共有40个引脚。该单片机采用高密度非易失性存储技术制造。其主要特点是STC89C52是一个8位的CPU,其内置4K字节Flash,可查写次数1千次,可以完全静态操作,操作频率在0Hz~24Hz之间,可以输出时钟信号。存储器可以进行三级加密,保证系统安全。片内有120bX8的数据存储器(RAM)。40个引脚中有32个事I/O口。系统内部机车了2个16为定时/计数器,并且包括有6个中断源的终端系统。可以编为两个优先级。一个全双工串行通信通道。有可编程串行UART通道。并且闲置模式和掉电模式两种节能模式。3.4.2系统安全性分析本系统的安全性主要靠合理的系统模块划分,各个模块分工明确,功能明确,对于系统的问题检查和系统的维护带来了非常好的便利。能够有效地提高系统的运行效率。保证不会运行过程中出现问题后长时间查找问题,无法找到问题。安全性在软件方面也有体现,程序在编写过程中也是按照模块化的方式进行编程。在系统程序调用的过程中会更加一目了然的看到问题所在,也会增强了系统的可维护性。单片机最小系统中的复位电路也是系统运行安全的保证。由于单片机的运行环境并不能保证在稳定不变,难免单片机会死机或程序无法运行,软复位无法重新启动系统以后复位电路在此时就起到非常关键的作用。保证系统的正常启动,恢复系统功能。第4章系统设计4.1设计指导思想和原则接口系统将会在对原接口业务进行系统有效的分析和整理后,把所有相同类型的接口业务进行整理合并,达到减少相同的接口程序,提升接口的开发、运维效率。接口系统的第一目标是要符合当前的业务功能需要,还要保证系统切换平滑、运行稳定;针对所采用H2规范的接口,通过参数配置等形式,来达到灵活的配置业务的功能,并且有优秀的可扩展性,提高接口功能的复用性。而在面对非规范类接口,在满足业务功能需要的同时,根据实际情况,纳入接口系统架构。接口系统采用先进的系统管理模式,提供统一的管理命令格式,严谨的日志文件输出格式。还可方便接口系统的运维工作。4.2体系结构设计根据需求调研结果确定本系统主要包括以下功能模块,如图4.1所示。图4.1系统体系结构4.3硬件设计本系统由单片机STC89C52作为篮球计时计分的控制核心,实现LED数码管显示以及按键控制等几个部分,即该系统主要包括单片机最小模块,数码管显示模块,以及按键控制模块等几个部分。现分别对各模块进行分析。硬件电路主要负责的是电气性能连接,在设计的开题报告中明确了系统的功能。系统在实现功能过程中需要选择器件,器件的确定决定了系统功能。在确定器件后是将相应的器件按照一定的电气性能连接起来。本系统在硬件设计过程中主要围绕篮球计时计分系统进行设计,篮球计时计分系统的环境、功能和控制方法进行设计。硬件系统主要分为单片机最小系统、数码管显示模块、按键控制模块、计时计分电路。各个电路之间相互协同相互配合,主要是靠单片机的协调。硬件电路的功能就是使用各个部分电路实现设计功能。单片机这个控制核心就是在此时发挥作用。其只要检测到信号即通知相关的模块进行工作。保证尽可能快的、稳定的完成相应的工作。准确及时的实现相应的功能。首先在比赛之前,接通电源,系统将自动复位,此时计时电路和计分电路中的共阳极数码管全部显示为0,在电路中,通过按键开关来设置时间。例如,比赛时间是40分钟,分两半场,每半场时间为20分钟,则通过按键,使显示分钟数数码管显示2即可;再通过按键设置比赛时间的秒数,使显示秒数的数码管显示0即可。时间设置好后,等待比赛开始。当比赛结束时,如果需要增加比赛时间,则增加的比赛时间按照同样的按键开关来设置即可。4.3.1单片机最小系统介绍单片机最小系统即是单片机运行的最基本电路,最小系统中的组成缺一不可。最小系统主要是有有三部分组成,其中包括单片机、复位电路、时钟电路等几部分组成。这几部分是单片机系统必不可少的,既然被称为单片机最小系统,他的每一部分都是单片机系统必不可少的部分,单片机是一切控制的核心,他负责单片机软件的运行,协调各个硬件电路之间的协调运行。软件代码需要烧写在单片机内,供电后,单片机运行程序集可开始运行,随着事项相应功能。本系统选用的单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。STC89C52采用40引脚的双列直插封装(DIP方式)。STC89C52具有丰富的资源,而且性价比很高,对于一个有市场意义的项目来说成本的控制是非常重要的。时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个30PF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体电路图如图4.2所示。图4.2单片机最小系统电路图4.3.2LED数码管显示电路介绍本论文设计采用的是7段共阳极数码管。在此设计中共接入了4个7段共阳极LED显示器和1个四位一体7段共阳极LED显示器,其中4个7段共阳极LED显示器分别用于记录AB队的分数。每队的2个7段共阳极LED显示器的显示范围可以达到0~99分,足够的满足比赛过程中的需要。另外一个四位一体的7段共阳极LED是用来记录比赛的时间,其中的2个LED显示器是用于显示分钟数的,另外的2个是用于显示秒钟数的。比赛过程中的计时是采用倒计时方式的,意思是在比赛之前将时间先设置成比赛中需要的时间数。在比赛开始的时候启动计时,直到计时中分钟数为零停止比赛。计时器的显示范围可以达到0~99分钟,也是完全满足实际赛程的需要。LED数码管显示电路如图4.3所示。图4.3LED数码管显示电路4.4软件设计Keil简介:KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,该系统与汇编语言相比,在可读性、结构性、功能性、可维护性上有明显的优势,且容易掌握,使用方便。Keil编程软件提供功能强大的集成开发调试工具和丰富的库函数。另外,编译后所生成的汇编代码效率高,目标性强,多数语句生成的汇编代码很紧凑,容易理解。KeilC51工程建立:打开uVision3,点击“NewFile”,点击软件工程管理器右侧的文件输入窗口,在这个新的文件输入窗口里编写一个源程序,注意编码的规范,如每行代码后面的分号及大小写的区分等,防止输入错误的代码。输入完毕之后,选择“SaveFile”选项,给新建立的文件命名并存储,在给文件命名时,其最后一定要加上文件的扩展名,一般的C语言程序都以“.C”为扩展名,这里将其命名为“lqs.c”,保存完毕后可以将该文件关闭。Keil软件不能处理单个C语言源程序,还必须选择好对应的单片机型号,确定编译、连接、汇编的相关参数,以及系统指定的程序调试方式。而且不同的程序中会有很多不同的文件,为其软件的使用和管理提供方便。Keil建立工程(Project)的概念,将一些必备需求的所有文件和具体的参数设置全部加在一个项目工程文件中,Keil能够仿真项目工程而不能对单一的源程序进行仿真和编译。打开Keil软件,点击“Project”选项中的“NewProject”选项,这时会弹出一个对话框,给正在建立的工程项目命名,本项目中我们起名为lqs,不需要输入扩展名;然后点击“保存”,弹出第二个对话框,如图4.1所示,在这个对话框中选择项目需求的CPU芯片型号,大部分芯片的型号都满足Keil软件的编程需求,我们这里将会选择Atmel公司生产的STC89C52芯片。点击Atmel前面的“+”号,展开下拉选项,点击其中的AT89C52,点击“确定”按钮,回到主窗口,此时,在工程项目中,出现了“Target1”,前面有“+”号,点击“+”号展开下拉菜单,将会看到一个“SourceGroup1”,刚刚建立的工程文件是个空的工程文件,不存在什么文件,可以通过手动将刚编写好的源程序加入到里面,再点击“SourceGroup1”看到变为白色显示状态了,在点击鼠标的右键,将会出现一个可以往下拉的菜单选择如图4.2所示,选择好文件其中“ADD”,在当中找到工程项目的源程序名称。双击“lqs.c”文件,将建立好的文件添加到工程项目中,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4.3所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主接口,返回后,点击“SourceGroup1”前的加号,“lqs.c”文件已在其中。双击文件名,可以打开该源程序。Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。Proteus软件是现在最好的仿真单片机及外围器件的工具,也是当今世界上唯一能够把电路仿真软件、PCB设计软件和虚拟模型仿真软件三种软件合而为一的设计平台。Proteus软件拥有丰富的资源,支持智能原理图设计,具有完善的电路仿真和独特的单片机协同仿真功能。MicrosoftVisio2007是微软公司出品的一款的软件,MicrosoftVisio是Windows操作系统下运行的流程图软件,它现在是MicrosoftOffice软件的一个部分。它有助于IT人员更加轻松地可视化、分析和交流复杂信息。MicrosoftVisio2007还可以将很难理解的复杂文本和表格转换为一目了然的Visio图表。本论文正是通过Visio实现了程序流程图的绘制。本设计单片机的编程选择C语言编写,由于C语言灵活方便、简洁紧凑、数据结构丰富、运算类型丰富、掌握起来较为容易、编写时不容易出错,而且程序设计自由度大,C语言可以通过代码直接查询物理地址,可以直接对硬件进行操作;C语言编程代码质量高,可操作性强,程序执行效率高,而且具有很好的移植性能,可以将某些优秀的C语言代码段或子函数应用到更多的程序和系统当中,如DOS、Linux系统。C语言还具有较强的数据处理能力和绘图能力,适于编写系统软件、各种仿真绘图、连接关系、操作程序等。所以本项目选则C语言来编写单片机部分程序。4.4.1主程序流程图本论文软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、扫描显示子程序、计时加(减)1秒的子程序等组成。其程序流程图如图4.4所示。图4.4主程序流程图4.4.2各个部分流程图图4.5扫描刷新显示子程序流程图

第5章系统实现5.1环境配置本系统中使用环境主要需要配置的就是protel和keil软件。主要的对于STC89C52的单片机,晶振采用6MHz的石英晶体,按键选用轻触开关作为独立式按键,以及振荡电路和复位电路共同组成单片机最小系统。安装前先将C语言源程序用KEIL51编译成目标文件即HEX文件,再用STC-ISP下载软件把生成的目标文件HEX文件下载到STC89C52芯片中,接着一步步调试直到完成要求。5.2功能模块实现5.2.1主函数模块实现主函数是系统中控制系统在符合条件的情况下调用各个函数。主函数的功能是调用相应的子函数。voidmain(){ TMOD=0x01; TH0=0x3c; TL0=0xb0; EA=1; ET0=1; TR0=1; while(1) { display(); if(ball_A==0)//A队篮筐进球(B队进球) { while(ball_A==0); score_b+=2;//B队分数+2 count_a=24; count_b=0; attack=0;//进攻方向为A队向B队进攻 } if(ball_B==0)//B队篮筐进球(A队进球) { while(ball_B==0); score_a+=2;//A队分数+2 count_a=0; count_b=24; attack=1;//进攻方向为B队向A队进攻 } if(key_A==0)//A队加分键按下 { Delay5Ms(); if(key_A==0)//A队加分键按下 { while(key_A==0); score_a+=1;//A队分数+1 }5.2.2各个函数模块功能介绍本系统中主要包括了数码管显示功能,加分减分功能。具体程序如下:ucharcodetable[]={//共阳管显示码表0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};chartim_count=0,count_a=24;count_b=0;//24秒计时ucharscore_a=0,score_b=0;//比分ucharattack=0;//进攻方向为A队向B队进攻voiddelay(uintj)/*简易延时函数*/{ for(j;j>0;j--);}voidDelay5Ms(void){ uintTempCyc=1552; while(TempCyc--);}voiddisplay(){ P0=table[count_a/10]; dis1=0; dis2=1; dis3=1; dis4=1; dis5=1; dis6=1; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[count_a%10]; dis1=1; dis2=0; dis3=1; dis4=1; dis5=1; dis6=1; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[score_a/10]; dis1=1; dis2=1; dis3=0; dis4=1; dis5=1; dis6=1; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[score_a%10]&0x7f; dis1=1; dis2=1; dis3=1; dis4=0; dis5=1; dis6=1; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[score_b/10]; dis1=1; dis2=1; dis3=1; dis4=1; dis5=0; dis6=1; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[score_b%10]; dis1=1; dis2=1; dis3=1; dis4=1; dis5=1; dis6=0; dis7=1; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[count_b/10]; dis1=1; dis2=1; dis3=1; dis4=1; dis5=1; dis6=1; dis7=0; dis8=1; delay(100); P0=0XFF; delay(20); P0=table[count_b%10]; dis1=1; dis2=1; dis3=1; dis4=1; dis5=1; dis6=1; dis7=1; dis8=0; delay(100); P0=0XFF; delay(20);}5.3系统集成与调试硬件是电路实现的基础,那么软件就是功能实现的基础。软件是系统的思维方式,单片机系统的软件系统相对比较简单,通过各种条件即可判断下一步的动作。本系统判断条件相对比较简单,系统正常运行之后,两队进行比赛根据比赛成绩自动进行加分,采取倒计时方式进行计时,时间停止之后,单片机判断停止动作。大连东软信息学院毕业设计(论文)第6章系统测试系统调试分为硬件调试和软件调试。硬件调试和软件调试是分不开的,许多硬件上的错误是在软件调试中被发现和纠正的,一般是在排除了明显的硬件故障之后,再来与软件结合起来进行调试以进一步修改错误。6.1硬件焊接与调试对照相应的原理图进行硬件焊接工作,首先把硬件依次按照原理图插到相应的位置,然后再次检查器件是否都正确,确定无误后才可以进行焊接。单片机系统组装完之后,首先应该认真仔细的检查一遍,不要急于焊接,以免发生不必要的错误:根据硬件电路原理图仔细检查线路的正确性,并检查元器件的安装是否正确。常常需要注意的是芯片以及开关管的型号、电阻阻值的大小、电容器的耐压程度和极性的范围以及功率等是不是符合硬件的要求,检查的重点是在系统总线之间或者是总线与其它信号线之间是不是存在短路的情况。焊接完之后要检查焊接点是不是符合要求,非常的牢固;有无漏焊和错焊的地方是尤其需要认真仔细检查的,针对相邻焊点之间靠得很近的地方,也需要认真仔细的检查焊接的金属毛刺是否有短路的现象,如果在不确定的情况下或者是极其复杂的时候,万用表就起到了非常关键的作用,运用它进行测量可以避免小问题的出现,影响电路的正常工作。调试过程中可能有时需要重复多次,这就需要有耐心和细心了。硬件焊接无误以后,为了证实硬件系统确实没有错误,可以移置一个简单的程序到硬件系统上,看是否能够运行良好。如果出现问题,应该查明原因,并根据具体情况采取相应的补救措施,以保证系统硬件的无误。如果测试无误,可以认为硬件系统没有任何问题,结束硬件测试。6.2软件测试本设计应用Proteus及Keil软件,首先根据自己设计的电路图用Proteus软件画出电路模型。Proteus提供软件调试功能,提供丰富的外围接口器件及其仿真RAM、ROM、AD/DA转换器、接口、部分IIC器件以及部分SPI器件。并且提供丰富的虚拟程序,在仿真过程中我们可以利用虚拟程序测试外围电路的伏安特性,连接关系等;它还具有强大的原理图绘制功能,使用Proteus绘制好原理图后,调入已编译好的目标代码文件(.HEX文件),可以在Proteus的图形化界面当中仿真实物运行过程和状态。Proteus不仅可以将许多单片机实例功能形象化,也可以模拟程序运行状态和结果。然后我们用Keil软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,将此文件加到电路图上使软硬件结合运行,最后进行端口电压的对比测试。在完成对程序的调试之后,还要对功能进行测试。首先打开电源开关,打开后默认A队先开始进攻,在A队计时板上开始24秒的计时,然后通过感应器判断B队篮筐是否进球(用自制模拟小球放入)。在B队篮筐内放入了小球后观察A队的得分板,看看是否执行+2操作。当进球后得分板执行了+2操作后,观察A队计时板是否变成0,B队计时板开始24秒倒计时。如果显示正常,继续将球投入A队篮筐中,得到B队得分+2,A队开始计时的结果后。我们继续观察,在A队进攻24秒的计时中如果发生B队队员将球抢断并得分,也就是将小球再次投入A队篮筐,这时B队的计分板+2,同时A队计时板重新进行24秒倒计时。当要执行三分球进球计分时,在小球入框得分板+2后,按下相应队伍的+1键,得分板的数字会显示+1,这就表明刚才的进球是三分球。图6.2实物图大连东软信息学院毕业设计(论文)第7章结论在本次毕业设计中,我通过基于典型单片机STC89C52的设计和应用,对于单片机的工作原理以及功能有了更宏观的了解,并且对单片机的编程有了更进一步的了解认识。在利用单片机设计简易LED显示器的整个设计过程中,从电路的设计,元器件的采购,电路的调试,程序的编写以及最后的电路板的制作,都是我亲力亲为的,这对我来说,让我对理论和实际相结合有了更深的认识。在设计电路图的过程中经过多次分析和仿真验证,并结合指导老师所给的参考元器件库确定了需要哪些元器件来实现电路的功能,并且保证了所使用到的元器件数目在所给出的元器件清单的限制之内。在焊接过程中没有出现什么重大失误,完成硬件设计后,经过测试,系统电路硬件设计部分没有原则性的错误,整个硬件部分功能完好。但是因为平时缺少有效的练习,部分软件使用起来感觉有些力不从心,不能熟练使用其中的快捷键和部分便捷功能。通过本次论文设计,让我加深了对单片机理论的理解,学会了怎样将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我

温馨提示

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

最新文档

评论

0/150

提交评论