毕业设计(论文)-基于单片机的篮球计时计分器.doc_第1页
毕业设计(论文)-基于单片机的篮球计时计分器.doc_第2页
毕业设计(论文)-基于单片机的篮球计时计分器.doc_第3页
毕业设计(论文)-基于单片机的篮球计时计分器.doc_第4页
毕业设计(论文)-基于单片机的篮球计时计分器.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

成都理工大学2011届本科毕业设计(论文) 目 录第一章 前 言41.1 背景41.2 设计目的与任务4第二章 系统硬件介绍62.1 MCS-52单片机简述62.1.1 单片机AT89C52简介62.1.2 主要特性72.1.3 管脚说明72.2 显示器及其原理92.2.1 显示器介绍92.2.2 结构与原理92.2.3 LED显示器显示方式10第三章 硬件电路设计123.1 系统方案设计123.2 硬件总体设计123.2.1 时钟振荡电路部分133.2.2复位电路部分143.2.3 按键电路部分153.2.4显示电路部分173.2.5 报警电路部分18第四章 软件程序设计194.1 系统工作过程194.2软件总体设计方案194.3主要程序及其注释214.3.1 延时程序214.3.2 中断程序214.3.3 加分程序214.4.4 减分程序234.4.5 时间调整程序234.4.6 暂停程序244.4.7报警程序254.4.8 显示程序25第五章 Protues仿真274.1 Protues简介274.2 仿真结果27结 论29致谢30参考文献31附录 源程序32第一章 前 言1.1 背景体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的信息系统。根据不同运动项目的不同比赛规则要求, 体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类、得分类等多种类型。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的, 因此, 篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成。同时, 根据目前高水平篮球比赛要求, 完善的篮球比赛计时计分系统设备应该能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现提高比赛现场感、表演娱乐观众等功能。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机是器件级计算机系统,单片机构成的现代电子系统已经成为主流电子系统 ,它可以嵌入到任何对象体系中去,实现智能化控制。小到微型机械,如手表、助听器。集成器件级的低价位,低到几元、十几元,足以使单片机普及到许多民用家电、电子玩具中去。单片机构成的现代电子系统已深入到各家各户,正改变我们的生活,如家庭中的音响、电视机、洗衣机、微波炉、电话、防盗系统、空调机等。单片机革新了原有电子系统,如微波炉采用单片机控制后,可方便地进行时钟设置、程序记忆、功率控制;空调机采用单片机后不但遥控参数设置方便,运行状态自动变换,还可实现变频控制。由于如此明显的优势和条件,本次设计采用AT89C52单片机为核心。1.2 设计目的与任务本次设计用由AT89C52编程控制和LED七段数码管作显示的球赛计时计分系统。在此设计中共接入了2个四位七段共阴极LED显示器,其中1个4位数码管用于记录甲乙队的分数,每队分数显示范围可达到099分,能满足赛程需要,另外1个4位LED显示器则用来记录赛程时间,其中两位显示分钟,两位显示秒钟,采用倒计时方式,即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。该系统具有比赛时间倒计时,暂停,记录双方成绩,分数加减,最后10秒报警等功能。并且价格低廉,性能稳定,操作方便并且易于携带。广泛适用于各种中小场所和娱乐比赛赛程计时。其次,为了配合计时器和计分器校正调整时间和比分,本设计中设立了13个按键,其中9个用于控制分数,3个控制调整时间,1个用于复位。通过此次基于AT89C52单片机的篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:(1) 篮球赛计时计分系统包含了8052系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。(2) 可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。(3)进一步熟悉硬件电路设计和软件程序编程的知识,可以获得良好的相关设计的经验。本次设计的任务是该系统至少具备以下功能:1,具有10分钟倒计时功能,精确到秒,能够暂停。 2,最后10秒,声音和指示灯报警功能。 3,能记录两队分数,并且能够加减功能。4,半场比赛结束能够交换两队比分。5,具有时间暂停功能,可以快进或者快退时间。第二章 系统硬件介绍2.1 MCS-52单片机简述2.1.1 单片机AT89C52简介本课题中用到的芯片就是AT系列中的AT89C52单片机芯片。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8XC52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。如图所示图2-1为AT89C52单片机基本构造,其基本性能介绍如图2-1:图2-1 AT89C52引脚图2.1.2 主要特性AT89C52的主要特性如下所示:1、兼容MCS51指令系统; 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。2.1.3 管脚说明VCC:供电电压。GND:接地。P0口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。表2-1 P1.0和P1.1第二功能表引脚号功能特性P1.0T2,时钟输出P1.1T2EX 定时/计数器2P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如下所示:表2-2 P3口第二功能表口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2 显示器及其原理2.2.1 显示器介绍显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息,如汉字、图形、图表等。两者之间的区别:(1)二极本身发光, 液晶本身不发光,只是透射光。 (2)二极管体积大,图像质量一般,适合作室外大屏幕,价格较低。液晶成本较高,面积无法做得很大,但图像质量很好,适合做显示器。 (3)二极管耗电大,液晶耗电小。(4)二极管图像刷新率低,液晶的高。 2.2.2 结构与原理图2-2 7段LED数码管如图2-2,LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器 。如图2-3所示。图2-3 共阴与共阳极LED显示器2.2.3 LED显示器显示方式点亮LED显示器有两种方式:一是静态驱动显示;二是动态驱动显示。在本次设计中,采用的是动态显示。静态驱动显示:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态驱动显示:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。图2-4为七位LED显示器动态显示电路。图2-4 动态显示图动态显示的优点在于:节省硬件资源,占用的端口较少,成本较低。缺点是在系统运行过程中,要保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序,占用了CPU大量的时间,降低了CPU的工作效率,同时显示亮度较低。第三章 硬件电路设计3.1 系统方案设计基于单片机系统的篮球赛计时计分器的系统构成框图如图3-1所示。图3-1 系统构成图本系统采用单片机AT89C52作为本设计的核心元件,选用12MHZ的晶振构成时钟震荡电路,采用7段共阴LED作为显示器件。显示分数范围可达到099分,计时范围可达099分钟,完全满足比赛计时计分要求。赛程计时采用倒计时方式,即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。其次,为了配合计时器和计分器校正、调整时间和比分,特在本设计中设立了12个按键。用于控制和调整用于甲、乙两队的分数和时间的设置、调整、启动和暂停等。3.2 硬件总体设计根据设计需要,本次设计系统硬件由以下几个部分组成:(1)单片机 AT89C52;(2)时钟震荡电路;(3)复位电路;(4)按键控制电路;(5)显示电路;(6)报警电路。为完成以上电路和达到设计目的,系统采用的器件清单如下:单片机:AT89C52;晶振:12M晶振;显示器件: 2个4位7段共阴极数码管;蜂鸣器:直流蜂鸣器;按键:13个按键开关;其他:其他相关电子元器件。系统的总体电路图如图3-2所示。图3-2 系统总体电路图3.2.1 时钟振荡电路部分时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础,晶振的频率决定了整个系统工作的快慢。单片机有两种时钟产生方式,一种是外部时钟方式,一种是内部时钟方式。 采用外部时钟震荡方式时,外部震荡信号通过XTAL2端接至内部时钟电路,这时内部反相放大器的输入端XTAL1应该接地。通常外接震荡信号为低于12M的方波信号,外接方式精度高,稳定性好,但是成本高,需要额外提供一个外部震荡信号。如图3-3所示为外部时钟方式。不能不图3-3 外部时钟震荡方式本次设计采用内部震荡方式,选用12MHZ的晶振,另外有两个22pf的电容组成。AT89C52中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器,像内部时钟提供震荡时钟,振荡器的频率主要取决于晶体的震荡频率,电容的大小对震荡频率有微小的影响,可取频率微调作用。振荡电路如图3-4所示:图3-4 时钟振荡电路3.2.2复位电路部分通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。MCS-51单片机在时钟电路工作以后,在RST端持续给出2个机器周期的高电平就可以完成复位操作,复位分位上电复位和外部复位两种方式。主要功能是把系统初始化,当程序运行错误或者进入死循环的时候,为摆脱困境,可以按复位键以重新启动。上电复位是单片机在接通电源时,对单片机的复位,上电复位电路图如3-5所示。图3-5 上电复位电路在上电瞬间RST端与VCC电位相同,随着电容上电压的逐渐上升,RST端电位逐渐下降。上电复位所需最短时间是振荡器建立时间加两个机器周期。本设计采用上电复位加按钮方式,通过调整元件参数,使单片机能够可靠的上电自动复位,当需要外部复位时,按下复位按钮也能够达到复位目的,由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。如图3-6为上电加按钮复位电路。图3-6 上电加按钮复位电路3.2.3 按键电路部分按键是单片机应用系统中适用最广泛的一种数据输入设备,按键通常是一种常开型按钮,常态下键的两个触点处于断开窗台,按下键时它们才闭合(短路)。如图3-7所示为一按键。图3-7 按键通常,键盘有编码和非编码两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为CPU的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被单片机采用。此次设计采用的是非编码键盘。非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单,图3-8为矩阵式键盘。图3-8 矩阵键盘矩阵式键盘的特点:电路连接复杂,但提高了I/O口利用率,软件编程较复杂。适用于需使用大量按键的场合。由于本次设计有足够空余端口,且为了降低编程时的复杂性,采用的是独立式键盘,独立式键盘的特点:每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单。适用于所需按键较少的场合。共设计采用了13个按键设计,其中9个用于控制甲乙两队的分数,分别是甲队加1分、加2分、加3分、减1分,乙队加1分、加2分、加3分、减1分和甲乙两队分数互换。另外3个用于控制时间,分别是启动倒计时/暂停/继续、时间快进、时间倒退 。最后一个按键是复位按键,用于单片机复位。图3-9所示为按键电路图。图 3-9按键电路图3.2.4显示电路部分本次设计采用共阴极数码管,共阴极接低电平,其他管脚借段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字符导通并发亮,根据发光字段的不同组合可显示出各种数字或者字符。同样,要求段驱动电路能提供额定的导通电压或者电流,还需要根据需要设定响应的限流电阻。本次设计的显示电路部分采用2个4位一体共阴极数码管,共8个代码输入口和8个位选输入口,采用排阻提供上拉电流数码管,以保证有足够大的电流点亮数码管。采用动态驱动,使各位数码管逐一轮流点亮,由于扫描速度极快,显示效果与静态显示效果相同。从理论上说,不论显示图形还是文字,只要控制与组成这些图形和文字的各个点所在位置对应的LED器件发光,就能得到结果。所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器,对于显示器的每一位而言,每隔一段时间点亮一次,虽然在同一时刻只有一位显示器在工作,但利用人眼的视觉暂留和发光二极管的余辉效应,看到的却是多个字符“同时显示”。动态显示的优点在于:节省硬件资源,占用的端口较少,成本较低。缺点是在系统运行过程中,要保证显示器正常显示,CPU必须每隔一段时间执行一次显示子程序,占用了CPU大量的时间,降低了CPU的工作效率,同时显示亮度较低。图3-10为4位LED显示器动态显示电路原理图。图3-10显示部分电路图3.2.5 报警电路部分本次设计的报警部分要求同时能够有声光报警,故选用一个蜂鸣器和一个发光二极管组成,其中蜂鸣器通过一个NPN三极管驱动。当比赛时间剩下最后10秒钟时,通过软件控制在P3_7端口间隔有规律输出高电平信号和低电平信号,当P3_7为高电平信号时,二极管D1导通,发出光信号,三极管Q1导通,蜂鸣器发出声音信号,由于是接在同一端口,发光二极管的发光和蜂鸣器的蜂鸣声同步产生。报警电路电路图如图3-11所示。图3-11 报警电路图第四章 软件程序设计4.1 系统工作过程首先在比赛之前,接通电源,通过软件可以设定比赛的时长,时间设置好时,接通电源,等待赛程开始,当裁判吹响哨声时,启动计时,这时单片机便开始工作,计时采用到计时方式,即从10分钟减为0分钟表示上半场结束。上半场结束时,蜂鸣器会发出10秒钟响声,通知上半场结束,这时按下P1_7键,便完成了甲、乙两队的分数交换。在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过按键电路中的P1_1-P1_6,P3_0和P3_1键完成此功能,P1_1-P1_3键完成甲队加分、P3_0减分,P1_4-P1_6键完成乙队加分、P3_1减分。如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下P1_0键,即可以暂停计时,暂停时间到时,再按下P1_0键继续计时,直至上半场赛程结束,蜂鸣器会发出10秒的响声。下半场的流程和上半场是一样的 。4.2软件总体设计方案在设计程序之前,我们首先要对单片机系统预完成的任务进行深入的分析,明确系统的设计任务,功能要求和技术指标。其次对系统的硬件资源和工作环境进行分析,以明确软件程序设计的要求。本次设计采用模块化程序设计,程序部分由主程序,延时程序,中断程序,加分程序,减分程序,比分交换程序,时间调整程序,时间暂停程序,报警程序,扫描显示程序,结束程序等程序构成。程序流程图如4-1: 图4-1 程序流程图4.3主要程序及其注释 4.3.1 延时程序void delay(int a) /定义延时程序,通过设置参数a,改变延时时间长度while(a-)int i;for(i=0;i0)/当按下P3_0并且甲队分数大于0的时候 delay(1);/延时去抖 while(P3_0=0); x-;/甲队减1分if(P3_1=0&x0)/当按下P3_1并且乙队分数大于0的时候 delay(1); while(P3_1=0); y-;/乙队减1分 4.4.5 时间调整程序void tiaoshi() /定义调时程序 if(P3_2=0)/当按下P3_2的时候 delay(1);/延时去抖if(P3_2=0) n+; /秒位加1if(n=60) /当秒位加到60的时候 m+; /分位加1,并且秒位变1 n=1; if(P3_3=0)/当按下P3_3的时候 delay(1); if(P3_3=0) n-;/秒位减一 if(n=0)/当秒位减到0的时候,/分位减一,并且秒位变59 m-; n=59; 4.4.6 暂停程序void zanting()/定义暂停程序 if(P1_0=0)/当P1_0按下的时候 delay(1);/延时去抖 while(P1_0=0); EA=0;/关中断,进入循环 while(1) display(m,n,x,y); if(P1_0=0)/当P1_0再次按下的时候,/跳出循环,程序继续执行 delay(1);while(P1_0=0)EA=1;break; 4.4.7报警程序void baojing()/定义报警程序 if(m=0)&(n1)/判断当倒计时只剩下10秒的时候 P3_7=1; /使P3_7和P3_6同时间隔输出高 P3_6=1; /低电平,点亮发光二极管和使蜂鸣器蜂鸣 delay(20); P3_7=0; P3_6=0; delay(20);4.4.8 显示程序void display(int i,int j,int x,int y) /显示子程序 变量i,j分别/是分秒,变量x,y是甲乙两队的分数 P2=0xfe; /数码管刷新显示时间的分钟十位,调用延时程序P0=segi%100/10;delay(1);/延时数码管点亮P2=0xff;P0=0;P2=0xfd;/同上,刷新数码管的分钟位的个位P0=segi%10;delay(1);P2=0xff;P0=0;P2=0xfb;/同上。刷新数码管秒位的十位P0=segj%100/10;delay(1);P0=0;P2=0xff;P2=0xf7;/同上,刷新数码管秒位的个位P0=segj%10;delay(1);P0=0;P2=0xff;P2=0xef; /同上。刷新数码管甲队分数的十位P0=segx%100/10;delay(1);P2=0xff;P0=0;P2=0xdf;/同上。刷新数码管甲队分数的个位P0=segx%10;delay(1);P2=0xff;P0=0;P2=0xbf;/同上。刷新数码管乙队分数的十位P0=segy%100/10;delay(1);P0=0;P2=0xff;P2=0x7f;/同上。刷新数码管乙队分数的个位P0=segy%10;delay(1);P0=0;P2=0xff;第五章 Protues仿真4.1 Protues简介Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。4.2 仿真结果仿真结果:本次毕设达到预期成果,仿真结果表明本次设计良好的具备了以下功能:(1)具备0-99分钟任意时间倒计时功能,可通过软件设置时间长度;(2)时间快进快退功能,可以调整赛程时间;(3)记录比赛分数功能,具备分别对甲乙两队加1分,加2分,加3分的功能;(4)比赛分数加减功能,通过按键可以分别对甲乙两队减分操作;(5)时间暂停功能,比赛进行中可以随时暂停时间倒计时;(6)赛程倒计时最后10秒声光报警功能。图4-1 仿真结果 启动程序图4-2 仿真结果倒计时剩下时间少于10秒 声光报警结 论计时计分器是现实生活和工作中最常见的一种电子装置,本论文所设计的硬件系统在设计时尽量使体积最小,因此选用了AT89C52单片机,显示部分采用数码管显示电路。而本文的软件系统用C语言编写,只是因为C语言可移植性好、较醒目、易懂、不易出错,即使出错,也可以较容易发现和修改,这给编制、阅读和修改程序带来了极大的方便。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。由于基础知识储备不足,也为了让自己的设计更加完善,查阅了相关方面大量的设计资料。我们是在做单片机毕业设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计,更不可能变成实际。另外,在本次设计的过程中,虽然以前还做过类似的单片机设计,我还是发现了很多的问题,但是通过这次设计真的让我长进了很多,单片机课程设计重点就在于软件编程及算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们自己动手并试着去做,才能真正的掌握,才能应用,有些看似较难的东西,认真研究并自己尝试后你会发现其实也并不是太难。只学习理论有些东西是很难理解的,更谈不上掌握。一旦理论应用到实践后你会发现有种成就感,自己也会变的自信起来!最后,由于各方面的原因,这次毕业设计没有达到我最理想的状态,因为缺少了一个24秒倒计时的功能,显得很遗憾,但是在以后的学习和生活中,我会更加努力的学好相

温馨提示

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

评论

0/150

提交评论