单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx

上传人:b****1 文档编号:3191850 上传时间:2023-05-01 格式:DOCX 页数:22 大小:1.75MB
下载 相关 举报
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第1页
第1页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第2页
第2页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第3页
第3页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第4页
第4页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第5页
第5页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第6页
第6页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第7页
第7页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第8页
第8页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第9页
第9页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第10页
第10页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第11页
第11页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第12页
第12页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第13页
第13页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第14页
第14页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第15页
第15页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第16页
第16页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第17页
第17页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第18页
第18页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第19页
第19页 / 共22页
单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx

《单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。

单片机基本知识及应用实训报告实篮球记分牌Word格式文档下载.docx

加分显示

24秒倒计时显示

12分钟倒计时显示

犯规次数显示

Y

N

1.3方案比较

1.3.1方案1:

是通过按不同的键来切换不同的输入,使用不同的LED灯的亮灭来显示不同的队加分。

电路图:

1.3.2方案2:

通过一个键来切换分数,24s倒计时,12分钟倒计时和犯规次数,通过LED灯的亮来判断是那个队加分,那个队犯规,12分钟倒计时结束。

另外,给a队b队加分和加犯规次数。

通过按键,选择哪种显示方式,暂停/开始24s倒计时,重置24s;

电路图:

1.4方案论证

1.4.1总体思路

7个按键实现对应功能:

P1^6对应a队加分,第一个红灯亮;

P1^0对应b队加分,第二个红灯亮;

P1^1对应显示切换,切换有四类显示方式,第一类是a队跟b队的比分显示,且各两个数码管显示。

第二类是24s倒计时的显示。

第三类是12分钟倒计时的显示。

第四类是a队跟b队的犯规次数显示;

P1^2对应24秒倒计时暂停/开始;

P1^3对应重置24s倒计时,同时24s倒计时暂停;

P1^4对应a队加犯规次数,同时第三个红灯亮;

P1^5对应b队加犯规次数,同时第四个红灯亮;

外加复位键,按下则清零;

24秒倒数为0时蜂鸣器响起警报,重新倒数时蜂鸣器关闭。

12分钟倒计时结束时,蜂鸣器响起警报,红灯全亮。

1.4.2设计方案

使用了延时子程序(delay)用来按键消抖,还有定时中断程序来显示数码管,启止24s倒计时,12分钟倒计时,使用了P0口作为数码管的段选和P2口的位选,使用P1口作为按键作为输入,P3口的发光二极管作为判断a队和b队的选择和作为模式的选择部分和蜂鸣器作为倒计时24秒的计时的时间到;

在主程序里面有各按键的功能,a队加分,b队加分,切换功能,重置24s功能,a队加犯规,b队加犯规;

2、模块电路的设计

2.1AT89S51单片机芯片

在本设计中P3.7~P3.4口接LED灯,P2.7口(28脚)接蜂鸣器电路,P1.0~P1.6(1~7脚)口接7个按键,RST(9脚)接复位电路,,P2.0~P2.4(21~24脚)接四位数码管的位选脚,P0.0~P0.7(32~39脚)接四位数码管段位脚,18、19脚接晶振电路,20脚接GND,31脚、40脚接VCC。

2.2四位共阴数码管电路

2.3复位电路

2.4内振荡电路(时钟电路)

2.5蜂鸣器电路

2.6下载口电路

2.7二极管显示电路

3、开发软件及编程语言简介

3.1KeilC编程软件

3.1.1系统概述

KeilC51是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

3.1.2.KeilC51单片机软件开发系统的整体结构

  C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

3.2Keil开发工具--uVision3

uVision3集成开发环境是一个基于Window的开发平台,包括一个全功能的源代码编辑器,一个项目管理器和一个MAKE工具。

利用源代码编辑器可以高效地编辑源程序。

利用项目管理器可以很方便地创建和维护项目,利用MAKE工具可以汇编,编译和连接。

4、制作与调试过程

4.1制作过程:

4.1.1编程时用C语言编写并需要结合电路原理图编写;

4.1.2在使用proteus软件仿真时,要找到元器件相应的符号及其使用方法;

4.1.3在制作电路板时,由于使用万用板,在焊接元器件的管脚时需要注意焊锡的使用量,用量过多会导致该焊锡与其它的铜孔相连,有可能导致电路的某条支路短路;

4.1.4在焊接按键时,需要分清楚其的管脚,可以用万用表测试管脚的导通,则可以区分管脚;

4.1.5在焊接数码管的管脚时,应该注意其管脚的分布;

4.1.6在焊接AT89S52的管脚时,需要注意分清各个管脚;

4.1.7在焊接晶振的管脚时需要注意将其尽量靠近该芯片的XTAL1,XLAL2的两端;

4.1.8在焊接下载端口的管脚时需要注意各管脚与芯片的管脚对应。

4.2调试过程:

4.2.1初步调试程序时并下载到芯片上时,通过操作验证“暂停部分的程序”在比赛结束后再按暂停按键时,可以实现倒计时,但是当t=0时,开始出现乱码,针对该问题,需要在其暂停部分的程序加以“break”到相应的程序中,经调试,下载可以实现将程序跳出“死循环”。

4.2.2在调试电路板时不能将程序下载到芯片的情况,经分析得出晶振接触不良。

4.2.3硬件搭建好后,发现程序下载不了,经检查发现,下载端口接反,下载口连接正确后,程序依然下载失败。

经常长时间电路检查依然为发现问题。

后面通过仔细查看单片机最小系统,最终发现单片机的EA端没接vcc导致单片机无法读取片内ROM。

4.2.4下载成功后,然后再补充了LED灯跟功能对应的显示。

5、心得体会

通过本次实训,发现自身在电子制作,程序编写方便有着非常大的不足。

对以往学习过的编程知识没有好好掌握,特别是编程这方便的知识较薄弱。

学习过的知识在实际应用中仿佛是冰山一角,完全不够用,需要通过查阅很多资料才能解决到碰到的相关问题。

而且实训中出现的问题都是实际应用出比较典型的问题。

发现问题解决问题,通过不断的了解,对《单片机原理及应用》这门课有了更深刻的了解掌握。

单片机技术在当今各方面领域有着极高的应用率,是一门动手能力非常强的技术。

其中的程序和模块化元件看起来很简单,但是真正要自己设计有代表性出来是很难的,需要有扎实的知识基础,和较强的逻辑分析能力。

这些条件我们都可以通过平时的努力来积累。

碰到问题,先自己思考解决,再请教老师。

这次实训还让我深刻的体会了结构化程序设计的优势,让我懂得当我们要进行一个复杂的程序设计时应该先将其分解为多个不同的功能模块再分别编程实现,这样做不仅降低了编程的难度,也容易让编程者思路更加清晰,避免出现不必要的错误。

在做仿真时,仿真图正确也不一定就是说明一定正确。

做实物时,不仅要做到电路正确,也要尽可能做到布局合理、焊接到位,否则很有可能电路原理图正确、仿真图正确但是任然调试不出结果。

另外,焊接的时候不能分心,否则极易出错。

6、参考文献

【1】喻宗泉.单片机原理与应用技术.西安:

西安电子科技大学出版社。

2006

【2】李光飞.单片机课程设计实例指导.北京:

航空航天大学出版社。

2004

【3】张欣.单片机原理与C51程序设计基础教程.北京:

清华大学出版社。

2010

7、附录

7.2.1电路原理图

7.2.2PCB

7.2.3硬件正面图

7.2.4硬件反面图

7.2.5元件清单:

序号

元件名称

规格

数量

1

51单片机

AT89S52

1个

2

晶振

12M晶振

4

七段数码管

4位共阴极

5

起振电容

22pF瓷片电容

2个

6

复位电容

10uF

7

电阻

1KΩ

5个

8

按键

8个

9

LED

4个

10

蜂鸣器

11

NPN

8050

7.2.6程序

#include<

reg52.h>

//*************************数码管段代码表**************************//

unsignedcharTab[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x45,0xDF,0xD7,0x20};

unsignedchara=0,//a队分数

b=0,//b队分数

afg=0,//a队犯规次数

bfg=0;

//b队犯规次数

unsignedchart=24,//倒计时24秒

k=0,//倒计时暂停/开始状态

h=0,//显示转换状态

miao=0,//秒钟

fen=12;

//12分钟倒计时分钟

intbittime=0;

//循环次数

intbitdisplay=0;

//显示

sbitP16=P1^6;

//a队加分

sbitP10=P1^0;

//b队加分

sbitP11=P1^1;

//显示状态切换

sbitP12=P1^2;

//倒计时暂停/开始

sbitP13=P1^3;

//24s倒计时重置

sbitP14=P1^4;

//a队犯规加次数

sbitP15=P1^5;

//b队犯规加次数

sbitfmq=P2^7;

//蜂鸣器

///***************定时中断服务程序***********************//

voidtimer0(void)interrupt1using0

{

TH0=0Xf8;

TL0=0x30;

//定时器赋初值

switch(bitdisplay)

{

case0:

P2=0xfe;

if(h==0){P0=Tab[a/10];

}//a队分数十位显示

if(h==1){P0=Tab[t/10];

}//倒计时十位显示

if(h==2){P0=Tab[fen/10];

}//每节比赛12分钟,分钟十位显示

if(h==3){P0=Tab[afg/10];

}//犯规的十位显示

break;

case1:

P2=0xfd;

if(h==0){P0=Tab[a%10];

}//a队分数个位显示

if(h==1){P0=Tab[t%10];

}//倒计时个位显示

if(h==2){P0=Tab[fen%10];

}//分钟的个位显示

if(h==3){P0=Tab[afg%10];

}//a犯规的个位显示

case2:

P2=0xfb;

if(h==0){P0=Tab[b/10];

}

if(h==1){P0=0x00;

}

if(h==2){P0=Tab[miao/10];

if(h==3){P0=Tab[bfg/10];

case3:

P2=0xf7;

if(h==0){P0=Tab[b%10];

if(h==2){P0=Tab[miao%10];

if(h==3){P0=Tab[bfg%10];

}

bitdisplay++;

bittime++;

if(bitdisplay==4){bitdisplay=0;

}//数码管扫描返回

if(bittime==500)

{bittime=0;

if(k)

{if(t--==0){k=0;

t=24;

fmq=1;

else{fmq=0;

if(miao--==0){if(fen==0){P3=0x0f;

fen=12;

miao=0;

k=0;

}fen--;

miao=59;

}//12分钟结束,4个灯全亮

}

}

}

//**延时程序***//

voiddelay(unsignedintt)

{

unsignedintaaa,bbb;

for(aaa=0;

aaa<

100;

aaa++)

for(bbb=0;

bbb<

t;

bbb++);

//**************主程序*********************//

voidmain(void)

TMOD=0x01;

TH0=0xf8;

//定时2ms

EA=1;

ET0=1;

TR0=1;

//开启定时器

while

(1)

{

if(!

P16)//按键1

{delay(100);

if(!

P16){a++;

P3=0xef;

if(a==100)a=0;

}//a队加分

}

P10)//按键2

P10)

{b++;

P3=0xdf;

if(b==100)b=0;

}//b队加分

}

if(!

P11)//按键3

P11)

{if(++h>

=4)h=0;

}//显示切换

P12)//按键4

P12)

{if(k++==2)k=0;

}//倒计时

P13)//按键5

P13)

{t=24;

}//重置24s倒计时

P14)//按键6

P14){afg++;

P3=0xbf;

if(afg==60)afg=0;

}//a队犯规

P15)//按键7

P15){bfg++;

P3=0x7f;

if(bfg==60)bfg=0;

}//b队犯规

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2