- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
章: STYLEREF 1 错误!文档中没有指定样式的文字。
PAGE 1
篮球计时计分系统
设计报告
电信131 魏荣根
电信132 李卓壮 郑浩
PAGE
PAGE 15
PAGE 19
目 录
系统设计要求及设计思路
硬件电路设计
2.1主控电路
2.2按键控制模块
2.3显示模块
2.4定时报警模块
软件开发流程及代码分析
实验总结
引 言
?篮球计时计分器硬件电路设计
?篮球计时计分器软件设计
篮球计时计分器系统以AT89C51单片机为核心,系统显示部分包括
计时显示和计分显示两部 分,均采用共阳极LED动态扫描方式显
示。系统采用单片机定时器TO中断计时,计时范围宽,可 进行定
时设定,也可以调整小时、分钟、秒等值;计分部分调整灵活,显
示范围宽,足以满足各种 规糢赛程需要。
1. 系统设计要求及设计思路
系统设计要求
为实现篮球计时计分器系统的设计,本系统应该满足以下几点要求:
?能设置整个赛程的比赛时间,在比赛过程中能根据需要暂停和开始计时。
?能根据比赛情况刷新比赛双方的比分。
?中场交换比赛场地时,能交换甲、乙两队比分的位置。
?比赛结束时,能发出报警声。
系统设计思路
根据设计任务与要求,设计思路如下:
系统主要功能包括记分和计时两部分,能实现两队比分的加分、减分、汁时以及其他多种显 示效果;系统控制模块有:2位动态显示记分模块、4位动态显示计时模块、两队加分减分模块、 按键查询模块、分秒控制模块等。
具体实现过程:釆用7段LED数码管动态显示整个赛程的比赛时间和两队的比分情况。通过 4个按键和外部中断0实现输入功能,用于赛前时间调整、比赛过程比分纪录、时间启停以及比 赛结束以后的声音报警等功能。
2.硬件电路设计
根据设计要求与设计思路,确定该系统的设计方案,图6-1为该系统设计方案的硬件电路设 计框图。硬件电路主要由4部分组成:主控电路、按键控制电路、显示模块和定时报警模块。下
面对其进行一一介绍。
2.1主控电路
系统的主控电路即为单片机最小系统,前丨M几章已经介绍过,其电气原理图如图6-2所示, 这串.不再赘述。
2.2按键控制模块
系统共涉及9个按键,采用查询方式进行键盘扫描,具体电气原理图如图所示 :
2.3显示模块
系统采用共阳极数码管显示,前面也已作详细介绍,在此不再赘述。本系统显示分为三部分 时间计时显示、A队分数显示以及B队分数显示。
显示模块如图所示:
2.4定时报警模块
定时报警模块采用蜂鸣器声音报警。比赛结束后,P3.7输出一 低电平,此时,发射结正向偏置且集电结反向偏置,满足三极管放 大的外部条件,使信号放大从而驱动扬声器产生报警。电气原理图 如图6-5所示。
3.软件开发流程及代码分析
本系统软件部分主要包含定时中断函数、延时函数、显示函数、蜂鸣器启动函数、外部中断 o函数、按键函数等。下面一一进行介绍。
1..软件开发流程
篮球比赛中,得分可分为1分、2分、3分三种情况,系统在这设置加1分功能和加2分功能, 得2分可按一下加2分功能键,得3分可先后按一下加2分功能键和加1分功能键。主函数中调 用显示函数,可显示时间、比分。中断函数及按键扫描函数配合实现篮球比分和时间显示及修改 功能。其中,用1片4位数码管显示时间,2片2位数码管显示比分,均采用动态扫描方式显示; 时间启停、分数累加,均通过接入键盘电路实现。
.代码分析
(1)函数声明及变景定义
为方便程序的编写,把部分常用的变量进行伪定义。
#includereg52.h
#include intrins.h
#define uint unsigned int #define uchar unsigned char
uchar code table[]= {0x3 f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar disbuffer[8]={0};
uchar minute=0,second=0; //定义全局变量
uchar Ascore=03score=0,temp=0; //
uchar flagel=0; //定义标志位
uchar flage=0; //
uint county,z; //
sbit bizz=P3A7; //蜂鸣器
sbit add1= PlA0; //加一分
sbit add2=PlAl;
文档评论(0)