基于单片机实现的比赛计分器设计.docx

上传人:b****3 文档编号:579342 上传时间:2022-10-11 格式:DOCX 页数:18 大小:214.81KB
下载 相关 举报
基于单片机实现的比赛计分器设计.docx_第1页
第1页 / 共18页
基于单片机实现的比赛计分器设计.docx_第2页
第2页 / 共18页
基于单片机实现的比赛计分器设计.docx_第3页
第3页 / 共18页
基于单片机实现的比赛计分器设计.docx_第4页
第4页 / 共18页
基于单片机实现的比赛计分器设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于单片机实现的比赛计分器设计.docx

《基于单片机实现的比赛计分器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机实现的比赛计分器设计.docx(18页珍藏版)》请在冰豆网上搜索。

基于单片机实现的比赛计分器设计.docx

基于单片机实现的比赛计分器设计

第1章系统总体方案设计…………………………………………………1

1.1概述…………………………………………………………………1

1.2系统框图……………………………………………………………2

第2章系统硬件设计………………………………………………………3

2.1 80C5单片机…………………………………………………………3

2.2按钮设置……………………………………………………………4

2.3分值切换显示功能…………………………………………………4

2.4发光二极管显示器…………………………………………………6

2.4.1数码管显示器数量选择……………………………………………6

2.4.2数码管共阴共阳接法的选择………………………………………6

2.4.3数码管驱动的选择…………………………………………………6

2.4.4系统原理图…………………………………………………………6

第3章软件设计………………………………………………………………7

3.1系统流程图……………………………………………………………7

3.2显示子程序…………………………………………………………8

3.3延时子程序…………………………………………………………8

第4章系统的安装调试说明…………………………………………………10

4.1软件调试……………………………………………………………10

4.2软硬联调……………………………………………………………11总结……………………………………………………………………………12

参考文献………………………………………………………………………13

附录A源程序清单……………………………………………………………14

附录B系统原理图……………………………………………………………21

第1章系统总体方案设计

1.1.概述

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。

单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。

例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。

单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。

并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。

而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。

他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。

本设计是基于AT89S51单片机的篮球计分器,利用7段共阴LED作为显示器件。

在此设计中共接入了1个八位一体7段共阴LED显示器,每队显示器显示范围可达到0~255分。

系统功能简介

本设计内容为比赛计分器,主要用于各种体育比赛记录分数。

采用独立式键盘作为输入,用户可分别对两队比分进行加1、加2、加3和减1减2、减3操作,其加减1,2,3分可以通过加减1分、2分和3分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。

通过加减分键和分值切换键配合使用可以较方便实现预置分。

比分通过1个八位一体7段共阴LED显示器显示,每队比分显示三位数。

1.2.系统框图

 

 

 

图1.1系统框图

 

第2章系统硬件设计

2.180C51单片机

因为我们上课时学的是MCS-51,所以就选择了STC89C52单片机,因为它与INTEI MCS-51 兼容,并且它们都具有相同的CPU和指令系统,引脚功能兼容,容易掌握和使用。

2.2按钮设置3×4矩阵式键盘

根据设计共需要7个按键,可采用3×3矩阵式键盘,但考虑到常用键盘为3×4矩阵式键盘,而且方便以后功能的扩展和方便硬件的连接,所以最终决定采用3×4矩阵式键盘作为输入。

计分器应该有7个按键分别标注于原理图,见图1.2.

图2.1按钮功能图

其中1/2/3分切换由发光二极管指示,加1减1分别对应。

预置分是事先设定分数可以分别设定甲乙两队的初始分数。

按下清零后,显示的分数清零。

2.3分值切换显示功能

 

图2.2分值切换显示功能图

 

2.4发光二极管显示器的结构、工作原理及其接口电路

下图为典型的数码管:

图2.38段LED数码管

如上图,LED显示器又称为数码管,LED显示器由8个发光二极管组成。

中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。

LEDD显示器有两种不同的形式:

一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。

表2-1代码对应表

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

0

3FH

C0

8

7FH

80H

1

06H

F9

9

6FH

90H

2

5BH

A4

A

77H

88H

3

4FH

B0

B

7CH

83H

4

66H

99H

C

39H

C6

5

6DH

92H

D

5EH

A1H

6

7DH

82H

E

79H

86H

7

07H

F8

F

71H

8EH

动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。

其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。

CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。

而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。

在本课题中采用P0口输出段码,P3口为位控制输出口。

2.4.1数码管显示器数量选择

两个队,每队2位比分,每个显示器只能显示一位,则至少需要采用4个8段数码管显示器。

段数码管显示器采用动态显示输出比分。

2.4.2数码管共阴共阳接法的选择

51单片机I/O口输出高电平时输出的电流很小,数码管不会太亮;因为本设计采用动态显示,单片机I/O口直接接数码管,所以决定采用共阳数码管。

2.4.3数码管驱动的选择

为了使数码管亮度达到要求,数码管的位选端需要驱动,因为单片机I/O口的高电平输出的电流很小,需要驱动电路驱动,从而增加显示亮度。

最简单便宜的驱动就是使用三极管,为低电平时开通,所以选择PNP型三极管。

2.4.4系统原理图(见附录)

 

第3章软件设计

3.1.系统流程图

N

N

3.2显示子程序流程图

 

图3.1显示子程序流程图

 

 

 

 

 

3.3延时子程序

延时子程序就是通过执行一些没用但又占用时间的指令的集合。

这个子程序可以用于很多延时的地方因为它延时的时间可以通过R7进行改变,所以通用性好,可以将几个延时子程序合为一个,只用在调用前给R7赋值,即可根据用户的需要延时,流程图见图4-4。

 

图3.2延时子程序流程图

 

第4章系统的安装调试说明

4.1.软件调试

上电时对系统中进行检测是单片机程序中的一个良好设计。

在硬件设计时也应该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模式。

很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进行全面的检测,或者更进一步,将系统的运行状态中分为测试模式和正常运行模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方便容易。

另外要注意的是,一个简单明了的故障显示界面也是颇要费得心思的。

比如:

系统的外部RAM(数据存储器)是单片机系统中常用的器件。

外部RAM如果存在问题,程序通常都会成为无法控制。

因此,程序在启动时(至少在第一次上电启动时)一定要对外部RAM进行检测。

另外,在仿真前要做好充分的准备。

单片机硬件仿真器给单片机开发者带来了极大的方便,同时也很容易造成人的依赖性。

很多时候,没有仿真器却能促使工程师写出更高质量的程序。

在硬件仿真调试之前,下面准备工作将是必要的:

(1)程序编完后,对代码仔细逐行检查。

检查代码的错误,建立自己的代码检查表,对经常易错的地方进行检查。

检查代码是否符合编程规范。

(2)对各个子程序进行测试。

测试的方法:

用程序测试程序,编制一个调用该子程序的代码,建立要测试子程序的入口条件,再看看它是否按预期输出结果。

(3)如果代码有修改,再次对代码进行检查。

4.2.软硬联调

首先将编译成功程序载入单片机系统开发板。

通电后,LED5,电源指示灯点亮,数码管显示“0000”.。

对应的“4”键为甲加分按钮,当LED5亮时,每次按下“4”键,甲队分数加1;当LED6亮时,每次按下“4”键,甲队分数加2;当LED7亮时,每次按下“4”键,甲队分数加3;其中LED5,LED6,LED7的点亮与熄灭是通过对应的“1”键来控制,可以通过按“1”键来实现LED5,LED6,LED7之间的切换。

对应的“8”键为甲队减分键,当LED5亮时,每次按下“8”键,甲队分数减1;当LED6亮时,每次按下“8”键,甲队分数减2;当LED7亮时,每次按下“4”键,甲队分数减3;“7”键为乙加分键,“B”键为乙队减分键,其实现功能与甲队一样。

对应的“0”键为预置分按钮,按下“0”键之后,通过按甲乙队加、减分按钮配合分数切换键实现快速预置分。

”RESET”为复位键,按下可以实现复位。

数码管显示甲乙队当前分数,复位后,数码管显示“0000”。

 

总结

做了两周的单片机课程设计,我有了很多的体会和感想。

  我们的课程设计是比赛计分器。

设计可以在实验室里做,也可以在寝室里做,我大部分时间还是在寝室里做的。

 比赛计分器设计,这个内容没有现成的程序和设计图,需要我们真正亲手去编。

这两周的实习真的有点难度,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这个程序,但是只好硬着头皮去看去理解。

但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。

   这次实习让我受益匪浅,无论从知识上还是其他的各个方面。

上课的时候的学习从来没有真正的用单片机,只是从理论的角度去理解枯燥乏味。

但在实习中使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。

在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在组里讨论或者是同学之间相互帮助。

团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。

   单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。

尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。

最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。

来源:

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1