篮球赛计时计分器毕业论文有很多图自己写的花了很多心思答辩得很好.docx
《篮球赛计时计分器毕业论文有很多图自己写的花了很多心思答辩得很好.docx》由会员分享,可在线阅读,更多相关《篮球赛计时计分器毕业论文有很多图自己写的花了很多心思答辩得很好.docx(50页珍藏版)》请在冰点文库上搜索。
篮球赛计时计分器毕业论文有很多图自己写的花了很多心思答辩得很好
华东交通大学理工学院
InstituteofTechnology.
EastChinaJiaotongUniversity
毕业设计
GraduationDesign
(2008—2012年)
题目嵌入式篮球赛计分屏的设计
100
华东交通大学理工学院
毕业设计原创性申明
本人郑重申明:
所呈交的毕业设计是本人在导师指导下独立进行的研究工作所取得的研究成果。
设计中引用他人的文献、数据、图件、资料,均已在设计中特别加以标注引用,除此之外,本设计不含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。
本人完全意识到本申明的法律后果由本人承担。
毕业设计作者签名:
日期:
年月日
毕业设计版权使用授权书
本毕业设计作者完全了解学院有关保留、使用毕业设计的规定,同意学校保留并向国家有关部门或机构送交设计的复印件和电子版,允许设计被查阅和借阅。
本人授权华东交通大学理工学院可以将本设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编毕业设计。
(保密的毕业设计在解密后适用本授权书)
毕业设计作者签名:
指导教师签名:
签字日期:
年月日签字日期:
年月日
摘要
进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高。
目前嵌入式单片机渗透到我们生活的各个领域,由于它具有功能强大,体积小,功耗低,可靠性高,易扩展,性价比高,使用方便等特点,因此它广泛应用于工业控制,智能仪表等有关系统设备。
本设计主要利用单片机AT89C51作为核心元件,利用3组4位共阳极的数码管作为显示器件,以C语言作为编程语言,在Protues和Keil搭建的软件仿真平台下进行仿真,本设计包含了AT89C51系列单片机的最小系统的构成,同时在此基础上扩展了一些实用性强的外围接口,可以进一步了解译码器74LS247的应用,LED七段数码管的结构和工作原理,主要实现了计时和显示A/B队的分数,并能及时进行加分,减分,鸣笛警示等功能。
系统设计完成后应有成本低廉、性能稳定、高准确度显示、操作方便且易携带等特点。
广泛适合各类学校和小团体作为赛程计分。
关键词:
嵌入式;篮球赛计分屏;AT89C51;74LS247;七段数码管;仿真
Abstract
Enteringthetwenty-firstCentury,alongwiththemoreandmorepopularizationapplicationoftheelectronics,informationandcommunicationtechnology,people’srequirementismoreandmorehighintheelectronictechnology,Theembeddedmicrocontrollerispenetratingintoeveryaspectofourliveswithitsstrongfunction,smallvolume,lowpowerconsumption,highliability,easyexpansion,highperformance-priceratio,useconvenientandsoon,soitiswidelyusedinindustrialcontrolment,smartinstrumentationandrelatedsystemequipment.
ThecoreelementofthedesignisAT89C51,3groupsof4bitcommonanodedigitaltubeisdisplaydevices.ThedesignisusingClanguage,simulatinginasoftwaresimulationplatformbetweenProteusandKeil,thedesignincludedtheAT89C51SeriesMCUminimumsystem,andatthesametimethedesignexpandedsomepracticalperipheralinterfacetodeeplyunderstandtheapplicationof74LS247,LEDsevendigitaltubestructureanditsworkingprinciple,andthedisplayinterfacecommunication.ThedesignmainlyfinishedthetiminganddisplayingA/Bteamscoresandtimelypoints,deduction,thealarmingfunctionetc.
Afterfinishingsystemdesign,itshouldbelowcost,stableperformance,highaccuracytodisplay,convenienttooperateeasytocarryandsoon.Suitableforallkindsofschoolsandsmallgroupsasthetournamentscoring.
Keywords:
Embedded;Basketballscoringscreen;AT89C51;74LS247;LED;Simulation
第一章绪论
1.1引言
进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高,目前嵌入式单片机渗透到我们生活的各个领域。
[1]单片机是一种集成在电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
按照历史性、本质性、普遍性要求,嵌入式系统应定义为:
“嵌入到对象体系中的专用计算机系统”,可分软件部分和硬件部分,而当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在单片机上。
所以,以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一块芯片上。
体育比赛计时计分器是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录、加工处理、传递利用的工具。
篮球比赛的计时计分器是一种得分类型的工具。
虽然篮球比赛中很早就开始研究应用了电子计分器,但通常都是利用模拟电子器件、数字电子器件或是模拟、数字混合组成的,其稳定性和高准确度计分仍存在一些问题。
以嵌入式单片机为核心,利用3组4位共阳极的数码管作为显示器件的篮球比赛计分屏,计分准确,具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点。
1.2国内外研究现状及发展趋势
伴随着科技的日新月异,各式各样的电子产品的问世和发展层出不穷,篮球计分屏是一个无处不在的电子产品,经过多年的发展,技术已经相当成熟了。
根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。
随着电子技术的产业结构调整,生产工艺的飞速发展和篮球的广泛推广,市场对篮球计分器的需求也越来越大。
本设计用AT89C51嵌入式单片机编程控制LED七段数码管作显示,设计篮球赛计分屏,嵌入式单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
随着单片机的发展,人们对事物的要求越来越高,单片机的应用软件技术也发生了巨大的变化,从最初的汇编语言,开始演变到C语言开发,不但增加了语言的可读性,结构性,而且对于跨平台的移植也提供了方便,另外一些复杂的系统开始在单片机上采用操作系统,一些小的RTOS等,一方面加速了开发人员的开发速度,节约开发成本,另外也为更复杂的实现提供了可能。
当前比较流行的RTOS有:
WINCE,uClinux,Linux,uC/OS等等。
第二章系统总体方案设计
本设计主要利用单片机AT89C51作为核心元件,利用3组4位共阳极的数码管作为显示器件,分别用于记录A、B两队的分数,以及赛程时间,每个队的数码管显示分数范围可达到0—9999分,足够满足赛程需要。
以C语言作为编程语言,在Protues和Keil搭建的软件仿真平台下进行仿真,本设计包含了AT89C51系列单片机的最小系统的构成,同时在此基础上扩展了一些实用性强的外围接口,可以进一步了解译码器74LS247的应用,LED七段数码管的结构和工作原理,主要实现了计时和显示A/B队的分数,并能及时进行加分,减分,鸣笛警示等功能[3]。
2.1系统硬件方案设计
该系统硬件电路包括:
单片机AT89C51、时钟电路、复位电路、电源电路、按键控制电路、计分电路、计时电路、报警电路。
软件包括用Keil进行C语言编程,用Protues进行仿真,具体系统硬件结构框图如图2-1所示。
图2-1篮球赛计分器的硬件结构框图
2.2系统软件方案设计
软件部分要求实现的功能有:
开始时所有显示屏都显示0;有预置比赛时间的功能;具有AB两队分别计分的功能;有鸣笛警示功能;只有当预置时间后,并按开始按钮,计时器才能开始计时,只有当开始计时后,AB两队才能加分等。
[3]结合数码管以及51单片机计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下图2-2所示:
N
Y
Y
N
图2-2主程序流程图
2.3本章小结
本章主要阐述了本设计的总体设计方案,通过模块化的设计来实现硬件部分的功能,软件部分的实现主要通过控制单片机的I/O口和相应按键操作来完成,先确定系统总体方案,后续章节的详细方案设计就迎刃而解了。
第三章系统硬件设计
设计一个基于嵌入式单片机的篮球赛计分屏,初步确定本设计的总体框架结构,再根据具体设计要求选定合适的设计方案以及选取合适的元器件进行系统硬件设计。
具体设计概念如下:
选择AT89C51型单片机,通过不同的I/O口控制按键电路、显示电路、鸣笛警示电路等部分,设计一个简易的篮球赛计分屏。
3.1硬件设计原理
3.1.1AT89C51简介[2]
AT89C51是一种带4K字节FLASH存储器(FPEROM——FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3-1所示:
图3-1AT89C51外形及引脚排列
主要特性:
·与MCS-51兼容
·4K字节可编程FLASH存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口的8位皆为漏极开路输出简称OD;内部无上拉电阻,所以执行输出功能时,外部必须接上拉电阻;若要实现输入功能,必须先输入高电平“1”,才能读取该端口所连接的外部数据;若系统连接外部存储器,则P0可作为地址总线和数据总线的多功能引脚,此时内部具有上拉电阻,无需外接上拉电阻。
P1口:
P1口为8位,可位寻址的双向I/O口;内部具备约30千欧姆的上拉电阻,实现输出功能时,不需要连接外部上拉电阻;实现输入功能时,必须先输入高电平“1”,才能读取该端口所连接的外部数据;P1口的8位类似漏极开路输出,但内部已接上上拉电阻,每个引脚可驱动4个LS型TTL负载。
P2口:
P2口为8位、可位寻址的双向输入/输出口,内部具备约30千欧姆的上拉电阻,实现输出功能时,不需要连接外部上拉电阻;实现输入功能时,必须先输入高电平“1”,才能读取该端口所连接的外部数据;P2口的8位类似漏极开路输出,但内部已接上上拉电阻,每个引脚可驱动4个LS型TTL负载;若系统连接外部存储器,而外部存储器的地址线超过了8根时,则P2可作为地址总线(A8-A15)的引脚。
P3口:
P3口为8位,可位寻址的双向I/O口;内部具备约30千欧姆的上拉电阻,实现输出功能时,不需要连接外部上拉电阻;实现输入功能时,必须先输入高电平“1”,才能读取该端口所连接的外部数据;P3口的8位类似漏极开路输出,但内部已接上上拉电阻,每个引脚可驱动4个LS型TTL负载。
P3口也可作为AT89C51的一些特殊功能口,如下表3-1所示:
表3-1AT89C51的一些特殊功能口
I/O口
备选功能/特殊功能
P3.0/RXD
串行输入口
P3.1/TXD
串行输出口
P3.2/
外部中断0
P3.3/
外部中断1
P3.4/T0
计时器0外部输入
P3.5/T1
计时器1外部输入
P3.6/
外部数据存储器写选通
P3.7/
外部数据存储器读选通
RST:
复位信号。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间,用以完成单片机的复位初始化操作。
ALE/
:
地址锁存控制信号。
在系统扩展,访问外部存储器时,ALE用于控制把P0口输出的低8位的地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固定频率输出脉冲,因此可作为外部时钟或者外部定时脉冲使用。
ALE只有在执行MOVX,MOVC指令时,ALE才起作用。
:
外部程序存储器读选通信号。
在读外部ROM时,
有效(低电平有效),以实现外部ROM的读操作。
在具体应用时,外部ROM读取时,在每个机器周期会动作两次,外部RAM读取时,两个
信号被跳过不会输出。
/VPP:
访问程序存储控制信号。
当信号保持低电平时,对ROM的读操作仅仅限定在外部程序存储器,当信号为高电平或者悬空时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.2数码管动态扫描显示原理[4]
在实际的单片机系统中,往往需要多位显示。
动态显示是一种最常见的多位显示方法,应用非常广泛。
用数码管显示信息时,由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要太多I/O口,而单片机的I/O口是有限的。
在实际应用中,一般采用动态显示的方式解决此问题。
动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。
通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。
而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。
在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。
在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。
在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。
3.1.3BCD——七段数码管驱动/译码器[3]
常用的BCD对七段显示器译码器/驱动器的IC包装设计有TTL之7446、7447、7448、7449与CMOS之4511等。
其中7446、7447必须使用共阳极七段数码显示器,7448、7449、4511等则使用共阴极七段显示器。
74LS247的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转化为数码管的显示数字,从而简化了程序,节约单片机的I/O开销,因此是一个非常好的芯片。
74LS247的引脚如下图3-2所示:
图3-274LS247引脚图
引脚的功能:
(1)A、B、C、D为输入端,abcdefg为输出端。
当输入DCBA=0010时,则输出abcdefg=0010010,使数码管显示“2”;
当输入DCBA=0110时,则输出abcdefg=1100000,使数码管显示“6”;关系如表3-2所示:
表3-2BCD七段译码真值表
输入
DCBA
输出
F(a)F(b)F(c)F(d)F(e)F(f)F(g)
字形
0000
1111110
0
0001
0110000
1
0010
1101101
2
0011
1111001
3
0100
0110011
4
0101
1011011
5
0110
1011111
6
0111
1110000
7
1000
1111111
8
1001
1111011
9
(2)LT、RBI与BI/RBO为控制引脚,其功能分述如下:
74LS247电路是由与非门、输入缓冲器和七个与或非门组成的BCD——7段译码器/驱动器。
7个与非门和一个驱动电路成对连接,以产生可用的BCD数据及其补码至7个与或非译码门。
剩下的与非门和3个输入缓冲器作为试灯输入(LT)、灭灯输入/动态灭灯输出(BI/RBO)以及动态灭灯输入(RBI)端。
该电路接受4位二进制编码——十进制数(BCD)输入并借助于辅助输入端状态将输入数据译码后去驱动一个七段显示器。
输出结构设计能承受7段显示器所需要的相当高的高压,驱动显示器各段所需要的高达24mA的电流可以由其高性能的输出晶体管来直接提供。
BCD输入计数9以上的显示图案是鉴定输入条件的唯一信号。
该电路有自动前、后沿灭零控制(RBI和RBO)。
试灯(LT)可在端处在高电平的任何时刻去进行,该电路还含有一个灭灯输入(BI)。
它用来控制灯的亮度或禁止输出。
1)需要0-15的输出功能时,灭灯输入(BI)必须为开路或者保持在高电平状态,若不要灭掉十进制零,则动态灭灯输入(RBI)必须开路或者处于高电平状态。
2)当低电平直接加到灭灯输入(BI)时,不管其他任何输入端的电平如何,所有段的输出端都关死。
3)当动态灭灯输入(RBI)和输入端A、B、C、D都处于低电平而试灯输入(LT)为高电平时,则所有段的输出端进入关闭且动态灭灯输出(RBO)处于低电平状态。
4)当灭灯输入/动态灭灯输出(BI/RBO)开路或者保持在高电平状态,且将低电平加到试灯试灯输入(LT)时,所有段的输出都得打开。
注:
BI/RBO是用做灭灯(BI)与/或动态灭灯输出(RBO)的线与逻辑。
3.1.4按键接口原理
键盘往往分成编码键盘和非编码键盘,编码键盘由按键和键处理电路组成,直接为计算机提供经过编码的按键键码;而非编码键盘则只提供按键,其余由计算机自己处理。
非编码键盘结构简单,可自由裁量设计,非常适用于单片应用系统。
1.按键特性与抖动处理
按键是一种机械弹性开关,当键按下时闭合,松开时断开。
因为有机械的接触,在触点闭合或断开的瞬间会出现电压抖动。
为了避免键输入错误,必须进行键抖动的处理。
去抖动由硬件和软件两种方法:
硬件方法就是在键盘中附加去抖动电路消除抖动;而软件方法则是采用时间延迟以躲避抖动,待触点状方法处理。
2.键盘接口及功能
非编码键盘是所用按键组成的集合。
为了保证键盘的正确输入,键接口必备以下功能:
(1)键扫描与识别,判断有无键按下以及按键位置,键扫描与识别是通过“行扫描”与“列状态”的配合来确定是否有键按下以及所在行、列的位置。
所谓行扫描就是一次给每条行线送低电平,而其余各行线送高电平,并检测对每一行扫描时所产生的列状态。
键盘扫描有下列三种方式:
程控扫描方式:
只有单片机空闲时才调用扫描程序响应用户键入请求。
定时扫描方式:
单片机定时调用扫描程序对键盘进行扫描,即时响应用户键入请求。
中断扫描方式:
与中断请求电路配合,当有键按下时产生中断请求,由单片机响应并执行中断服务程序扫描键盘。
(2)去键抖动
消除按键抖动带来的误输入。
检测键关闭后,延时10ms后再检测一次,两次检测相同再进一步进行键处理。
(3)键编码
生成易于处理的键码。
由于键位码比较零乱,因此接下来的工作是根据需要把反映闭合键和键位置的键位码换乘反映键功能的键码。
有了键码,才好通过散转指令把程序执行到闭合键所对应的服务程序上去。
键码既可以根据键位码查询表求得,也可以根据键码编排规律计算得到。
(4)等待键释放
为了保证键一次闭合仅进行一次处理,编键码之后,再以延时扫描的方法等待键释放。
键释放后键处理工作完成。
3.2硬件电路设计
硬件部分的设计是整个设计的一个很重要的部分。
在进行硬件设计时,首先要确定元器件,并且知道这些元器件的工作原理和功能,然后才可以进行设计。
本设计的主要硬件电路包括三个部分:
计时显示电路、计分显示电路、鸣笛警示电路。
一般来说,对硬件部分的设计都应包括绘制SCH原理图和PCB印刷图,由于本次设计我主要负责软件部分的设计,硬件参与得不是很多,所以硬件部分元器件的功能就不详细介绍了。
3.2.1元器件的选择[3]
本设计主要选择了以下元器件:
如表3-3所示:
表3-3元器件列表
元器件名称
所属类
所属子类
AT89C51(单片机)
MicroprocessorIC’s
8051Family
7SEG-MPX4-CA-BKUE
Optoelectrionics
7-Segment-Display
7SEG-MPX4-CA
Optoelectrionics
7-Segment-Display
SW-SPDT
Switc