




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
篮球计时器篮球计时器 摘摘 要要 随着我国体育事业的发展,篮球运动在我国早已成为广大人民喜爱的运动, 而篮球比赛也成为人们交流和娱乐的一种重要方式。而人们在各种篮球比赛赛 事时越来越多注重公平公开,需要一种用于篮球赛事时的比赛基于单片机控制 的篮球计时器正是一款具有全程计时、加时、暂停计时和记录双方比分等多功 能的篮球计时器。它还具有结构简单,外围电路少,体积小,使用方便、可靠 性高经济等诸多优点。所以它可以用于各种常规和正规的篮球比赛赛事中使用, 可以说适用性广、市场前景广阔。 设计者在熟悉了各种篮球比赛的赛事过程和单片机原理的基础上,使用了 单片机作为计时器的控制部分,通过程序查询外部按键来调用不同的功能程序 实现计时、加时、暂停、刷新比分、交换场地等功能,经单片机处理过的数据 送 8 位共阴数码管显示。此篮球计时器硬件电路主要有外围按键部分、复位电 路、单片机控制部分、比赛结束报警电路和数码管显示电路,软件使用 c 语言 编程。经过 protues 仿真后实现了预想的各种功能。 本设计报告从电路的结构原理及各部分的主要功能、实现的具体方法等方 面对篮球计时器做了详细的介绍,附录部分有系统原理图和 c 语言源程序。 关键字:单片机 数码管 中断 原理 仿真 体会 目目 录录 一一 概述概述1 1.1 设计背景.1 1.2 设计任务和要求.1 1.3 硬件电路框图.2 1.4 软件电路框图.3 二二 系统总体方案及硬件设计系统总体方案及硬件设计4 2.1 at89s52 单片机单片机 4 2.2 数码管显示数码管显示.4 2.3 时钟晶振电路时钟晶振电路.5 2.4 复位电路复位电路.5 2.5 报警电路报警电路.6 2.6 按钮控制部分按钮控制部分.6 三三 软件设计软件设计7 3.1 数码管显示数码管显示7 3.2 消抖与延时函数消抖与延时函数7 33 比赛倒计时时间控制比赛倒计时时间控制7 3.4 两队比分控制及分数交换两队比分控制及分数交换7 3.5 比赛过程控制比赛过程控制8 3.5.1 暂停的实现.8 3.5.2 加时控制.8 3.5.3 暂停时自锁功能.8 四四 软件仿真软件仿真9 五五 课程设计心得体会课程设计心得体会11 参考文献参考文献12 附录附录 1 1 源程序代码源程序代码.13 附附 2 2 系统原理图系统原理图.20 1 一一 概述概述 1.1 设计背景设计背景 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此, 篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由 计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求, 完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视 转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。 由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量 轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点, 使单片机迅速得到了推广应用。篮球计时计分器就是以单片机为核心的计时计 分系统,由计时器,计分器,综合控制器和 24 秒控制器等组成。 1.2 设计任务和要求设计任务和要求 任务: 设计一个用于赛场的篮球计时计分器。 基本要求: 1、能记录整个赛程的比赛时间,并能修改比赛时间。 2、能随时刷新甲、乙两队在整个过程中的比分。 3、中场交换比赛场地时,能交换甲、乙两队比分的位置。 4、比赛结束时,能发出报警声。 扩展部分: 暂停功能、加时控制、暂停时自锁功能 2 1.3 硬件电路框图硬件电路框图 单 片 机 控 制 部 分 功能按键 数码显示 电源 部分 复位电路 晶振电路 比赛结束 报警 图 1.1 硬件设计图 3 1.4 软件电路框图软件电路框图 初始化 检测外 部输入 判定 p1.5 =0 p1.0=0甲加 分 p1.0=1乙加 分 p1.4= 0 调用中断子程序暂 停计时并锁定加分 减分按键 判定 p1.3 =0 p1.2 =0 p1.1 =0 加一分加二分减一分 加时5分钟; 当p1.4=0时减一 分种 定时时 间到 p1.7=1 定时45分 钟,p1.7=0 报警 调用延 时程序 送数码 管显示 交换 比分 位置 比赛到 半场 程序结束 程序倒计 时 图 1.2 软件设计图 4 二二 系统总体方案及硬件设计系统总体方案及硬件设计 2.1 at89s52单片机单片机 at89s52 单片机是一种低功耗高性能的 cmos8 位微控制器,内置 8kb 可在 线编程闪存,片内程序存储器允许重复在线编程。其引脚分布如下图 2.1 所示: xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89s52 r2 10k 图 2.1 单片机管脚图 其 p0、p1、p2、p3 口均都是准双向 i/o 口。作输入时,必须先向相应的端 口的锁存器写“1” ,是下拉场效应管截止,呈高阻态。其中 p0 口的每一位输出 可驱动 8 个 lsttl 负载,但要驱动 nmos 或其它拉电流负载时,引脚要外接上拉 电阻,其余 3 个口可驱动 4 个 lsttl 负载,p3 口可做多功能口使用。此次设计 中 p0 口作为键盘的按键输入口,p0 口作为数码管的数据输出口,p2 口作为数 码管的位选口的控制口。 2.2 数码管显示数码管显示 设计中用到的数码管为:7seg-mpx4-cc 四位共阴极二极管显示器 12345678 是阴极公共端,也是位码,abcdefg dp 是段码。如图 2.2 所示: 图 2.2 四位数码管 单片机驱动 led 数码管按显示方法可分为静态显示和动态显示,这里用的 是动态扫描显示。动态扫描方法是用其接口电路把所有的显示器的 8 个笔划字 段 ah 同名端并连在一起,而每一个显示器的公共极 com 各自独自地接受 i/0 线控制。cpu 向字段输出端口输出字型码时,所有显示器接收到相同的字型码, 但究竟是使用哪个显示器,则取决于 com 端,而这一端是由 i/o 控制的,由单 5 片机程序设定何时显示哪一位。 2.3 时钟晶振电路时钟晶振电路 时钟晶振电路模块为单片机提供特定的时钟周期,以备单片机工作使用。 单片机内部有一个用于构成振荡器的高增益反相放大器的输入与输出端分别是 引脚 xtal1 和 xtal2,在两引脚上外接时钟源即可构成时钟电路。 时钟源的接法有内部和外部时钟产生方式,本设计用的是内部产生方式, 通过电容 c1、c2 微调作用与晶振产生 12mhz 的时钟频率。 其电路图如下图 2.3 所示: xtal2 18 xtal1 19 u1 c1 1nf c2 1nf x1 crystal c3 图 2.3 晶振电路图 2.4 复位电路复位电路 系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻 r1/r2 分别采用 1k、10k 的阻值,电容采用电容值为 10f 的电解电容。具体连接电 路如图 2.4 所示: xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p1.0/t2 1 p1.1/t2ex 2 c3 1nf r1 10k r2 10k 图 2.4 复位电路 6 2.5 报警电路报警电路 电路采用的是峰鸣音报警电路,当暂停或计时时间到时蜂鸣器发出报警音。 在图中,p3.7 接晶体管基极输入端。当 p3.7 输出高电平“1”时,晶体管导通, 压电蜂鸣器两端获得约+5v 电压而鸣叫;当 p3.7 输出低电平“0”时,三极管 截止,蜂鸣器停止发声。电路图如下图 2.5 所示: buz1 buzzer q1 npn 图 2.5 报警电路 2.6 按钮控制部分按钮控制部分 对于比赛中的计时、计分、暂停、比分交换都需要由按钮控制,按钮与单片机的 p1 口连接,p1.0 模式选择键,在系统复位时甲队模式,按下为乙队模式;p1.1 为加一分, p1.2 为加两分,p1.3 为减一分;p1.4 在系统复位后按下时,系统进入暂停模式,此模式下 封锁加减分的按键,并且 p1.5 为减一分钟;p1.5 为加时模式、功能,每次可以加时五分钟; p1.6 为场地交换控制键。如图 2.6 所示: p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 at89c52 图 2.6 按键控制 7 三三 软件设计软件设计 3.1 数码管显示数码管显示 4 位数码管显示比赛的总时间,两队的比分分别显示在 2 个 2 位数码管上。 数码管的位码可表示为:b8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位码组合 低有效 段码为:a10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /段码组合,共阴极 用 p0 口与数码管的段码相连,外接上拉电阻来实现对段码的显示控制,p2 口连接位选用于选择控制哪一位数码管亮。 数码管的显示可编写 display()函数实现。 3.2 消抖与延时函数消抖与延时函数 延时函数主要用于数码管的动态显示及按键消抖。在动态显示时,控制每 位数码管显示的时间间隔;按键控制时,用于消除抖动,判断是否按键真的被 按下。 33 比赛倒计时时间控制比赛倒计时时间控制 采用定时器加中断的方法对比赛时间进行倒计时控制。先选用定时器,设 定总时间后,对其模式进行设定,计数初值进行装载,由于时间较长,需要采 用循环与中断技术来实现 1s 的及整个比赛时间的运行。同时开 cpu、定时器中 断,启动定时器,系统实现循环减 1 的操作。 3.4 两队比分控制及分数交换两队比分控制及分数交换 为了节省占用空间,减少按键,两队的比分更改采用模式切换的方法,本 程序中由 p1.0 来实现两队的比分的加减控制。基于所用的开关为按下立即复位 的形式,在切换模式时需要先对 p1.0 按键的状态进行锁定,因此要在程序中设 定锁定变量(本设计用的是 l) ,控制它的值来保持当前的状态。当 p1.0 状态 变化时,锁定信号的值改变来保持另一状态。 两队比分的控制有加 1 分、加 2 分及减 1 分(当加错分时用来修正比分时 使用)三种形式,分别由 p1.2、p1.3、p1.4 所连接的按钮来实现。其中减分可 手动由原来的比分减到零为止。 两队的比分交换可在中场时手动进行控制,可以通过对调两队的比分设置 变量来在显示器上实现交换比分的目的。本设计用与 p1.6 相连的按钮控制,按 下一次该键,可实现两队比分的交换,再按一次可对比分再次交换。 8 3.5 比赛过程控制比赛过程控制 3.5.1 暂停的实现暂停的实现 比赛过程中,有队请求暂停时,按下 p1.4 连接的按键,设置一变量 j,初 始时 j=0,有键按下时加 1,此时关 cpu 中断,停止计数器计数及时间显示。当 需要继续进行比赛时,再按一下暂停按键, j=2 时开 cpu 中断,允许计数器继 续计数及时间显示,并设置 j=0,使按键处于初始的待命状态,如此循环,即 可实现暂停与正常运行的相互切换。 3.5.2 加时控制加时控制 比赛结束时,比赛时间归零,若两队的比分相同,则进入加时模式设定,重 新对比赛时间进行倒计时设定,按 p1.5 一次可实现加时 5 分钟 。 3.5.3 暂停时自锁功能暂停时自锁功能 当比赛到中场休息时,此时进入暂停模式,但在工作人员不在或监管不严的 情况下,有无意操作或错误的按下按键。在暂停模式下,即 p1.4=0 时,经过和 p1.5 相与的结果来控制加减分功能,而此时无论 p1.5 为 0 或 1,相与的结果总 为 0,所以能实现自锁功能。 9 四四 软件仿真软件仿真 4.1 开始比赛,设定默认四节的总时间 48 分钟,如图 4.1 所示: xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89s52 2 3 4 5 6 7 8 9 1 rp1 respack-8 buz1 buzzer q1 npn c1 1nf c2 1nf x1 crystal c3 1nf r1 10k r2 10k 图 4.1 4.2 上面的液晶显示为计时显示。下面的液晶显示为分数显示“上侧为 a 队 分数,下侧为 b 队。 ”换场后“上侧为 a 队分数,下侧为 b 队” 。如图 4.2 所示: xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89s52 2 3 4 5 6 7 8 9 1 rp1 respack-8 buz1 buzzer q1 npn c1 1nf c2 1nf x1 crystal c3 1nf r1 10k r2 10k 图 4.2 4.3 按下 p1.5 键或一节时间(12 分钟)结束时,蜂鸣器响,暂停比赛(如图 4.3.1 中未时 q1 基极为低电平,比赛正常进行;如图 4.3.2 所示,按一次 q1 基极变为高电平。按 键再次按下时,如此反复) 。 buz1 buzzer q1 npn buz1 buzzer q1 npn 图 4.3.1 图 4.3.2 10 4.4 初始时,分别按下 p1.1、p1.2、p1.3 可实现 a 队比分加 1、加 2.、减 1; 按 p1.0 进行模式切换,实现对 b 队的相同操作。中场比分交换时,按下 p1.7 一次可进行两队比分显示交替一次,如此往复。如图 4.4.1、4.4.2 所示: 图 4.4.1 图 4.4.2 4.6 全场比赛结束时,时间显示为全 0。若两队比分相同,按下 p1.6 键一次, 可加时 5 分钟,进行加时赛,直至倒计时结束,再有两对分数情况确定继 续加时还是比赛结束。如图 4.5.1、4.5.2 所示: 图 4.5.1 图 4.5.2 11 五五 课程设计心得体会课程设计心得体会 本次课程设计与以往有很多不同之处。其中最大的特点是做实物,在此要 求下,老师给我们留了足够的时间来让我们完成这个看似很难的“工程” 。随着 时间一天天的过去,我们慢慢的把程序调好,慢慢的学会了仿真,学会了调试, 慢慢发现对单片机有了更深的了解,慢慢发现其实这个东西也不是传说中的那 么难。 在当设计刚开始的时候,我们两个是一片茫然,不知道从何下手。软件不 会用,程序没写过,现在要突然做这么一个东西,当时的感觉一个字:难!看 到同学都在有条不紊的进行着,特别是参加过比赛的同学,这对他们来说就是 小菜一碟啊!我们当时真的很急啊,我们还要考研,看到自己的研友每天去自 习,当时真是不想弄。但经过我和同组的同学经过深入的讨论与分析还是决定 做,并选择了这个硬件简单软件难度不大的篮球计时器,分配好工作,计划好 时间。工作就这样开始了,我们每天花一点时间,每天解决一个小问题。 通过单片机课程设计,加深了我们对单片机理论的理解,加强了理论联系 实际的能力,而且还培养了我们不畏困难的挑战精神,从而不断地战胜自己, 超越自己,我在这一设计过程中,学会了坚持不懈,不轻言放弃。设计过程, 也好比是我们成长的历程,常有一些不如意,这就像是对我们人生的挑战,勇 敢过,战胜了,胜利的钟声也就一定会为我们而敲响。 这个设计过程中,我们遇到了许多困难,例如在程序的编写过程中常常出 错,经常把共阴级和共阳级程序弄混。最后在我们共同的努力下,经过多次的 尝试我们的程序终于仿真成功。有时候,面对这些困难,真想要就此罢休,但 是经过同伴的鼓励我明白了结果并不是全部,过程也是非常重要的。最终,我 们完成了这个设计,虽然不是很成功,但是我们却学到很多东西,可以说这次 课程设计是我们大学生活不可多得的一次经历。 12 参考文献参考文献 1 余发山 单片机原理及应用技术 徐州:中国矿业大学出版社,2003 年 12 月 2 徐仁贵,廖哲智单片微型计算机应用技术,机械工业出版社 3 河南理工大学电气学院.单片机实验报告指导册,2009 13 附录附录1 1 源程序代码源程序代码 #include #define uint unsigned int #define uchar unsigned char uchar code a10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /段码组合,共阴极 uchar code b8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位码组合,低有 效 /* sbit p1_0=p10; sbit p1_1=p11; sbit p1_2=p12; sbit p1_3=p13; sbit p1_4=p14; sbit p1_5=p15; sbit p1_6=p16; sbit p3_7=p37; uchar min=48,secd=0,k,cnt=0; /*cnt 是定时用 uchar j=0,l=0,hd=0,ld=0,m=0,n=0; /*hd 表示红队得分,ld 蓝队得分,l 是封锁信号 * delay(uchar t); /*中断程序* void inrupt(void) tmod=0x01; th0=0x3c; tl0=0xb0; et0=1; tr0=1; ea=1; p3_7=0; 14 15 /*中断处理程序* void time1(void) interrupt 1 th0=0x3c; tl0=0xb0; cnt+; if (cnt=20) cnt=0; if (secd=0) if (min=0) min=0; secd=0; p3_7=1; ea=0; tr0=0; else secd=59; min-; else secd-; delay(uchar t) /*延时 0.1*t 毫秒* uchar i; do for (i=0;i23;i+) ; while(t-); 16 void key() /*功能程序* if (p1_0=0) /*moshi* delay(2); if(p1_0=0) while(p1_0=0); n+; if(n=2) n=0; if (n=0 if (p1_1=0) while(p1_1=0); hd+=1; if (p1_2=0) /*加两分* delay(2); if(p1_2=0) while(p1_2=0); hd+=2; if (p1_3=0 ) /*减一分* delay(2); if (p1_3=0) while (p1_3=0); if (hd=0) hd=0; else hd-; /*红队模式结束* 17 if(n=1 if (p1_1=0) while (p1_1=0); ld+=1; if (p1_2=0) /*加两分* delay(2); if (p1_2=0) while(p1_2=0); ld+=2; if (p1_3=0) /*减一分* delay(2); if (p1_3=0) while(p1_3=0); if (ld=0) ld=0; else ld-; /* 蓝队模式结束* /*加分程序结束* 18 if(p1_4=0) /*暂停* delay(2); if(p1_4=0) while(p1_4=0); j+; if (j=1) p3_7=1; ea=0; tr0=0; l=1; else if (j=2) p3_7=0; ea=1; tr0=1; j=0; l=0; if (p1_5=0 if (p1_5=0) while (p1_5=0); min+=5; if (p1_5=0 if (p1_5=0) while (p1_5=0); min-=1; 19 if (p1_6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西玉林公考试题及答案
- 绥化中考结业考试试卷及答案
- 重庆农教考试真题及答案
- 会计大专自考试卷及答案
- 卫生监督考试试题及答案
- 急性播散性脑炎课件
- 浙江足球统考试卷及答案
- 2025年国际贸易实务操作经验与面试模拟题集
- 2025年侨务办公室招聘考试高频考点回顾
- 2025年全国政协机关面试指南热点问题和答案解析
- 体育心理学(第三版)课件第三章运动兴趣和动机
- Unit1Developingideaslittlewhitelies课件-高中英语外研版必修第三册
- 培训反馈意见表
- 四年级上册心理健康教育课件-健康的情绪表达 全国通用(共16张PPT)
- 商业银行资产管理与负债管理
- 电力系统分析孙淑琴案例吉玲power程序实验指导书
- 集成电路版图设计(适合微电子专业)
- 高标准农田建设项目施工组织设计 (5)
- 发动机装调工技师考试资料
- 轻型动力触探试验记录表
- ASME_B36.10M美标钢管外径壁厚对照表
评论
0/150
提交评论