基于单片机的篮球赛计分器设计_第1页
基于单片机的篮球赛计分器设计_第2页
基于单片机的篮球赛计分器设计_第3页
基于单片机的篮球赛计分器设计_第4页
基于单片机的篮球赛计分器设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、学 院专 业学 生 姓 名学 号设 计 题 目 智能控制开关设计 内容:设计基于单片机的智能控制开关设计,要求学生运用所学的专业理论知识完成该系统的硬件设计。要求:(1)以增强型单片机AT89C52为核心,设计制作篮球比赛计分器。针对篮球比赛中有得1、2、3分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器主要通过按键实现以下功能:能够进行加1、2、3分;能够进行减1分。并通过3个数码管进;(2)完成系统硬件设计,画出电路原理图;(3)完成系统软件设计;(4)完成作篮球比赛计分器的设计与制作;进度安排:1. 第1-2天 根据任务书要求查找资料,完成开题报告;2第3-4天 根据设计的方案

2、弄清原理,设计电路图;3第5-12天 完成课设的硬件软件部分;4第13-14天 撰写论文并完成最后的检查。指导教师(签字): 年 月 日学院院长(签字):年 月 日课程设计任务书摘要 本设计是篮球计时计分器,主要在篮球比赛中用于记录整个赛程的比赛时间和显示甲、乙两队在比赛过程中的比分情况。该计时计分器有部分组成:一部分用来实现计时功能,其基本原理和定时闹相似;另一部分用来实现计分功能,其基本原理和计数器相似,只不过所要记录和显示的对象是按键按下的次数,每按下一次计数值加一。该设计能够实现计时和计分功能,采用共阴极数码管进行动态显示,加分的部分用按键来完成,每按一次发送一个计数脉冲,计数值加一。

3、关键词: 计时 计分 动态显示基于单片机的篮球赛计分器设计 1 绪论1.1发展背景体育比赛计时记分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的信息系统。根据不同运动项目的不同比赛规则要求, 体育比赛的计时记分系统包括测量类、评分类、命中类、制胜类、得分类等多种类型。篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的, 因此, 足球比赛的计时记分系统是一种得分类型的系统。篮球比赛的计时记分系统由计时器、记分器等多种电子设备组成。同时, 根据目前高水平足球比赛要求, 完善的足球比赛计时记分系统设备应该能够与现场成绩处理、现场大屏幕、电视转播车等多种设

4、备相联, 以便实现提高比赛现场感、表演娱乐观众等功能。1.2课题运用的知识点 本课题主要运用单片机设计知识设计篮球赛记时计分器,因此涉及到的知识点主要有以下几点:(1)AT89C52单片机的运用(2)LED数码管的运用(3)人机接口2设计任务与要求单片机原理与应用是电子信息工程专业的一门重要专业课,对应用能力和动手能力要求很高,课程设计环节是学生学习该课程后进行的一项必不可少的基本训练。并于大三下学期暑假进行,本人所选的课题是篮球赛计分器。本课题以增强型单片机AT89C52为核心,设计制作篮球比赛计分器。针对篮球比赛中有得1、2、3分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器主要

5、通过按键实现以下功能:能够进行加1、2、3分;能够进行减1分。并通过3个数码管进行显示。3功能分析根据前面的设计的任务的要求,本设计任务主要具有以下几个模块:单片机模块;按键模块;数码显示模块。本设计由单片机模块部分植入主程序,通过按键部分进行加1、2、3分以及减1分操作,最终在3个LED数码管上显示结果。3.1方案论述本系统是以C语言作为编辑语言,采用单片机AT89C52作为本设计的核心元件,。利用7段共阳LED作为显示器件。在此设计中共接入了3个7段共阳LED显示器,分别表示个位,十位,百位用于记录该队的分数, 3个LED显示器显示范围可达到0999分,能够满足篮球比赛的需要。并设置有4个

6、按键:K1,K2,K3,K4。当比赛队得1分时,按下k1键加1分,得2分时按k2键加2分,得3分时按下k3键加3分。如分数计错需减分时,每按一次k4键减1分。因所设计的篮球赛计分器功能较少,电路结构也相对简单。所以在选材方面也不多。由于按键要求不是很高,因此选材只有两个部分:单片机部分和显示部分。本次课程设计选用的芯片为AT89C52,显示部分用的是LED数码管显示。4 系统详细设计本次课程设计主要分为2个主要的部分进行:硬件和软件。首先进行的是硬件的选材和电路图的连接,然后再进行程序的编写。3.1硬件设计 由于本次课程设计的简易篮球计分器功能比较简单,所以选择的器件也比较少,主要有4个按键,

7、1个AT89C52,3个共阳的数码显示管,因此本课题的硬件设计部分划分为3个模块:单片机模块;按键模块;数码显示模块。3.1硬件总电路图4.1.1 单片机模块 单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算机简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的,所以单片机又称微控制器MCU(Micro Controller Unit),用它可以很容易的将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(Embedded MCU)。 MCS51单片机是美国INTEL司于1980年推出的产品,典型产品

8、有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C5的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),ATMEL公司的 AT89C51 8位单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。AT89C52是51系列单片机的一个增强型号,它是ATMEL

9、公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微

10、处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本本设计P1口接四个开关,分别作为比分+1、+2、+3、1分的控制按键;P0、P2口和P3口分别按静态接口方法接两个数码管来显示比分。本次课程设计采用的是增强型AT89C52单片机。其管脚图如图1所示。图 1 单片机模块图主要功能特性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个外部中断

11、源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。本次设计用到了其中的P0,P1,P2,P3口,分别用于百位,开关,个位,十位 。各管脚的功能和用法如下述。P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它

12、作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。其中P1的14脚分别接上开关K1K4,P0

13、的3639脚接上上拉电阻和数码显示的百位,P2的2124脚接数码显示的个位,P3的1013脚接数码显示的十位。VCC脚和XTAL分别接上5V电源和12M的晶振。4.1.2按键模块根据设计要求,该篮球赛计分器共有4个按键:K1、K2、K3、K4,分别实现的功能是加1、2、3分和减1分。K1与P1的1脚相连,K2与P1的2脚相连,K3脚与P1的3脚相连,K4键与P1的4脚相连,4个按键共用一个地端,如图2所示。图 2 按键模块图 4.1.3 数码显示模块本设计显示部分采用的是7段共阳LED数码管显示,LED就是发光二极管,相对LET来说它的优势在于节能环保,保护视力,使用寿命长等优点。数码管实际上

14、是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H,如图3所示。 图 3 数码管结构图假设要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。从高往低排列, P1.7-P1.0写成二进制为01111110, 把它转化为16进制则为A2H。数码管的接口有静态接口和动态接口两种。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。静态接口

15、为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,本次课程设计由于所需数码管较少,故可用这种方法接线。这种接法占用接口多,仅能接少量数码管。本次课程设计的比分范围是0999,所以采用的3个7段共阳LED来显示,分别显示个位十位百位,其中P2显示个位,P3显示十位,P0显示百位。由于P0没有内置电阻,因此在使用时需外接一个上拉电阻。如图4所示。 图 4 数码管显示模块图 4.2 软件设计篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计数器来实现其计分的功能。在52单片机中有两个16位的定时/计数器T0,T1,分别由TH0、TL0和T

16、H1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。其格式见下面两表:表 1方式控制寄存器TMODGATEC/TM1M0GATEC/TM1M0门控开关计数/定时方式选择门控开关计数/定时方式选择表 2控制寄存器TF1TR1TF0TROIE1IT1IE0IT0T1请求有/无T1工作启/停T0请求有/无T0工作启/停INT1请求有/无INT1方式下沿INT1请求有/无INT1方式下沿篮球比赛计分器利用单片机的计数器进行工作,计数器对脉

17、冲电平进行加1计数,直至计满回零。作为可编程器件,单片机中的定时/计数器初始化编程步骤如下:根据定时时间要求或计数要求计算计数器初值;将工作方式控制字写入TMOD寄存器;将计数初值写入THX和TLX寄存器;启动定时器/计数器,即将TRX置位。如果工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。本次课程设计程序是用C语言编写的,因为设计的功能较为简单,所以程序中只用到一个主程序就实现了其功能。程序的系统流程图如图5。控制源程序#include<reg52.h>#define uchar unsigned char#define uint

18、unsigned int 初始化sbit P10=P10; 按键k1sbit P11=P11; 按键k2sbit P12=P12; 按键k3sbit P13=P13; 按键k4uchar code tab=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09;void main()uchar k1=0; while(1) if(P10 = 0) k1 += 1; 分数加1while(P10 = 0); if(P11 = 0) k1 += 2; 分数加2 while(P11 = 0);if(P12 = 0)k1 += 3; 分数加3while(P12

19、 = 0);if(P13 = 0)k1 -= 1; 分数减1while(P13 = 0);if(k1 > 1000) 分数大于999,归0k1 = 0;P0 = tabS1/100; 百位P3 = tabS1%100/10; 十位P2 = tabS1%10; 个位图 5 系统程序流程图5 系统仿真与实验测试5.1系统仿真图 6 仿真效果图本次课程设计用到的仿真软件有Protues和Keil uvision。在用Protues进行仿真之前,先要用KEIL UVISION软件将我们编写好的汇编程序编译。具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹

20、内生成编译好的程序文件,其中*.HEX文件就是我们所需要的目的文件,在之后电路设计好后用于导入AT89C52中执行其功能。然后在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pick devices对话框中进行元器件的选择,元器件都找到后,先进行排版再按照电路图连接,连接好后,双击AT89C52在弹出对话框中选择单片机中要输入的程序,在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1功能。仿真效果如图65.2 实验测试图 7 初始值为0的仿真图打开 Proteus 上的单片机控制步进电机电路图,点击 AT89C51 单片机,调用后缀名为.”HEX”的文件。点击运行,观察现象,3个数码管均显示为0。如图7所示。然后进行了如下操作:当按下k1键,从左往右(后同)的第3个数码管显示1,再按下k2键,第3个数码管显示3,按下k3键,第3个数码管显示6,再按下k4键,第3个数码管显示5,与设计的要求相符。显示5的仿真图如图8所示.经过多次反复测试,本系统已能达到设计所要求的所有功能。图 8 值为5的仿真图6心得与体会这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的

温馨提示

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

评论

0/150

提交评论