学号:201025090229 中州大学毕业设计设计题目:基于单片机的篮球计分器的设计学院:工程技术学院专业:机电一体化对口班级二班姓名:周康指导教师:沈娣丽日期:2013 年4 月22 日诚信声明本人郑重声明:所提交的毕业设计(论文)是本人在指导教师的指导下,独立工作所取得的成果并撰写完成的,郑重确认没有剽窃、抄袭等违反学术道德、学术规范的侵权行为。
文中除已经标注引用的内容外,不包含其他人或集体已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中作了明确的说明并表示了谢意。
本人完全意识到本声明的法律后果由本人承担。
毕业设计(论文)作者签名:指导导师签名:签字日期:签字日期:毕业设计任务书班级:学生:学号设计题目:设计内容及要求:1)设计一款显示篮球比分的记分牌;2)通过加分按钮可以给A队,或B队加分;3)设计对调功能,更换场地后,AB队分数互换;4)计时:能实现0~99分和0~59秒任意调整,具有启动、暂停、复位功能;5)秒计时:能实现0~99秒任意调整,具有启动、暂停、复位功能;6)增加局数比分功能;7)增加比赛时间倒计时功能;8)报警:0~99秒违例自动声、光报警:0~99分终场自动声响;9)可实现A、B两队暂停次数和犯规的显示和任意加减;指导老师(签字):年月日摘要:本设计是采用单片机AT89C51作为本设计的核心元件。
利用7段共阴LED作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED 显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用倒计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
当比赛队A队得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B队的得分。
采用单片机控制使这个系统按键操作使用简洁,LED显示,安装方便。
解决了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。
关键词:单片机篮球计分器数码管序言51系列单片机有许多制造商,而国产宏晶科技的STC系列单片机使用更为方便,可有效减少外隔器件的数量,并支持ISP功能,可通过串口下载用户应用程序,数秒就可完成一片。
数码管和键盘驱动电路可以使用逻辑电路搭建,但这种方法用到的器件多,造成接口的浪费,使电路的抗干扰能力弱,不便于使用。
南京沁恒公司的数码管、键盘驱动芯片AT89C5I有效地解决了这个问题,既减少了器件数目,又提供了相应电路的许多常用功能,便于编程实现。
通过采用以上两种芯片,大大简化r没汁,既方便了后续程序的程序开发,也很好地控制了成本目录一. 设计的基本步骤及方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.AT89C51简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.数码管显示原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 3.总体方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8二. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91. 硬件原理电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10三. 软件设计思想及流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 .主流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.记分流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.时间中断流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134.源程序代码见附录一. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 四.硬软件的调试过程及调试方法. . . . . . . . . . . . . . . . . . . . . . . . . . . ..16 五.课程设计心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18附录一源程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19六.参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29一.设计的基本步骤及方案1.AT89C51简介单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路。
其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。
如果说C语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。
2.数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,H。
图1 数码管内部结构图假设我们要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H 不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。
从高往低排列, P1.7-P1.0写成二进制为01011011,把他转化为16进制则为5BH。
我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。
数码管的接口有静态接口和动态接口两种。
静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接GND,本次课程设计由于所需数码管不多,故可用些种方法接线。
这种接法占用接口多,仅能接少量数码管。
动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。
多位一体的数码管原理和单个的差不多。
表2 共阴极数码管显示3.总体方案:基于单片机系统的篮球赛计时计分器的系统构成图如下图所示:图3 系统结构图本系统采用单片机AT89C51作为AT89C51本设计的核心元件。
利用7段共阴LED作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用到计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能。
二. 硬件电路设计及描述1.硬件原理电路系统硬件图如下图4所示:记分图如下图5所示:计时图如下图6所示:2.硬件电路设计及描述硬件部分的设计是整个设计中的一个重要部分。
在进行硬件部分设计时,首先要确定元器件,并且知道这些器件的工作原理和功能。
然后才可以进行设计。
本设计的硬件电路包括两部分:计时电路、计分电路。
硬件电部分的设计除了硬件电路的设计,还包括PCB板的绘制。
图7 AT89C51引脚图三. 软件思想及流程1.主流程图8:2. 记分流程图9:比分显示程序:DISPF:MOV R0,#34HMOV R3,#7FHMOV A,R3 PLAYF:MOV P2,AMOV A,@R0MOV DPTR,#DSEG1MOVC A,@A+DPTRMOV P0,ALCALL DL1MOV P2,#0FFHMOV A,R3RR AJNB ACC.3,LD1INC R0MOV R3,ALJMP PLAYFAJMP LD1键盘扫描子程序3. 时间中断流程图10时间中断程序:TIME: PUSH ACCPUSH PSWMOV TH0,#0D8HMOV TL0,#0F0HDJNZ R2,RET0MOV R2,#64HMOV A,20HCLR CDEC AMOV 20H,AMOV A,21HCJNE A,#00H,PFF ;;;;;;;;;非0分跳转;;;;;;;;;;;;;;;;;MOV A,20HCJNE A,#00H,PFF ;;;;;;;;;非0分0秒情况跳转;;;;;;;;;;CLR TR0 ;;;;;;;;;比赛结束停止计时;;;;;;;;;;MOV 20H,#00HMOV 21H,#00HMOV 32H,#00HMOV 33H,#00HLCALL MINGYINMOV 21H,26HMOV 30H,#00HMOV 31H,#00HMOV 32H,24HMOV 33H,25HLJMP RET0PFF: MOV A,20HCJNE A,#0FFH,OUTMOV 20H,#59 ;MOV 30H,#09HMOV 31H,#05HMOV A,21HDEC AMOV 21H,AOUT: MOV A,20HMOV B,#0AHDIV ABMOV 30H,BMOV 31H,AMOV A,21HMOV B,#0AHDIV ABMOV 32H,BMOV 33H,ARET0: POP PSWPOP ACCRETIYANSHI:PUSH ACC ;定时器1中断PUSH PSWMOV TH1,#0D8HMOV TL1,#0F0HDJNZ R2,RET1MOV R2,#64HDJNZ 39H,RET1MOV 39H,#03H ;TIAN HEIHEI MOV R2,#64HCLR TR1CLR P3.6RET1: POP PSWPOP ACCRETI时间显示程序:DISPT: MOV R0,#30HMOV R3,#0F7HMOV A,R3PLAYT:MOV P2,AMOV A,@R0MOV DPTR,#DSEG1MOVC A,@A+DPTRMOV P0,ALCALL DL1MOV P2,#0FFHMOV A,R3RR AJNB ACC.7,LD1INC R0MOV R3,ALJMP PLAYTLD1: RET时间中断程序流4. 源程序代码见附录一四.硬软件的调试过程及调试方法1.进入比赛,先设置时间为一节或者半场。