基于单片机的篮球计分器.docx
- 文档编号:11070122
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:31
- 大小:22.13KB
基于单片机的篮球计分器.docx
《基于单片机的篮球计分器.docx》由会员分享,可在线阅读,更多相关《基于单片机的篮球计分器.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的篮球计分器
课程设计(论文)
题
目名称
基于单片机的篮球计分器
课
程名称
单片机原理与应用
学
生姓名
彭金科
学
号
0941301388
系、专业
信息工程系
指导教师
周晓燕
年月日
第一章
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.⋯⋯⋯1
系功能⋯....................................................................................................................
1
运用的知点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
1
第二章
系原理的⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯..⋯⋯⋯.⋯⋯⋯..⋯⋯⋯.⋯⋯..2
的技与量化要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
2
系的成框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
2
第三章
硬件局部的⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
..3
片机接口路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
数示路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
4
第四章件局部的⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
..7
4.1按模⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
..7
理的流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.⋯⋯⋯7
源代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯8
4.2示模⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
..9
介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.9
示的流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.9
源代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.........
9
4.3成整模⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.10
介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
10
成整流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
11
源代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
12
4.4延模⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.13
介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
14
延的流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
14
延的源代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
14
附一原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
...15
附二仿真⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
...16
附三源程序⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
...17
参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.23
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
.23
第一章绪论
1.1系统功能
随着科技的迅猛开展,单片机在计算机应用领域中起到了越来越重要的作用.单片机体积小,功能强,集成了微型机的各部件,大大缩短了系统内信号传送的距离,从而提高了系统的可靠性及运行速度。
该系统主要是线以下两种功能:
①计分:
能同时显示甲、乙两队比分,最大计分数为99。
能分别对甲、乙两队比分进
行加分。
②计时:
从比赛开始时启动计时工作方式,初始时间为00,最大计时为99分钟,经过
修改后应该还能实施计时暂停,还能设定为倒计时。
③交换比分:
中场交换比赛场地时,能交换甲、乙两队比分的位置。
④哨音提示:
设定的比赛时间到了,能自动哨音提示比赛结束.
课题运用的知识点
本课题主要运用单片机设计知识设计篮球赛记时计分器,因此涉及到的知识点主要有以下几点:
〔1〕AT89C51单片机的运用
〔2〕LED数码管的运用
〔3〕人机接口
1
第二章系统原理的设计
2.1课题的技术和量化要求
2.能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。
3.能随时刷新甲、乙两队在整个赛程中的比分。
4.中场交换比赛场地时,能交换甲、乙两队比分的位置。
5.比赛时间结束时,能发出报警指令;
系统的组成框图
为了实现原理图的设计目标,同时结合自己获取的各种资料以及要到达的具体
功能,所确定的组成框图见图3.1.1。
一、组成框图的组成说明
按
钮
单片
机芯
时间显示
比分显示
片
图2.1.1:
系统原理框图
二、组成框图的组成及其功能说明
1、LED能够显示比赛成绩和比赛时间,并且能够显示调整后的比赛成绩和时间
2、控制按钮由两队的加分按钮组成、以中场中止按钮组成。
3、暂停比赛时间
2
第三章硬件局部的设计
单片机接口电路
图
单片机接口电路见图3.1.1,其电路分析如下:
1〕复位电路
复位是指单片机的CPU或系统中其它的部件处于某一确定的初试状态,并从这一状态开始工作。
除了进入系统的正常初始化之外,当由于程序运行出错或是操作错误使系统处于锁死状态,为摆脱困境,需要进行按键复位。
通常单片机的复位操作有上电复位、信号复位、运行监视复位,运行监视复位有程序运行监视和电源监视。
上电复位上电复位是指单片机上电是的复位操作,保证单片机上电后立即进入规定的复位状态。
3
信号复位信号复位是指单片机在正常供电的情况下,在复位引脚端加以复
位信号。
根据不同情况有按键操作复位、唤醒复位、控制复位等。
系统运行监视复位系统运行监视复位是指系统出现非正常情况下时的复位
操作,通常有电源监视复位和程序监视复位。
电源监视复位是指在电源下降到一定电平
状态或未到达额定电平要求时的系统复位;程序运行监视复位是指程序运行时常时的系
统复位。
在本设计中,那么是采用上电复位,复位电路见图2,原理是当电源接通后,上电瞬间RESET引脚获取高电平,该高电平需要电容充电来维持,当高电平维持在两个机
械周期以上那么单片机能被复位。
一般为了能够可靠复位,复位时间一般在10ms以上,对于振荡频率为12MHZ的复位电路,典型RC系数为:
C3=10uF,R29=8.2千欧。
2)晶体振荡电路
晶体振荡电路用于产生单片机工作时所需的时钟信号,从而保证各局部工作的
同步。
单片机内部有一个高增益反相反大器,只要在输入端XTAL1与输出XTAL2之间挂一个晶体振荡器和微调电容就可以构成一个稳定的自激震荡器并在单片机内部产生的
时钟脉冲信号。
振荡电路见图3,电容器C1与C2用于稳定频率和快速起振,电容一般
在5PF—30PF,本设计电容为30PF。
3〕键盘接口电路
与通用单片机相比,单片机应用系统中的键盘种类很多,键盘中按键数量设置依系统操作要求而定。
单片机应用系统中的键盘有独立式和行列式两种。
〔1〕独立式键盘
独立式键盘中,每个按键占用一个I/O口线,每个按键相对独立。
I/O口通过按键
与地相连,无按键按下时,引脚端为高电平,有按键按下时,引脚为低电平,I/O口内部有上拉电阻外部不可接上拉电阻。
(2〕行列式键盘
用I/O口线组成行列结构,按键设置在交叉点上,在按键数目较多时运用这种连接
方式,可节省I/O口连线。
行列式键盘的标识最常用的两种方法:
行扫描法和线反转法。
本次设计中由于按键较少,采用三按键独立式键盘即可满足需要
见图(3.1.2)。
4
图
数码显示电路
LED显示器通常所说的LED显示器由七个发光二极管组成,因此也称作七段LED
显示器,通过七段发光二极管的不同组合,可以显示多种数字、字母或其它符号。
图
1)LED的接法
共阴极接法是指把发光二极管的阴极连接在一起构成公共阴极,使用时公共阴极接
地,阳极输入高电平段的二极管那么会导通发光,而输入低电平的那么不会亮。
5
2)显示方式
动态显示是指依次轮流点亮显示器的各个位,每隔一段时间那么点亮一次,设置足
够短的时间,利用人的视觉暂停效应和发光二极管的熄灭时的余辉,到达多个字符同时
显示的效果。
运行这种显示方式可以降低本钱与功耗,但需要较大的驱动电流。
本设计中采用的共阴极连接方式,由于没有有足够的I/O口可以使用采用动态示
方式,显示电路见图3.1.3。
此外P0需外加上拉电阻(图3.1.4)。
图
6
第四章软件局部设计
4.1按键模块
键盘处理的流程图
N
有键按下
Y
延时
N
真的有键按下
Y
按键处理
等待按键释
图
7
源代码
voidkey_sc()//键盘扫描模块
{
ucharkey_bt,i;
while
(1)
{
P1=0xff;
delay_t(80);
key_bt=P1;
switch(key_bt)
{
case0xfe:
//初始化,显示0;
for(i=0;i<9;i++)
{
//display_buf[i]=0;
display_rt(display_buf);
}
break;
case0xfd:
//A队
modify_sc();
break;
case0xfb:
//B队
modify_sc();
break;
case0xf7:
//时间
modify_st();
break;
}
}
}
8
4.2显示模块
4.2.1简介
显示局部通过P0口外加上拉电阻进行显示,数码管采用7段共阴极数码管,通过查表指令进行显示,首先将要显示的缓存单元,送入累加器中,通过累加器进行查表,将要显示的数值存储起来,然后通过位选信号,将要显示的位的数码管翻开,进行现实。
并通过延时子程序进行延时,使其显示的数值稳定下来。
然后再通过位选信号,将显示的数值关断,从而显示下一个数值。
但当显示完一圈后程序跳出,等待数据的传输,再次进行显示。
考虑到显示的数据比拟多有10个数据,而且需要相当多的位选线。
所以把整个显示缓看做一个整体。
低6位传输的是比赛数据,高4位传输得是比赛时间。
4.2.2.显示的流程图
P2、P3初始化
P0=show[dis_code[i]]
YN
~bit_dis
P3=
P2=~bit_dis
p3
p2
显
显
P3>>1
延延
4.2.3.源代码
9
voiddisplay_rt(uchardis_code[])//显示任务
{
charbit_disp2,bit_disp3,i;
bit_disp3=0x20;
bit_disp2=0x08;
for(i=0;i<=9;i++)
{
P2=0xff;
P3=0xff;
P0=show_t[dis_code[i]];
if(i<6)
{
bit_disp2=0x08;
P3=~bit_disp3;
P2=0xff;
bit_disp3=bit_disp3>>1;
}
else
{
bit_disp3=0x20;
P2=~bit_disp2;
P3=0xff;
bit_disp2=bit_disp2>>1;
}
delay_t
(1);
}
}
4.3成绩调整模块
简介
10
成绩调整模块用用于记录两队比赛成绩,显示Led中前3位用于记录A队比赛成
绩,后三位用于记录B队的比赛成绩。
成绩的记录范围从000~999其中。
成绩调整流程图
获取键盘K2
和K3信息
P1==0xfd?
uS_a=0
dS_a=0
A队
P1==0xfd
uS_a
N
Y
dS_a++
N
Y
hS_a+
N
显示
B队
P1==0xfb
uS
Y
Y
uS_b=0
延时等待再次获取P1的键盘
11
源代码
voidmodify_sc()//调整比赛结果
{
while
(1)
{
display_rt(display_buf);
while(P1==0xfd)//A队
{
uS_a++;
if(uS_a>9)
{
dS_a++;
uS_a=0;
}
if(dS_a>9)
{
dS_a=0;
hS_a++;
}
if(hS_a>9)
{
uS_a=0;
dS_a=0;
hS_a=0;
}
display_buf[3]=uS_a;
display_buf[4]=dS_a;
display_buf[5]=hS_a;
display_rt(display_buf);
delay_t(60);
12
}
while(P1==0xfb)//B队
{
uS_b++;
if(uS_b>9)
{
uS_b=0;
dS_b++;
}
if(dS_b>9)
{
dS_b=0;
hS_b++;
}
if(hS_b>9)
{
uS_b=0;
dS_b=0;
hS_b=0;
}
display_buf[0]=uS_b;
display_buf[1]=dS_b;
display_buf[2]=hS_b;
display_rt(display_buf);
delay_t(60);
}
}
}
4.4延时模块
13
简介
程序主要采用双循环结构。
延时的流程图
关于延时的流程图
t=?
t--
退
N
t
tt
N
延时的源代码
voiddelay_t(intt)//延时
{
inttt;
while(t--)
{
tt=300;
while(tt--);
}
}
14
附录一原理图
15
16
附录二仿真
17
18
附录三源程序设计
#include
#defineucharunsignedchar
#defineuint8unsignedint
ucharcode
show_t[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//0123456789
staticuchardisplay_buf[10];
//定义显示缓冲
charxSc[3],ySc[3];//保存两队的比赛结果
chartSc[4];//保存比赛时间
ucharuS_a=0,dS_a=0,hS_a=0,uS_b=0,dS_b,hS_b=0;//分别定义A和B队比赛成绩的个位、十位、百位
ucharsuT=0,sdT=0,muT=0,mdT=0;//分别定义比赛时间的秒、
分个位及其十位
sbitfm_bt=P2^7;//蜂鸣状态位
voiddelay_t(intt)//延时
{
inttt;
while(t--)
{
tt=300;
while(tt--);
}
}
voiddisplay_rt(uchardis_code[])//显示任务
{
charbit_disp2,bit_disp3,i;
19
bit_disp3=0x20;
bit_disp2=0x08;
for(i=0;i<=9;i++)
{
P2=0xff;
P3=0xff;
P0=show_t[dis_code[i]];
if(i<6)
{
bit_disp2=0x08;
P3=~bit_disp3;
P2=0xff;
bit_disp3=bit_disp3>>1;
}
else
{
bit_disp3=0x20;
P2=~bit_disp2;
P3=0xff;
bit_disp2=bit_disp2>>1;
}
delay_t
(1);
}
}
voidalarm_spk()//攻击时间倒计时,喇叭在最后5秒钟发出
滴答滴答的警报声
{
uint8vTmp;
for(vTmp=0;vTmp<5000;vTmp++)
{
fm_bt=~fm_bt;
delay_t(150);
20
}
}
voidmodify_sc()//调整比赛结果
{
while
(1)
{
display_rt(display_buf);
while(P1==0xfd)//A队
{
uS_a++;
if(uS_a>9)
{
dS_a++;
uS_a=0;
}
if(dS_a>9)
{
dS_a=0;
hS_a++;
}
if(hS_a>9)
{
uS_a=0;
dS_a=0;
hS_a=0;
}
display_buf[3]=uS_a;
display_buf[4]=dS_a;
display_buf[5]=hS_a;
display_rt(display_buf);
delay_t(60);
21
}
while(P1==0xfb)//B队
{
uS_b++;
if(uS_b>9)
{
uS_b=0;
dS_b++;
}
if(dS_b>9)
{
dS_b=0;
hS_b++;
}
if(hS_b>9)
{
uS_b=0;
dS_b=0;
hS_b=0;
}
display_buf[0]=uS_b;
display_buf[1]=dS_b;
display_buf[2]=hS_b;
display_rt(display_buf);
delay_t(60);
}
}
}
voidmodify_st()//调整比赛时间
{
22
uchari=0;
while(i<3600)
{
suT++;
delay_t
(1);
if(suT>9)
{
suT=0;
sdT++;
}
if(sdT>5)
{
sdT=0;
muT++;
}
if(muT>9)
{
muT=0;
mdT++;
}
if(mdT>9)
{
suT=0;
sdT=0;
muT=0;
mdT=0;
}
display_buf[6]=suT;
display_buf[7]=sdT;
display_buf[8]=muT;
23
display_buf[9]=mdT;
display_rt(display_buf);
i++;
delay_t(5);
}
}
voidkey_sc()//键盘扫描模块
{
ucharkey_bt,i;
while
(1)
{
P1=0xff;
delay_t(80);
key_bt=P1;
switch(key_bt)
{
case0xfe:
//初始化,显示0;
for(i=0;i<9;i++)
{
//display_buf[i]=0;
display_rt(display_buf);
}
break;
case0xfd:
//A队
modify_sc();
break;
case0xfb:
//B队
modify_sc();
break;
//时间
case0xf7:
24
modify_st();
break;
}
}
}
voidmain(void)
{
key_sc();
//display_rt(d);
//alarm_pk();
}
参考文献
[1]汪德彪主编MCS-51单片机原理及接口技术北京:
电子工业出版社
[2]张大明主编单片机控制实训指导及综合应用实例北京:
机械工业出版
[3]吴金戌,沈庆阳.8051单片机实践与应用[M].北京:
清华大学出版社,2003:
35-52
[4]李广弟.单片机根底[M].北京:
北京航空航天大学出版社,1994:
20-28
[5]孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用〔修订版〕.北京:
北京航空航天大学出版社,1996:
76-83
[6]李勋,林广艳.单片微型计算机大学读本[M].北京:
北京航空航天大学出版社,1998:
86-90
[7]陈建铎,宋彩利,康磊,冷冬梅?
单片机原理与应用?
科学出版社出版
[8]陈明计,周立功等编著嵌入式实时操作系统SmallRTOS51原理及其应用北京:
北京航空航天大学出版社,
总结
这是我第一次正式的设计单片机课程实验设计,虽然过程比拟的辛苦,但终究完成了最后的设计,有很多的感触。
25
实验做完了,这是汗水了智慧的结晶。
同时也是老师细心教导与关心的产物,是老师的教育才得以让我能顺利的完成此次的课程设计。
通过这次的课题,让我能够更加深刻的理解本门课的知识,同时也让我对本门课程产生了更大的兴趣。
我希望能够通过自己的努力能够将本课程更加牢固的掌握,最后再一次感谢帮助过自己的老师与同学,谢谢。
26
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 篮球 计分