-篮球比赛计分器课程审计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北石油大学课程设计任务书

课程单片机原理及应用课程设计

题目篮球比赛计分器

专业班级电信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 月2 日

一、电路原理

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是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(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

#define uchar unsigned char

#define uint unsigned int 初始化

sbit P10=P1^0; 按键k1

sbit P11=P1^1; 按键k2

sbit P12=P1^2; 按键k3

sbit P13=P1^3; 按键k4

uchar code tab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};

void main()

{

uchar k1=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);

}

相关文档
最新文档