网站大量收购独家精品文档,联系QQ:2885784924

篮球计分器.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
苏州高等职业技术学校 毕业设计 题 目:篮球计分器 专 业:电子信息工程技术 姓 名:项哲 叶旺盛 汤琛 张琪 郁鑫欣 指导老师:茅海峰 完成日期:2012年5月 目录 一、前言························(3) 二、设计任务与要求·············(4) 三、总体方案 ··················(5) 四、单元模块设计···············(7) 五、程序·······················(9) 六、操作说明··················(13) 七、设计总结方案比较单片机的选型 方案一:51单片机虽然51单片机是8位的,采用总线结构,但具有编程控制简便、接口简单、工作可靠,价格经济,能耗少,容易实现系统小型化。方案二: 61单片机 61单片机是在51的基础上扩展起来的,虽然比51多了看门狗,并且是非总线结构,它是16位的,支持16位硬件乘法,还有专门的乘加指令,现在应用非常广泛,但61单片机价格较贵,要继续扩展,比较不方便。因此本系统采用51单片机来实现。设计思路根据设计,设计思路如下:系统采用51单片机软件方法来实现设计出篮球记分,能实现两队比分的加分、减分(防误操作)、计时和各种显示效果;其控制系统的模块有:位动态显示记分模块、位动态显示计时模块、两队加分减分模块、按键查询模块、分秒控制系统;计分统采用了指令冗余和按键延时去抖等抗干扰措施。(1)分数显示用个数码管,用来动态扫描方式显示。分数由P0口扫描。(2)分数的累加,通过接入键盘电路实现。系统共涉及个按键,分别定义为: ?键功能:1队加分键2队加分键即分数加1键;1队加分键2队加分键即分数加1键;3、硬件电路的设计? 根据设计要求与设计思路,确定该系统的设计方案,图1为该系统设计方案的硬件电路设计框图。硬件电路由7部分组成:即按键输入电路、单片机、复位电路、LED数码管段驱动电路和LED数码管位驱动电路,LED显示器。四、单元模块设计 1、设计特点设计特点是采用模块化的设计。其优点是:每个模块的程序结构简单,任务明确,易于编写,调试和修改。程序可读性好,对程序的修改可局部进行,其他部分可保持不变。这里所设计的篮球比赛系统,也可以加以修改,用于其他比赛系统或其他用倒计时的系统中根据模块的划分原则,将模块程序划分成几个模块如图所示 2、软件设计 3、设计结果设计的篮球比赛计时记分系统。按照设计要求实现了节以及两队的记分功能#include reg51.h typedef unsigned char UINT8; typedef unsigned int UINT16; typedef unsigned long int UINT32; 全局声明 ----------------------------------*/ code UINT8 SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; code UINT8 SELECT_Score[6]={0x7f,0xbf,0xdf,0xfb,0xfd,0xfe}; code UINT8 SELECT_12munite[4]={0x7f,0xbf,0xdf,0xef}; code UINT8 SELECT_24sec[3]={0xfb,0xfd,0xfe}; #define S1 0x0e #define S2 0x0d #define S3 0x0b #define S4 0x0f UINT16 ScoreA,ScoreB; UINT16 sec=240,munite=7200; sbit BELL=P3^5; 延时函数 ----------------------------------*/ void Delay(UINT16 t) { UINT16 i,j; for(i=0;it;i++) for(j=0;j113;j++); } 键盘扫描 ---------------------------------*/ 计分显示函数 -----------------------------------*/ void Display_Score(UINT8 ScoreA,UINT8 ScoreB) { static UINT8 count=0; P2=0xff; switch(count) { case 0: P0=SEGMENT[ScoreA/100]; break; case 1: P0=SEGMENT[ScoreA%100/10]; break; case 2: P0=SEGMENT[

文档评论(0)

2749166188 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档