-篮球比赛计分器课程审计_第1页
-篮球比赛计分器课程审计_第2页
-篮球比赛计分器课程审计_第3页
-篮球比赛计分器课程审计_第4页
-篮球比赛计分器课程审计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1东北石油大学课程设计任务书课程单片机原理及应用课程设计题目篮球比赛计分器专业班级电信087姓名周东升学号080901140722一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。二、设计要求:1.应用MCS-51单片机设计一个篮球比赛计分器;2.能显示2个队的当前比分;根据各自得分情况进行加1,2,3分;3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5.原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单三、参考资料:[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;[2]单片机原理及应用,张毅刚编著,高等教育出版社;[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;完成期限2012.3.5—2012.3.9指导教师专业负责人2012年3月一、电路原理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<reg52.h>#defineucharunsignedchar#defineuintunsignedint初始化sbitP10=P1^0;按键k1sbitP11=P1^1;按键k2sbitP12=P1^2;按键k3sbitP13=P1^3;按键k4ucharcodetab[]={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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论