单片机课程研究设计篮球计时计分器正文Word文件下载.docx
《单片机课程研究设计篮球计时计分器正文Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机课程研究设计篮球计时计分器正文Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
4矩阵键盘,直接接到89C51单片机的P0口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。
显示部分采用动态显示,采用移位寄存器74LS164和译码器74LS138通过显示驱动程序驱动七段数码管显示。
此方案成本低,所用到的两个外围芯片价格都很低廉,而且单片机的I/O口占用较少,可以节约单片机接口资源。
第二种方案:
键盘控制采用独立是式键盘,每个按键的"
接零端"
均接地,每个按键的"
测试端"
各接一条输入线,通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单。
这种方法比较适合按键较少或操作速度较高的场合。
显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。
方案的确定:
本设计要求按键较多,且本次设计只是对所学知识的一次实践,设计要求简单,容易实现,成本低。
比较以上两中设计方案,第二种成本低,占用单片机资源少,且容易实现,这样的设计比较适合本次设计,故选用第二种设计方案。
1.3.2系统构成框图
基于AT89S52单片机的篮球计时计分器的系统框图如图1所示:
图1系统框图
本系统采用单片机AT89C51作为本设计的核心元件,利用七段共阴极LED数码管作为显示器件。
在此设计中共接入8个七段共阴极LED显示器,其中4个用于计录甲、乙两队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程要求;
另外4个LED显示器则用来计录赛程的时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用倒计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直到计时到零为至。
计时范围可达0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正、调整时间和比分,我们在设计中设立了10个按键。
其中6个用于甲、乙两队的分数;
另外4个则用于完成设置、调整、启动和暂停时间等功能。
1.3.3基本功能介绍
(1)赛程时间设置
在计时电路中,先按EXCHANGE-TIME键,转换到调时模式,再按键开关K1、K6用来设置时间。
启动时,初始时间为12分钟。
比如:
当比赛时上半场时间为20分,则通过按K1键加分钟,直到显示20。
当想向下调时间可按k6键减时间。
时间设置好后,等待比赛开始。
当比赛结束时,如果需增加比赛时间,这时增加比赛时间同样由按键开关K1、K6用来设置,且方法和上面一样。
(2)赛程时间启/停设置
在比赛要开始的时候按RUN/STOP键可开始计时,当中途要暂停时可按再按一次该键暂停。
(3)比分交换控制
比分交换控制由EXCHANGE键完成。
我们知道,因为比分交换是在上半场赛程结束后进行的,此时只需要按该键则两队的分数会交换,比如上半场的比分为10:
14,按了EXCHANGE键后,则LED分数显示为14:
10。
(4)比分刷新控制
由于在比赛中,甲、乙两队的比分是不断变化的,所以需设置比分刷新控制装置。
此功能由图3所示的计分电路中的按键开关K1~K6完成:
K1键:
完成TEAM1队加1分操作;
K2键:
完成TEAM1队加2分操作;
K3键:
完成TEAM1队加3分操作;
K4键:
完成TEAM2队加1分操作;
K5键:
完成TEAM2队加2分操作;
K6键:
完成TEAM2队加3分操作。
(5)计分计时显示
计分计时显示器是采用七段共阴LED数码管显示。
其中计时是用4个LED显示器,计分用4个LED显示器。
计时显示格式为00,计分显示格式为00.00。
(6)赛程结束报警
当比赛结束时,系统会自动报警声,提示比赛结束。
1.3.4篮球计时计分器的工作过程
整个篮球比赛计时计分器的工作过程如下:
首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管显示为0000和12.00;
然后我们按计时电路中的EXCHANGE-TIME键,k1键,k6键,来设置比赛的时间。
时间设置好时,等待比赛开始,当裁判吹响开始哨声时,立即按下RUN/STOP键启动计时,这时计时电路便开始工作,计时采用倒计时方式,即从12分00秒减到00分00秒表示结束,一场结束时,蜂鸣器会发出响声,通知上半场结束。
在整个赛程中,按EXCHANGE键完成甲、乙两队的分数交换,我们还要对两队比分进行及时刷新,这时我们通过计分电路中的K1~K6键完成此功能,K1、K2和K3键完成对甲队的加分,K4、K5和K6键完成对乙队的加分。
由于加分我们采用中断完成,且加分的中断优先权小于计时电路的中断优先权,所以不会对计时电路造成影响。
如果在比赛过程中,一方教练申请暂停时,经裁判批准,我们立即按下RUN/STOP键,即可以暂停计时,暂停时间到时,再按RUN/STOP键继续计时,直至本场比赛结束,蜂鸣器会发出响声,表示比赛结束。
二系统硬件设计
2.1系统硬件部分组成
系统硬件主要是由单片机AT89C51、计时显示电路、计分显示电路、报警电路和按键开关五个部分组成。
篮球比赛积分的准确性和计时的精度是有很高要求的,而单片机在这方面有着出色的表现。
本系统采用频率为12MHz的芯片。
单片机是该系统电路的核心组成部分,系统的各种功能都是在单片机内通过编程来实现的。
它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。
单片机主要包括1个8位CPU、1个片内振荡器及时钟电路、128BRAM、4KBROM、2个16位定时器/计数器、32条可编程的I/O线和一个可编程的全双工串行接口。
2.2系统定时控制部件设计
定时控制部件是在规定的时刻发出各种操作所需的全部内部和外部控制信号,使个功能元件协调工作,完成指令所规定的内容。
主要任务时产生一个工作时序,其工作需要时钟电路一共一个工作频率。
秒信号经秒、分计数器后分别得到“秒”个位、十位,“分”个位、十位的计时输出信号,然后输出到译码显示电路。
“秒”计数器应为60进制,而“时”计数器可为大于等于40的任意进制。
本系统采用的是内部时钟产生方式,与内部反相器构成稳定的自激振荡器。
其发出的脉冲直接送入片内的定时控制部件。
图2时钟电路
2.3系统的复位电路设计
单片机通常采用上电复位、按钮电平复位、外部脉冲复位、上电加按钮电平复位等方式。
本设计采用按键电平复位方式控制单片机的运行。
图3复位电路
2.4显示系统的设计
为了显示字符,要为LED显示器提供显示段码(或字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共8段,因此提供给LED显示器的显示段码为1的字符。
本设计采用共阴极接法,把所有组成八段数码管的发光二极管的阴极连在一起,通常接地,通过控制每一只发光二极管的阳极电平来使其发光或熄灭,阳极为高电平则发光,阳极为低电平则熄灭。
为了显示字符,要为LED显示器提供显示段码(或字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共8段,因此提供给LED显示器的显示段码为1的字符,各段码的对应关系如图4所示:
图4数码管的引脚结构图
共阴极数码管内部发光二极管的阴极(负极)都联在一起,此数码管阴极(负极)在外部只有一个引脚。
2.5报警电路设计
当比赛结束时,系统执行相应的程序带动蜂鸣器发出响声,实现报警提示功能,以便让赛会组织者做出相应的行为活动,使得比赛有秩序的进行下去。
图5报警电路
三系统软件设计
3.1软件设计总流程图
本设计软件设计部分采用模块化程序设计,程序部分由主程序、延时子程序、T0中断服务程序、按键扫描子程序、数码管显示子程序、定时设置子程序、结束报警显示子程序。
程序的总流程图如图6所示:
图6程序流程图
3.2计时程序设计
主程序采用方式0计时,中断的方式执行。
设定初值开始倒计时,一秒一秒地减少与零进行比较。
看是否为零,不为零则循环执行直到为零后执行相应的操作。
为零后分钟减少1,秒位置重新赋初值,以便重新开始计时。
循环以上才操作直到计时分秒都为零时比赛结束。
3.3加分程序设计
查询方式判断键盘是否按下,有按下则执行相应的处理程序,以便显示可以判断执行按键操作了没,程序见附录。
3.4显示设计
显示部分通过P0口外加上拉电阻进行显示,数码管采用七段共阴极数码管,通过查表指令进行显示,首先将要现实的缓存单元送入累加器中,通过累加器进行查表,将要显示的数值存储起来,然后通过位选型号,将要显示的位数码管代开,进行显示。
并通过延时子程序进行延时,使其显示的数值稳定下来。
然后再通过位选信号,将显示的数值关断,从而显示下一个数值。
但当显示完一圈后程序跳出,等待下一个跳进来的指令,再次进行显示。
3.5报时程序设计
当比赛结束时,系统执行相应的程序带动蜂鸣器发出响声,实现报警提示功能,以便让赛会组织者做出相应的行活动,使得比赛有秩序地进行下去。
3.6主程序流程图
图7主程序流程图
四调试分析及所用器件
4.1调试环境
本设计使用仿真软件Proteus和Keil进行联合调试。
原理图在Proteus提供的模板中选择恰当的元器件进行设计绘图,完成电路的搭建,发现设计中的错误及时改正。
所有c语言源程序都在Keil下编写,对仿真软件进行相应的设置后,Keil和Proteus能进行通信,即在Keil中全速运行程序时,Proteus中的单片机系统也会自动运行。
系统的软件调试借助于TKS仿真器,在进行系统软件的连续调试之前要先进行软件的初调,就是要使各个子程序模块运行正确,程序的运行流程正确。
利用PROTEUS软件仿真,性能稳定,功能齐全,调节灵活,显示范围宽,且方便易行,不需要硬件的支持。
由以上的仿真结果可知,本设计已经圆满完成了设计要求,并且在原要求的基础上扩展了一些使用的功能,例如自动换场地、按键声音、加速调时,采用了倒计时等。
可满足各种规模篮球及其它相关比赛赛程需要。
4.2元件清单
序号
名称
元件编号
参数
数量
1
单片机
AT89C51
2
排阻
RESPACK-8
1
3
LED数码管
7SEG-MPX4-CC7SEG-MPX4-CC
3
4
三极管
NPN
5
蜂鸣器
SPEAKER
6
按钮
BUTTON
10
7
电容
CAP
22pF
2
8
晶振
CRYSTAL
12Mhz
9
电阻
RES
1k
11
10
电解电容
CAP-ELE