篮球比赛计分器.docx
- 文档编号:10906653
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:10
- 大小:263.27KB
篮球比赛计分器.docx
《篮球比赛计分器.docx》由会员分享,可在线阅读,更多相关《篮球比赛计分器.docx(10页珍藏版)》请在冰豆网上搜索。
篮球比赛计分器
课程单片机原理及应用课程设计
题目篮球比赛计分器
一、设计目的:
训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
二、设计要求:
1.应用MCS-51单片机设计一个篮球比赛计分器;
2.能显示2个队的当前比分;根据各自得分情况进行加1,2,3分;
3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;
4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;
5.原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单三、参考资料:
[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;
完成期限2011.3.14—2011.3.18
指导教师
专业负责人
2011年3月13日
一、电路原理
1.电路原理及用途
本课题以增强型单片机AT89C51为核心,设计制作篮球比赛计分器。
针对篮球比赛中有得1、2、3分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器主要通过按键实现以下功能:
能够进行加1、2、3分;能够进行减1分。
并通过3个数码管进行显示。
根据前面的设计的任务的要求,本设计任务主要具有以下几个模块:
单片机模块;按键模块;数码显示模块。
本设计由单片机模块部分植入主程序,通过按键部分进行加1、2、3分以及减1分操作,最终在3个LED数码管上显示结果。
本系统是以C语言作为编辑语言,采用单片机AT89C51作为本设计的核心元件。
利用7段共阳LED作为显示器件。
在此设计中共接入了3个7段共阳LED显示器,分别表示个位,十位,百位用于记录该队的分数,3个LED显示器显示范围可达到0~999分,能够满足篮球比赛的需要。
并设置有4个按键:
K1,K2,K3,K4。
当比赛队得1分时,按下k1键加1分,得2分时按k2键加2分,得3分时按下k3键加3分。
如分数计错需减分时,每按一次k4键减1分。
2.设计框图
二、设计步骤和调试过程
1、总体设计电路
2、模块设计和实验程序
●单片机模块
单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。
AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
本设计P1口接四个开关,分别作为比分+1、+2、+3、-1分的控制按键;P0、P2口和P3口分别按静态接口方法接两个数码管来显示比分。
●按键模块
根据设计要求,该篮球赛计分器共有4个按键:
K1、K2、K3、K4,分别实现的功能是加1、2、3分和减1分。
K1与P1的1脚相连,K2与P1的2脚相连,K3脚与P1的3脚相连,K4键与P1的4脚相连,4个按键共用一个地端,如图所示。
●数码显示模块
本设计显示部分采用的是7段共阳LED数码管显示,LED就是发光二极管,相对LET来说它的优势在于节能环保,保护视力,使用寿命长等优点。
数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,H。
假设要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。
从高往低排列,P1.7-P1.0写成二进制为01111110,把它转化为16进制则为A2H
●试验程序
#include
#defineucharunsignedchar
#defineuintunsignedint初始化
sbitP10=P1^0;按键k1
sbitP11=P1^1;按键k2
sbitP12=P1^2;按键k3
sbitP13=P1^3;按键k4
ucharcodetab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
voidmain()
{
uchark1=0;
while
(1)
{if(P10==0)
{
k1+=1;分数加1
while(P10==0);
}
if(P11==0)
{
k1+=2;分数加2
while(P11==0);
}
if(P12==0)
{
k1+=3;分数加3
while(P12==0);
}
if(P13==0)
{
k1-=1;分数减1
while(P13==0);
}
if(k1>1000)分数大于999,归0
k1=0;
P0=tab[S1/100];百位
P3=tab[S1%100/10];十位
P2=tab[S1%10];个位
}
}
3、仿真及仿真结果分析
本次课程设计用到的仿真软件有Protues和Keiluvision。
在用Protues进行仿真之前,先要用KEILUVISION软件将我们编写好的汇编程序编译。
具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要的目的文件,在之后电路设计好后用于导入AT89C52中执行其功能。
然后在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。
我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pickdevices对话框中进行元器件的选择,元器件都找到后,先进行排版再按照电路图连接,连接好后,双击AT89C52在弹出对话框中选择单片机中要输入的程序,在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1功能。
4、实验调试结果
打开Proteus上的单片机控制步进电机电路图,点击AT89C51单片机,调用后缀名为.”HEX”的文件。
点击运行,观察现象,3个数码管均显示为0。
然后进行了如下操作:
当按下k1键,从左往右(后同)的第3个数码管显示1,再按下k2键,第3个数码管显示3,按下k3键,第3个数码管显示6,再按下k4键,第3个数码管显示5,与设计的要求相符。
三、结论及心得体会
在这次的课程设计中,虽然在理论上对单片机有了简单基本的了解,但是在真正的动手操作中还是存在很多的不足,这些个不足有体现在自己的粗心大意上,更多的是对知识的应用上能力有所欠缺,以至完成这样一个简单的设计花费了不少时间。
但是最终通过自己的努力,查阅资料,询问同学,完成了这次的单片机的设计,在以后的学习中我也会更多的重视自己理论和实践的结合能力,提高自身综合能力。
最后,我还要感谢在此次课程设计中帮助过我的老师和同学。
在他们的鼎力帮助我才能顺利的完成了本次课程设计。
参考资料
[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社
[5]李广第.《微机原理与接口技术》[M].湖南:
湖南湖南大学出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 篮球比赛 计分