基于单片机的篮球计数器DOC.docx
- 文档编号:4685585
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:22
- 大小:510.25KB
基于单片机的篮球计数器DOC.docx
《基于单片机的篮球计数器DOC.docx》由会员分享,可在线阅读,更多相关《基于单片机的篮球计数器DOC.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的篮球计数器DOC
本科学生毕业论文
论文题目:
基于单片机的篮球计数器
学院:
(黑体三号字)
年级:
(黑体三号字)
专业:
(黑体三号字)
姓名:
(黑体三号字)
学号:
(黑体三号字)
指导教师:
(黑体三号字)
年月日
摘要
经过三十几年的改革开发,我国综合国力发生了翻天覆地的变化,人民生活水平提高也是不争的事实,生活水平的提高给人们带来的不仅仅是解决温饱,更带了生活理念的提高,人们开始越来越重视健康生活。
锻炼身体已经成为人们当下不生活中不可缺少的一部分,乒乓球、羽毛球、保龄球、篮球、足球都已经走进了千家万户,虽然是娱乐,但是这些运动项目毕竟也是竞技的成败来判定输赢的,同时由于受到场地条件的限制,不可能所有的人都在正规的场馆里运动,还有就是人员的要求,所以一些比赛必须的装备成为了人们锻炼的门槛由。
本毕业设计的目的是针对上述情况研制简易、便携的篮球计时计分器,方便为受到场地和经济条件限制的篮球爱好者提供比赛计时计分服务。
它不仅能应用与篮球比赛当中,经过简单的程序改变还可以实现一般比赛的计时计分。
同时也是对大学四年学习知识的一次综合性大检查。
本次设计的篮球计时器是基于AT89S51单片机通过LCD1602进行显示的。
研究主要分为两个方向,一是基于AT89S51单片机的硬件研究,二是针对设计要求的软件编写。
该系统可以实现篮球比赛计时和计分的功能,同时根据比赛要求可以随时的暂停开始和复位。
关键字
篮球比赛计时;篮球比赛计分;键位控制;单片机;
Abstract
After31yearsofreformanddevelopment,China'scomprehensivenationalstrengthhasundergoneenormouschanges,andimprovedlivingstandardsisalsoanindisputablefact,improvementoflivingstandardstobringmorethanjustfoodandclothing,butalsowiththeideaofliving,peoplebegantobemoreandmoreemphasisonhealthyliving.Exercisehasbecomethemomentpeopledonotliveinanindispensablepart,tabletennis,badminton,bowling,basketball,footballhasenteredeveryhousehold,althoughitisentertainment,butthesesportsathleticsafterall,isthesuccessorfailuretodeterminethewinnersandlosers,duetospaceconstraints,itisnotpossibletoallofthemintheregularvenuesandsports,aswellaspersonnelrequirements,sosomegamesequipmentnecessaryfortheexercisethresholdby.
ThepurposeofthegraduationdesignisforthedevelopedeasytheportablebasketballScover,convenientforbasketballfansbythevenuesandeconomicconditionsgameScoverservice.Itisnotonlyabletoapplysimpleprocesschangescanalsobeachievedwiththebasketballgamewhichthegeneraltimingofthegamescoring.Universityfouryearsofstudy,knowledgeisalsoacomprehensiveinspection.
ThedesignofthebasketballtimerAT89S51microcontroller-basedLCD1602carried.Thestudyisdividedintotwomaindirections,AT89S51microcontroller-basedhardwareresearch,ispreparedforthesoftwaredesignrequirements.Thesystemcanrealizethefunctionofthetimingandscoringofthegameofbasketball,accordingtothegamerequirementscanbesuspendedatanytimestartandreset.
Keywords
Basketballgametime;basketballscoring;keyscontrol;SCM;
目录
摘要I
AbstractII
1.1选题背景1
1.2总体设计思路1
1.2.1实现功能1
1.2.2主要元器件选择1
1.3论文设计流程2
第一章硬件设计部分4
1.1控制电路4
1.1.1晶振电流在单片机最小系统中的作用4
1.1.2AT89S51芯片介绍5
1.1.4单片机引脚作用8
1.2显示模块10
1.2.1元件介绍10
1.3报警模块14
1.3.1实现功能14
第二章软件编程部分16
2.1总程序模块16
2.2报警程序模块17
2.3键位程序模块17
第三章系统调试19
3.1硬件系统调试19
3.1.1原理图是否正确19
3.1.2.电路焊接与原理图是否一致19
3.1.3.检查虚焊和短路19
3.1.4上电测试19
3.3综合检测结果20
结论21
参考文献22
附录一22
致谢23
前言
1.1选题背景
我自身是一个篮球爱好者,经常利用课余时间练习篮球,深知广大篮球好爱对于操作简单和容易携带的具有篮球计时和计分功能的仪器的渴望。
在选择毕业设计题目是我义无返顾的选择了篮球计时器作为我的毕业设计题目,我想首先我了解比赛的规则,可以再软件编写方面尽量做到没有设计上的漏洞,再加上经过我大学四年的知识储备,加上老师的帮助一定能过完成设计。
这也是一个电工人对于身边的篮球爱好者作出的一点贡献。
近几年人们生活水平提高,运动项目的火热就是随之而来的一部分。
单片机在体育项目中的应用越来越广,简单的可以计时计分,还可以计算命中率、记比分、记犯规数等等。
这样大大的降低了人们的体力劳动和较少了比赛成本,也就是说往往需要几个人做的事情,现在只需要按几下按钮就能完成。
应用于比赛的操作简单便携系统的发展大势不可阻挡。
这也是我选择篮球计时器作为我别有设计的原因。
1.2总体设计思路
1.2.1实现功能
通过键位控制系统,实现篮球比赛的计时计分,同时考虑到比赛的规则,该系统能过计时分为两个部分,分别是每次进攻方24s计时,每一节12min计时,根据比赛的情况这两部分的计时可以通过键位控制随时停止,24s计时可以随时复位。
该系统可以实现为两队计分功能,还具有清零功能。
在显示篮球比赛时间和比分的同时,还可以显示篮球比赛的节数,从而到一个较为完整的篮球比赛控制系统。
本系统分为:
控制模块、显示模块、键位控制模块、报警模块
1.2.2主要元器件选择
元件选择的宗旨是在保证达到设计目的的前提下,充分考虑自身情况和元件在整体设计中难易程度、可塑性、可扩展性情况。
主要元件的选择难点主要在单片机型号选择上和系统显示部分方式的选择上,还有就是在键位控制方式上。
具体来说就是选择AT89S51型号单片机还是选择AT89C51型号单片机。
经过研究发现,两者具有相同的功能,引脚的功能相同价格基本一致,但AT89C51的程序烧录比较麻烦,烧录器比较昂贵,说到这里就不得不提到并行编码和串行编码,在最早开始使用的是并行编码方式,但是因为在程序烧录的时候必须使用ZIF烧录器才能实现。
串行编程的发展就是为了克服并行编码烧录的问题。
最终选择AT89S51作为本系统单片机型号。
在显示方式的问题上,经过研究主要有两种方式,一是通过数码管显示,二是通过LCD1602屏显示。
通过比较发现数码管方式的电路设计复杂,要想达到设计的要求需要比较多的数码管,但是其编程比较简单。
LCD1602液晶显示屏是一种全新模式的线显示方式,在近几年的发展中取得了长足的进步,它具有体积少、重量轻、显示质量高等诸多特点,同时如果应用液晶屏显示,电路设计非常的简单,最后选择用LCD1602液晶显示屏作为显示模块。
键位控制模块现在应用比较多的有两种,一种是矩阵键位控制,另一种是独立键位控制,比较两者前者使用的I/O口比较少,但是电路设计包括电路焊接都比较复杂,独立的键位控制占用I/O口多,但是电路设计和电路焊接比较简单,本次设计单片机I/O口应用较少,完全可以满足独立所以选择独立键位控制作为。
硬件流程框图如图1-1
图1-1硬件流程框图
1.3论文设计流程
从去年11月份开始为毕业设计做准备,到最后结束大概经历了半年的时间,在这段时间里包括选题、开题、前期相关知识的准备、硬件设计和软件编程、故障检测联合调试等多个阶段。
设计流程见图1-2
图1-2论文设计流程图
第一章硬件设计部分
本部分将分别介绍硬件流程框图中的每一部分。
也会提及一部分软件编写部分的知识。
1.1控制电路
控制模块中包含一个单片机最小系统。
单片机最小系统包括一个晶振电路、电源电路。
单片机最小系统如图1-1
图1-1单片机最小系统
1.1.1晶振电流在单片机最小系统中的作用
本次设计采用12MHz的晶振,他为电路提供了一个稳定的时钟频率时钟电路为程序运行提供动力,相当于单片机的心脏。
AT89S51单片机在12个时钟周期内执行一条程序,在单片机内部还有一个时钟振荡电路配合外部晶振电路使用,才能发挥其作用。
内部振荡电路在下文中介绍。
晶振电路图如图1-2
图1-2晶振电路图
1.1.2AT89S51芯片介绍
AT89S51是和AT89C51都是一款具有高性能低功耗的CMOS8位,其内部由计数器/定时器、串行口、I/O、程序存储器、数据存储器、中央处理器等部分组成。
封装方式分为三种,分别是PDIP、TQFP、PLCC,基于这三种封装形式基本上可以覆盖大部分应用。
同时内部还有2个看门狗(WDT)电路,内部时钟振荡器。
所谓振荡电路简单的说就是指一个频率源,一般用在锁相环中。
具体地说就是在外部没有信号的情况下振荡电路本身就可以将直流电能转化为交流电能的装置。
通常有正反馈和负反馈两种型号,作用就是在电源稳定的情况下产生高频。
时钟振荡电路和外部晶振电路配合使用就达到了为单片机提供时钟的功能,同时也构成了内部时钟电路。
单片机内部组成如图1-3。
图1-3单片机内部组成
1.1.3单片机内部组成简介
中央处理器
简称文CPU,是单片机的核心部件。
本次设计选用的单片机具有两个功能,分别是控制功能和运算功能。
中央处理器内部有运算器和控制器两个部分。
运算器由算术逻辑运算部件ALU、累加器、暂存器程序状态字寄存器PSW、BCD码运算调整电路组成。
控制器由程序计数器PC、指令寄存器、指令译码器、定时控制与条件转移逻辑电路等组成。
数据存储器
本次设计选择的单片机中的数据存储器拥有128bytes的存储空间,这样大小的存储空间基本上可以满足一般的设计需求。
但是不能保证所有满足所有的应用场所,所以数据存储器还可以进行扩展,单片机的扩展能力为可寻址64K,用户可以根据自己的需求对空间进行的扩展。
它的作用是可以作为处理问题的数据缓冲器。
程序存储器
程序的正常运行不仅和时钟电路有关,同时还需要将调试过的程序放到单片机的存储器中。
传送程序需要的是串行口与外部机器相连接进行传送,而存储这些程序的就是单片机中的程序存储器。
本次设计选用的单片机拥有4K的存储空间,如果需要扩展的话,最大的扩展空间为64K。
从单片机的访问来说,程序存储器可以分为内部和外部。
单片机通过控制引脚的高低电平区分访问程序存储器的内部和外部。
在其中还有5个部分具有特殊功能,因为当执行复位电路之后,单片机的程序执行必须从0000H开始,这样就需要在0000H单元存放一条用于跳转的指令。
串行口
上文已经提到,各种指令和程序要传送到单片机的个存储单元需要串行口与电脑连接,同时单片机内部程序要传送到外部也是通过串行口于外部进行连接。
由于串行口的数量有限,51系列单片机的串口还具备扩展功能。
本次设计选用的单片机拥有2个双全共串行口,采用异步通信方式。
所谓的异步通信方式,就是单片机可以实现输入和输出同时进行,是一种比较先进的通信方式。
其内部结构如图1-4
图1-4串行口内部结构
I/O口
本次设计选择的单片机提供4个并行8位I/O,分别上P1口、P2口、P3口、P0口。
内部时钟电路
时钟电路可以分为内部和外部两种。
构成内部振荡器是一个高增益反放大器,用于和外部晶振电路连接过程时钟电路。
定时器\计时器
这个部分有两个工作模式,分别是计数工作模式和定时工作模式。
计数工作模式的作用是针对外部的脉冲计数,在引脚中有T0(14脚)和T1(15脚),他们是计数器的输入端,脉冲产生从正向负变化时,计数器就开始工作,计数器记1.定时器工作模式实在计数器工作模式的配合下使用,这是的计数器模块应用的是单片机内部脉冲,脉冲的产生是由时钟电路产生的,每经过一个时钟周期,定时器模块就工作计数1。
定时器\计时器内部结构如图1-5
图1-5定时器\计时器内部结构
上文提到单片机具有低功耗和高性能的特点,之所以这么说是因为单片机在单机状态下CPU可暂停工作,同时计数器、串行口等内部系统课保持工作状态,这样就可以达到低功耗和高性能的特点。
1.1.4单片机引脚作用
AT89S51单片机管脚图如图1-6所示。
图1-6单片机引脚图
本型号单片机共有40个引脚,通常情况下可以满足使用要求,但是不排除有特殊情况,所以P3引脚具有第二功能。
40脚:
通过外部电源位单片机供5V电源,在本设计中,设计实物通过下载线与电脑USB口连接为电路供电。
20脚:
连接地线。
18脚:
反向放大器输出端。
19脚:
反相放大器输入端。
9脚:
复位信号输出端,在输入高电平是有效。
30脚:
在单片机正常工作之后,该脚连续不断输出正脉冲信号。
通过他也可以判断单片机是是否正常工作。
29脚:
引脚产生负脉冲时表示单片机正在访问外部存储程序。
用示波器观察脉冲可以判断单片机是否能过正常读取外部存储程序。
31脚:
当该脚输入高电平的时候单片机访问内部程序存储器,但是当读取范围超过年初至的时候,系统将开始读取外部程序存储器里的内容。
当该脚输入低电平的时候,只能读取外部程序存储器里的内容。
P0:
提供8位双向I/O,同时具有上拉电阻,同时于地址总线的低8位联合使用,可以驱动8个负载。
P1:
提供8位双向I/O,具有上拉电阻,可以驱动4个负载。
P2:
提供8位双向I/O,,同时具有上拉电阻,同时与地址总线高8为联合使用,可以驱动4个负载。
P3口比较特殊是一个具有两个功能的复用口,上文提到由于受到引脚数量的限制,一些引脚具有第二功能,P3口就有第二功能。
如表1-1
表1-1P3口第二功能
引脚
第二功能
P3.0(10脚)
RXD串行输入口
P3.1(11脚)
TXD串行输出口
P3.2(12脚)
INT0外部中断0
P3.3(13脚)
INT1外部中断1
P3.4(14脚)
T0
P3.5(15脚)
T1
P3.6(16脚)
WR外部数据存储器写
P3.7(17脚)
RD外部数据存储器读
1.2显示模块
模块含有一个LCD1602液晶显示屏
1.2.1元件介绍
LCD1602液晶显示屏又称为字符型液晶显示屏,采用点阵方式组成,用来显示数字、字母、符号。
字符型液晶屏根据用途不同和设计要求不同,现在市场上LCD1602液晶屏主要有三种不同尺寸,分别是2*16、1*16、2*21几种,同时还分为带光屏和不带光屏。
相比较无背光屏和有背光屏,有背光屏要比无背光屏略厚一些,在使用功能上没有差别,只是由于有背光的LCD液晶屏需要为其提供光源正负极所以引脚数比无背光的液晶屏多两个。
尺寸差别见图2-8.LCD1602的尺寸是2*16。
实物如图1-7
图1-7LCD1602显示屏实物图
图1-8尺寸图
1.2.2点阵式LCD
LCD主要技术参数如表1-2
表1-2技术参数
显示容量
16×2字符
芯片最佳工作电压
5V
工作电流
2.0mA(5.0V)
字符尺寸
2.95×4.35(W×H)mm
1.2.31602LCD引脚
由于实际需要,本系统设计时考虑到会在晚上使用,所以选用有背光LCD液晶显示屏。
上文提到该液晶屏有16个引脚。
引脚作用如表2-3
表2-3引脚作用
引脚编号
符号
功能
引脚编号
符号
功能
1
VSS
接地
9
D2
数据口
2
VDD
电源正极
10
D3
数据口
3
VL
偏压
11
D4
数据口
4
RS
数据命令选择
12
D5
数据口
5
R/W
读写选择
13
D6
数据口
6
E
使能信号
14
D7
数据口
7
D0
数据口
15
BLA
电源正极
8
D1
数据口
16
BLK
接地
下面具体对个脚功能进行介绍
1脚:
接地,相当于为液晶屏供电的负极。
2脚:
根据上文中所选用液晶屏的技术参数,2脚为液晶屏提供5V电压。
3脚:
主要是为了减少液晶屏在显示的过程中出现模糊的情况,可以调节液晶屏对比度。
4脚:
当该脚输入高电平的时候作为数据存储器。
当该脚输入低电平的时候作为指令存储器。
5脚:
当该脚输入高电平时体现读操作。
低电平时体现写操作。
6脚:
当该脚由高电平变成低电平的时候,液晶屏开始工作,通常外界开解开关。
7脚:
双向数据端口。
8脚:
双向数据端口。
9脚:
双向数据端口。
10脚:
双向数据端口。
11脚:
双向数据端口。
12脚:
双向数据端口。
13脚:
双向数据端口。
14脚:
双向数据端口。
15脚:
为背光电源提供5V电压。
16脚:
接地,相当于背光电源负极。
LCD液晶屏多数都采用HD44780芯片作为控制电路。
HD44780工作原理电路图1-9
图1-9HD44780工作原理图
显示模块电路图如图1-10
图1-10显示模块电路图
说明:
该电路图的绘制应用的软件是Proteus,在该软件中并没有本设计要使用的16脚LCD1602显示器,所以在图中使用的是无背光的LCD1602显示器。
键位控制模块
1.2.4实现功能
键位控制模块包括了四组独立的键位,他们是控制本次设计所要求达到的功能按键,四组键位的功能及接口如下表1-4
表1-4接口功能
序号
接口
功能
Key1
P1^0
比赛开始/暂停
Key2
P1^1
刷新进攻球队24秒时间
Key3
P1^2
A队得分值加一
Key4
P1^3
B队得分值加一
四组独立的按键在连接上分别于P1.0、P1.1、P1.2、P1.3连接通过中断程序控制着单片机内部程序的运行。
按键的另一端与地相连,所以说低电平有效。
键位控制模块电路图如图1-11
按键一共有四个引脚,经过万用表短路档测试,对角引脚为该型号按键的正确连接。
图1-11键位控制模块电路图
1.3报警模块
1.3.1实现功能
本次设计报警模块的报警方式为声音报警。
在24s进攻的时间里没有人控制键位模块中断将报警,报警时间维持4s,在没有人控制的情况,在离24s进攻时间还剩5s时将开始报警,报警时间维持1s。
在比赛的四节中,每一节的结束时将开始报警,报警时间维持4s。
本次报警系统设计时考虑到简易和便携方面的要求,并没有采用复杂的电路,知识用单片机经过放大和驱动电路后产生报警。
根据这样的设计理念,本系统选用的8550型号的三极管于蜂鸣器连接,三极管在电路中起到的作用是放大电流。
8550型号的三极管实物仿真图如图1-12
图1-12三极管实物图
该三极管是一种比较常用的三极管之一,它是一种PNP硅型具有将低电压转换成高电压从而获得高电流的一种元件。
第二章软件编程部分
软件编程的总依据是本次设计的技术要求。
根据设计技术要求本软件变成部分分为总程序、报警子程序、键位控制子程序。
使用的编程语言是大学里曾经学过的C语言。
程序的烧录和存储已经在上文中有所提及,如有需要加深了解的部分,在后面的论文书写过程中将再次提及。
需要说明的是,在本次设计中并没有设计串行通信口,原因在于AT89S51单片机的烧录要求比较低。
但是作为设计是不得不考虑的问题,本文还将对串行接口进行必要的说明。
在单片机的引脚中就有用于通信的串行口,但是单片机不能和PC机直接相连,基于这样的条件就必须考虑在单片机和PC机之间设计串行通信口。
这就是设置串行口的原因。
在市面上主要有RS-232C、RS-422A、RS-485型号串行口。
如果在本次设计中体现串行口,那么将选择RS-232C串行口。
2.1总程序模块
总程序要实现的功能是:
在LCD液晶显示屏上显示比赛单节剩余时间、24s计时、比赛比分显示、比赛节数。
程序流程图如图2-1
图2-1总程序流程图
2.2报警程序模块
在程序编写时已经将各部分报警的时间设在其中,在程序运行时,时钟电路所提供的时间符合程序里的时间要求,报警电路将时间报警。
报警程序流程图如2-2。
图2-2报警模块流程图
2.3键位程序模块
在这部分的程序编写时,主要应用的是在时钟周期里改变接口的高低电平使其达到对于时间和分数的写入功能。
在这部分主要应用的是单片机中定时器\计时器的作用,在其内部的工作方式寄存器决定着该部分的工作方式,格式如下表2-1。
表2-1工作方式寄存器
D7
D6
D5
D4
D3
D2
D0
D1
GATE
C\T
M1
M0
GATE
C\T
M1
MO
MI和MO共有四种工作方式来决定工作方式,详细情况见表2-3
表2-3四种工作方式
M1
M0
工作方式
0
0
为13位定时器\计数器
0
1
为16位定时器\计数器
1
0
自动重启定时器\计数器
1
1
仅适用T0,两个8位计数器
该模块流程图见下图2-3
图2-3键位控制模块流程图
第三章系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 篮球 计数器 DOC
![提示](https://static.bdocx.com/images/bang_tan.gif)