基于单片机的篮球计分器课程设计报告.docx

上传人:b****6 文档编号:4429585 上传时间:2022-12-01 格式:DOCX 页数:21 大小:339.76KB
下载 相关 举报
基于单片机的篮球计分器课程设计报告.docx_第1页
第1页 / 共21页
基于单片机的篮球计分器课程设计报告.docx_第2页
第2页 / 共21页
基于单片机的篮球计分器课程设计报告.docx_第3页
第3页 / 共21页
基于单片机的篮球计分器课程设计报告.docx_第4页
第4页 / 共21页
基于单片机的篮球计分器课程设计报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于单片机的篮球计分器课程设计报告.docx

《基于单片机的篮球计分器课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于单片机的篮球计分器课程设计报告.docx(21页珍藏版)》请在冰豆网上搜索。

基于单片机的篮球计分器课程设计报告.docx

基于单片机的篮球计分器课程设计报告

 

微控制系统原理

课程设计

 

题目基于单片机的篮球计分器设计

院系名称:

电气工程学院专业班级:

设计题目

 

基于单片机的篮球计分器设计

 

设计容和要求

利用SO8AW设计篮球计分器的控制系统,实现以下功能:

1、能记录整个赛程的比赛时间,并在暂停后继续接着停止时的时间计时。

2、能随时刷新甲、乙两队在整个过程中的比分。

3、比赛单节结束与比赛结束时,计时器停止且能发出报警声

按下复位键,计时计分都清零。

要求

1:

熟悉课程设计任务与要求,查阅技术资料,确定设计方案。

2:

按照确定的方案设计单元电路。

要求画出单元电路图,元件与元件参数选择要有依据,各单元电路的设计要有详细论述。

3:

软件设计,编写程序。

4:

实验室调试。

 

报告

主要

章节

1引言

2系统总体方案设计

3硬件电路设计

4系统软件设计

5课程设计的调试结果与总结

 

 

 

1.引言

单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。

若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。

而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。

单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。

同时,一个学习与应用单片机的新高潮正在大规模地兴起。

体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。

根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。

 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时系统是一种得分类型的系统。

篮球比赛的计时系统由计时器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。

由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。

世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。

篮球比赛计分器就是以单片机为核心的计时计分系统,由于对于单片机是刚刚学习,对于编程也不是十分熟练,故本次设计的容相较简单,达不到正式比赛需求,仅供学习之用。

 

2系统总体方案设计

2.1系统构成框图

随着单片机在各个领域的广泛应用,许多用单片机作控制的球赛计时计分系统也应时产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。

本设计由S08AW编程控制LED七段数码管作球赛计时计分系统具有赛程计时、时间暂停、比分显示、操作方便且易携带等特点。

可广泛适合各类学校和小团体作为赛程计时计分。

此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以与译码显示模块。

以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。

它由硬件部分和软件部分组成。

系统设计方案的硬件电路设计方框图如图2-1所示。

图2-1系统设计方案

本系统采用单片机S08AW作为本设计的核心元件。

利用7段共阴LED作为显示器件。

在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录甲乙队的分数,每队2个LED显示器显示围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。

赛程计时采用到计时方式。

即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。

计时围可达到0~99分钟,也完全满足实际赛程的需要。

为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于计分调整,其余三个用于清零复位,启动和暂停等功能,清零。

2.2总体方案

由于在比赛中,甲、乙两队的比分是不断变化的,所以需设置比分刷新控制装置;过程是按下启动按钮启动,时间计时开始,甲乙两队得分分别相应加分,加错了改,教练暂停时是停止计时,恢复比赛计时继续,每节10分钟,计时自动停止启动蜂鸣器5秒钟,到40分钟楼,没发再次启动计时,直到按下复位按键。

此功能由按键矩阵开关S1~S11完成,功能列表:

S1键:

完成甲队加1分操作;

S2键:

完成甲队加2分操作;

S3键:

完成甲队加3分操作;

S4键:

完成甲队减1分操作;

S5键:

完成乙队加1分操作;

S6键:

完成乙队加2分操作;

S7键:

完成乙队加3分操作;

S8键:

完成乙队减1分操作;

S9键:

完成复位操作;

S10键:

完成暂停操作;

S11键:

完成开始与暂停后开始;

3.硬件电路设计

3.1系统硬件部分组成:

系统硬件主要是由微控制器S08AW、计时显示电路、计分显示电路、报警电路和矩阵按键开关五个部分组成。

3.2设计器件的选择

本系统在设计过程中主要选取了以下一些器件:

微控制器:

S08AW。

八路三态锁存器:

74ALS573。

显示器件:

七段共阴LED显示器。

按键:

矩阵按键。

其他:

排阻,排线。

3.3.SO8AW介绍

S08AW系列是Freescale公司推出的新一代S08系列为控制器中的一款增强型8位微控制器,它不仅集成度高、片资源丰富,还有很宽的工作温度围(-40~+125℃),S08AW微控制器采用8位S08CPU,片总线时钟频率可高达20MHz,片资源包括2KBRAM,约62KBFlash、串行通信模块、定时器模块、并可选择宽围时钟频率,还提供一个8位/10位精度的模/数转换,并支持后台调试模式BDM。

在汽车电子、工业控制和中高档机电产品等领域具有广泛的用途。

3.1.1S08AW特性

飞思卡尔的新型8位微控制器是第一款基于高度节能型S08核的器件,支持5V应用。

这使得其成为工业应用的理想之选,而求他还是第一款认可用于汽车市场的S08微控制器。

S08AW系列有4种芯片:

S08AW60/48/32/16,他们之间的区别主要是片上程序存储器的容量不同而且具有各种引脚封装形式,S08AW特性如下:

●中央处理器位S08CPU。

●最高可达40MzCPU时钟频率和20MHz部总线频率。

●约62KB片上在线可编程Flash存储器,具有模块保护与安全选项功能。

●2KB片上RAM。

●时钟源选项为晶体振动器、瓷谐振器、外部时钟和部时钟。

●可选的看门狗(COP)复位。

●具有复位和中断的功能的低压检测。

●2个定时器TPM模块为共有(2+6)通道的16位定时器/脉宽调制器,每个通道都有可选的输入捕捉、输出比较与PWM功能。

●多达54个通用输入/输出(I/O)引脚。

●具有主复位和引脚和上电复位(POR)功能。

●单线后台调试模块BDM。

●可支持多达32个中断/复位源。

3.1.2S08AW结构

S08AW系统结构如图3-1所示,大致可分为MCU核心和MCU外设两部分。

图3-1S08AW系统结构

S08AW核心部分包括:

具有运行监视功能的增强型中央处理器S08CPU、后台调试控制、系统控制等。

S08MCU有两种存储器Flash和RAM;电压调整器可对数字电路和模拟电路供电;程序存储器具有页面控制模式;具有部时钟发生器和低能耗晶体振荡器。

外设部分可分为6种外设:

数字输入;数字输出;10位/8位二进制精度的模拟量/数字量转换器ADC;定时器/PWM;串行接口;许多微控制器中所没有的键盘中断输入。

3.4显示模块设计

本次设计我们用的是共阴极的七段数码管,本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

根据外接电源与额定段导通电流来确定相应的限流电阻。

本次设计在显示模块用到的是一个4位一体和2个两位一体共阴极数码管,共有8个代码输入口和8个位选输入口。

由于考滤保持显示的持续显示。

用到的驱动器是现在市面上通用的74ALS573八路三态锁存器,同时也用到了排阻。

其原理连接图3-3如下:

图3-374ALS573管脚与排线接线示意图

本次设计中8个LED的数码管接线端口如下图3-4:

图3-4LED显示

3.5报警模块设计

蜂鸣器通过一NPN三极管进行驱动,如图触发信号有基极引入。

(图7)驱动蜂鸣器的电路很简单,相应电路图如下图所

图3-5蜂鸣器原理图

3.6键盘控制电路

在本设计中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成3*4=112个按键,比之直接将端口线用简洁明了。

图3-6开关点阵的原理图

矩阵式键盘的按键识别方法:

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:

依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

 

3.7总硬件电路原理图

3-7总硬件电路原理图

4.系统软件设计

4.1软件主程序设计

主程序主要由系统初始化段、键值处理、两个4位共阴极LED显示器扫描显示子程序等组成。

通过对以上各段和子程序的结合,以实现系统功能。

该系统主程序流程图如下图4-1所示。

 

图4—1主程序设计流程图

单片机上电后要对整个系统进行初始化,篮球计时计分器的分数显示部分和时间显示部分也要清零,然后进入时间设定环境。

在这部分里只主程序只对是否有开始键按下键和时间设定键的11个按键进行扫描。

当开始按键S11被按下时,系统进入计时。

在计时阶段主程序只对开始按键和进攻复位按键进行扫描,如果扫描到这两个按键的任意一个按键被按下,则主程序开始执行相应的操作。

暂停按键S10被按下时,系统显示时间不变初始,系统进入暂停计时状态,等待S11按键按下。

当计时到时,系统停止计时,并且产生一个报警信号,通过报警电路让蜂鸣器响5秒钟,此时的分数显示的值不会因为时间到而赋初值,等待开始按键S11再次按下,进入下个类似循环,直到时间到了40分钟。

开始按键S11再次按下时,系统时间不再开始,分数不在改变,直到按下复位键S9

4.2计时部分模块流程

图4-2计时部分流程图

4.3计分部分模块流程

4-3计数部分模块流

5.总结

为期两周的单片机课程设计拉下了帷幕,我深刻体会到了单片机课程设计的实质,也从理论回到了实践的飞跃。

在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。

而且,课程设计中涉与到的电路图用了PROTEUS进行设计和仿真,使我多掌握了一个得力的仿真工具。

同时学会了KeiluVision3开发工具,学会了用PZISP自动下载软件

我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。

不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。

虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!

在这个设计过程中,我一直都在问问题,问同学的问题很多就是原来没有好好学习造成的严重的后果。

通过单片机课程设计,我加深了对单片机理论的理解,从不会到熟悉,很多的东西的都是用到了就去摸索学习,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了综合利用同学的指导资源,不会他们帮我。

设计过程,遇到的各种的问题,我都想思考,自己搞不懂的,找同学帮忙,也许就是这个过程我感受到我知识的浅薄,要多学相关的知识,为将来找工作做点基本功。

课程设计期间中,老师对我们进行指导,在群中进行答疑,使我在课程设计额时少走乐弯路,顺利完成课程设计任务,请允许我向你们致意崇高的敬意,感你——我的老师!

在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了我对单片机的实践操作能力与设计能力,使自己充分体会到了在设计过程中的艰辛。

虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。

此次课程设计充分锻炼了我的设计能力使我收获很多的东西,以前不会的东西现在很快的进行运用。

使我获得的更多的自信。

参考文献

[1]迎新.单片微型计算机原理、应用与接口技术(第二版).2009.8

[2]为.单片机典型系统设计实例精讲.电机工业2006.5

[3]严天峰.单片机应用系统设计与仿真调试.航空航天大学2005.8

[4]朱清慧Proteus教程——电子线路设计、制版与仿真(第二版).2011.1

 

附录1单片机系统原理图

 

附录2源程序

#include

#nclude"derivative"

#defineuintunsignedint

#defineucharunsignedchar

Uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//段码控制

ucharcodetable1[]={0xbf,0xdf,0xef};

ucharkey=24;

ucharbbx=0;

uintbflag=0;

sbitbbd=P2^3;

//sbitbeep=P1^5;

//sbitb1=P2^2;

//sbitb2=P2^1;

//sbitb3=P2^0;

#definebeepPTED_PTED0

#definebbdPTAD_PTAD1

#defineb1PTAD_PTAD2

#defineb2PTAD_PTAD3

#defineb3PTAD_PTAD4

#defineP0PTCD

#defineP3PTBD

#defnieP2PTAD

uchars1=0,s2=0,s3=0,s4=0;

inta_num=0;

intb_num=0;

uchartime_num=0;

ucharflag=0;

voiddelay(uintss)

{

uinta,b;

for(a=ss;a>0;a--)

for(b=60;b>0;b--);

}

voidto_init()

{

TIM1SC=0X4E;

TPM1MODH=0XF4;

TPM1MODL=0X24

}

voidbeepxx()

{

beep=1;

delay(5);

beep=0;

delay(5);

beep=1;

delay(5);

beep=0;

}

voiddisplay(uinta,bitb)//b是1显示分数

{

uchara1,a2,a3,a4;//a1是最高位

a4=a%10;

a3=(a/10)%10;

a2=(a/100)%10;

a1=(a/1000)%10;

P3=b?

0xfe:

0xef;

P0=table[a1];

delay(6);

P3=b?

0xfd:

0xdf;

P0=table[a2];

delay(6);

P3=b?

0xfb:

0xbf;

P0=table[a3];

delay(6);

P3=b?

0xf7:

0x7f;

P0=table[a4];

delay(6);

}

voidkeyscan()

{

uchari;

for(i=0;i<3;i++)

{

P2=table1[i];

if(bbd==0)

{

delay(10);

if(bbd==0)

key=i*4+0;

while(!

bbd);

}

if(b1==0)

{

delay(10);

if(b1==0)

key=i*4+1;

while(!

b1);

}

if(b2==0)

{

delay(10);

if(b2==0)

key=i*4+2;

while(!

b2);

}

if(b3==0)

{

delay(10);

if(b3==0)

key=i*4+3;

while(!

b3);

}

}

 

}

voidkey_solve()

{

if(key==0)a_num++;

elseif(key==1)a_num+=2;

elseif(key==2)a_num+=3;

elseif(key==3)a_num-=1;

elseif(key==4)b_num++;

elseif(key==5)b_num+=2;

elseif(key==6)b_num+=3;

elseif(key==7)b_num-=1;

elseif(key==8){a_num=0;b_num=0;s1=s2=s3=s4=0;time_num=0;flag=0;}

elseif(key==9)DisableInterrupts;;

elseif(key==10)EnbleInterrupts;

key=24;

if(a_num>99)a_num=99;

elseif(a_num<0)a_num=0;

if(b_num>99)b_num=99;

elseif(b_num<0)b_num=0;

}

voidmain()

{

PTADD=0X00;

PTBDD=OXFF;

PTCDD=0XFF;

PTEDD=0XFF

to_init();

while

(1)

{

keyscan();

key_solve();

display(a_num*100+b_num,1);

display(s1*1000+s2*100+s3*10+s4,0);

if(bbx==1)

{

beepxx();

bflag++;

if(bflag>100)

{

bbx=0;

bflag=0;

}

}

}

}

interruptVectorNumber_Vtpm1ovfvoidTPM1_OVF_ISR()

{

flag++;

if(flag==20)

{

flag=0;

s4++;

if(s4==10)

{

s4=0;

s3++;

if(s3==6)

{

s3=0;

s2++;

if(s2==10)

{

bbx=1;

DisableInterrupts;

s2=0;

s1++;

if(s1==6)

{

s1=s2=s3=s4=0;

}

}

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1