福建工程学院软件学院题目:基于单片机的篮球计时计分器班级:物联网2班姓名:孙建兴学号:3112113229指导老师:郑旭丹日期:2013年12月24日课设报告目录1摘要............................................................................................................................32设计要求...................................................................................................................32.1功能需求........................................................................................................32.2设计要求........................................................................................................43硬件设计及描述.......................................................................................................43.1总体描述........................................................................................................43.2系统总体框图..............................................................................................103.3Proteus电路图..............................................................................................113.4各部分硬件介绍.........................................................................................114软件设计流程及描述.............................................................................................134.1程序流程图..................................................................................................134.2函数模块及功能.........................................................................................135功能实现(功能介绍+照片)...............................................................................156心得体会..................................................................................................................157源程序....................................................................................................................161摘要本文主要内容是利用AT89C51单片机与160*128的液晶组合设计的篮球计时计分器,在像素为160*128的液晶上显示时间,分数,节次等信息,并可通过按键来加分,暂停时间,攻守方互换,进入下一节等操作。本课题是基于单片机技术和160*128的广泛应用而提出。本次做的篮球计时计分器是以单片机为核心,结合PG160128ALCD显示器,再配以相应的软件,达到实现模拟篮球计时计分的目的.近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。单片机应用的重要意义在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。利用单片机实现的篮球计时计分器是单片机与PG160128A的组合应用,可以很好得模拟常见的篮球计时计分,对于开发单片机更深层次应用有非常现实的意义。2设计要求要求能够在160128LCD上显示队伍名称,各队得分,节次,每节剩余时间,24秒进攻时间计时,比赛状态,以及通过按键加分,暂停时间,攻守方互换,进入下一节等操作,还要通过蜂鸣器表现节次结束,24秒进攻时间结束,比赛结束时的笛声。2.1功能需求1、信息显示,包括:队伍名称,比赛状态,,进攻方,两队得分,节次,节次剩余时间,24秒进攻时间剩余时间。2、按键,包括:加1分,加2分,加3分,启动、暂停,复位,下一节,A队进攻,B队进攻,8个按键的功能实现。3、对进攻方的加分,攻守方互换时进攻时间的重置,进攻时间结束时攻守方互换等算法实现。4、节次结束,24秒进攻时间结束,比赛结束时的笛声。2.2设计要求1、通过160128LCD显示各种计分计时信息。2、通过控制键实现:加1分,加2分,加3分,启动、暂停,复位,下一节,A队进攻,B队进攻,8个按键功能。3硬件设计及描述3.1总体描述系统硬件电路图如下图3-1所示:图3-1硬件整体结构图系统的主要芯片包括Atmel公司的8位单片机AT89C51,PG60128ALCD,蜂鸣器以及一个八个按键组成。下面将对这些芯片分别予以介绍。3.1.1AT89C51单片机简介STC是美国公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,可灵活应用于各种控制领域。图3-2单片机引脚图1.主要特性·与MCS-51产品指令系统完全兼容·4k字节可重擦写Flash闪速存储器·1000次擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·128×8字节内部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·可编程串行UART通道·低功耗空闲和掉电模式AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2.管脚说明Vcc:电源电压GND:地P0:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P2:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示: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:来自反向振荡器的输出。AT89C5l中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路。3