单片机课程设计比赛计分器.docx

上传人:b****0 文档编号:18581542 上传时间:2023-08-19 格式:DOCX 页数:22 大小:225.72KB
下载 相关 举报
单片机课程设计比赛计分器.docx_第1页
第1页 / 共22页
单片机课程设计比赛计分器.docx_第2页
第2页 / 共22页
单片机课程设计比赛计分器.docx_第3页
第3页 / 共22页
单片机课程设计比赛计分器.docx_第4页
第4页 / 共22页
单片机课程设计比赛计分器.docx_第5页
第5页 / 共22页
单片机课程设计比赛计分器.docx_第6页
第6页 / 共22页
单片机课程设计比赛计分器.docx_第7页
第7页 / 共22页
单片机课程设计比赛计分器.docx_第8页
第8页 / 共22页
单片机课程设计比赛计分器.docx_第9页
第9页 / 共22页
单片机课程设计比赛计分器.docx_第10页
第10页 / 共22页
单片机课程设计比赛计分器.docx_第11页
第11页 / 共22页
单片机课程设计比赛计分器.docx_第12页
第12页 / 共22页
单片机课程设计比赛计分器.docx_第13页
第13页 / 共22页
单片机课程设计比赛计分器.docx_第14页
第14页 / 共22页
单片机课程设计比赛计分器.docx_第15页
第15页 / 共22页
单片机课程设计比赛计分器.docx_第16页
第16页 / 共22页
单片机课程设计比赛计分器.docx_第17页
第17页 / 共22页
单片机课程设计比赛计分器.docx_第18页
第18页 / 共22页
单片机课程设计比赛计分器.docx_第19页
第19页 / 共22页
单片机课程设计比赛计分器.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计比赛计分器.docx

《单片机课程设计比赛计分器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计比赛计分器.docx(22页珍藏版)》请在冰点文库上搜索。

单片机课程设计比赛计分器.docx

单片机课程设计比赛计分器

北方民族大学

课程设计

课程名称单片机原理与应用

课题名称计分器(数码管)

专业电气信息工程学院

班级电子信息工程121班

姓名莫文涛20120588

刘丹20120575、杨文华20120606

指导教师张玲

2015年6月25日

 

设计内容:

设计一个甲,乙两队用的比赛计分器,要求实现以下功能:

1、给甲,乙两队分别设置1个加分按钮,按一下能分别实现加一分。

2、给甲,乙两队分别设置1个减分按钮,按一下能分别实现减一分。

3、设置一个清零按钮,按一下能实现清零

5、设置一个加减一分、两分和三分的切换按钮。

设计要求:

1、设计方案要合理、正确;

2、系统硬件设计及焊接制作;

3、系统软件设计及调试;

4、系统联调;

5、写出设计报告。

 

概述

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

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

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

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

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

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

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

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

 

目录

系统原理设计…………………………………………………........................1

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

系统硬件设计…………………………………………………...............……..1

1 按钮设置……………………………………………………………...2

2分值切换显示功能…………………………………………………2

3数码管驱动的选择…………………………………………………3

4发光二极管显示器…………………………………………………4

软件设计………………………………………………………………..............6

1系统流程图……………………………………………………………6

2显示子程序…………………………………………………………..7

3延时子程序……………………………………………………..……8

系统的安装调试说明………………………………………………...............9

1、软件调试………………………………………..…………….……….9

2、软硬联调…………………………………………………….……….10

参考文献……………………………………………………….............……….11

附录A源程序清单……………………………………………….………......12

附录B系统原理图……………………………………………………….......16

一、系统原理设计

本设计是基于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按钮功能图

独立键盘通过P1口输入键值,其中1/2/3分切换由发光二极管指示,见图1-2。

通过加减分键和分值切换键配合使用可以较方便实现甲乙两队的初始分数。

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

2、分值切换显示功能

 

图2-2分值切换显示图

3、数码管驱动的选择

图2-374LS245

74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

  74LS245还具有双向三态功能,既可以输出,也可以输入数据。

  当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

  当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)

  DIR=“1”,信号由A向B传输;(发送)当/CE为高电平时,A、B均为高阻态。

  由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。

P0口与74LS245输入端相连,/E端接地,保证数据现畅通。

8051的/RD和/PSEN相与后接DIR,使得/RD或/PSEN有效时,74LS245输入(P0.i←Di),其它时间处于输出(P0.i→Di)。

 

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

下图为典型的数码管:

图2-47段LED数码管

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

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

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

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

 

表2-5代码对应表

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

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口为位控制输出口。

三、软件设计

1、系统流程图

N

N

2、显示子程序流程图

 

 

 

 

 

图3-2显示子程序流程图

 

3、延时子程序

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

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

 

系统的安装调试说明

1、软件调试

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

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

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

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

比如:

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

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

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

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

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

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

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

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

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

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

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

测试的方法:

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

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

 

2、软硬联调

编程后利用KeiluVision3来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能是否能够正常实现。

仿真成功后,焊接硬件电路,通过ISP下载器将hex文件烧制到单片机。

通电后,LED-1亮,数码管显示“000--000”.。

对应的“S1”键为甲加分按钮,当LED-1亮时,每次按下“S1”键,甲队分数加1;当LED-2亮时,每次按下“S1”键,甲队分数加2;当LED-3亮时,每次按下“S1”键,甲队分数加3;可以通过按“S5”键来实现LED-1,LED-2,LED-3之间的切换。

对应的“S2”键为甲队减分键,当LED-1亮时,每次按下“S2”键,甲队分数减1;当LED-2亮时,每次按下“S2”键,甲队分数减2;当LED-3亮时,每次按下“S2”键,甲队分数减3;“S3”键为乙加分键,“S4”键为乙队减分键,其实现功能与甲队一样。

对应的“S6”键为清零按钮,按下可以实现复位。

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

 

参考文献

[1]、《微型计算机原理及应用》许立梓编机械工业出版社2002

[2]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000

[3]、《单片机原理及及应用》王迎旭编机械工业出版社2001

[4]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002

[5]、《单片机实用技术问答》谢宜仁主编人民邮电出版社2002

[6]、

 

附录A源程序清单

NAEQU24H

NBEQU25H;甲乙两队分数

TEMPEQU26H;存放切换分数1\2\3

JIAJIABITP1.0;甲加分控制位

JIAJIANBITP1.1;甲减分控制位

YIJIABITP1.2;乙加分控制位

YIJIANBITP1.3;乙减分控制位

SWITCHBITP1.4;分值切换控制位

RESETBITP1.5;比分清零控制位

ORG0000H

SJMPSTART

START:

MOVDPTR,#TABLE;将表首址送DPTR

MOVNA,#0

MOVNB,#0;比分自动清零

MOVTEMP,#1;开机默认加减分值为1

MOVP2,#01H;分值显示灯亮

A1:

ACALLDISPLAY;调显示函数

JNBJIAJIA,S1

JNBJIAJIAN,S2

JNBYIJIA,S3

JNBYIJIAN,S4

JNBSWITCH,S5

JNBRESET,S6

LJMPA1;判断按下的控制键

S1:

LCALLDELAY;去抖动

JBJIAJIA,A1;确认按键

MOVA,NA

ADDA,TEMP

MOVNA,A

LCALLB0

C0:

JBJIAJIA,A1;等键释放

LCALLDISPLAY

SJMPC0

S2:

LCALLDELAY;去抖动

JBJIAJIAN,A1

MOVA,NA

SUBBA,TEMP

MOVNA,A

LCALLB0

C1:

JBJIAJIAN,A1;等键释放

LCALLDISPLAY

SJMPC1

S3:

LCALLDELAY;去抖动

JBYIJIA,A1

MOVA,NB

ADDA,TEMP

MOVNB,A

LCALLB1

C2:

JBYIJIA,A1;等键释放

LCALLDISPLAY

SJMPC2

S4:

LCALLDISPLAY;去抖动

JBYIJIAN,A1

MOVA,NB

SUBBA,TEMP

MOVNB,A

LCALLB0

C3:

JBYIJIAN,A1;等键释放

LCALLDISPLAY

SJMPC3

S5:

INCTEMP

MOVA,TEMP

CJNEA,#2,D0

MOVP2,#2

D0:

CJNEA,#3,D1

MOVP2,#04H

D1:

CJNEA,#4,D2

MOVTEMP,#1

MOVP2,#01H;分值切换循环1-2-3

D2:

LJMPA1

S6:

MOVNA,#0

MOVNB,#0

LJMPA1

B0:

CJNEA,#999,B2;是否大于999?

(可以省略)

MOVNA,#0

B2:

RET

B1:

CJNEA,#999,B3

MOVNB,#0

B3:

RET

;**************************显示函数

DISPLAY:

MOVA,NA;甲队比分显示

MOVB,#100;将8位二进制转换位十进制

DIVAB

CLRP3.0

MOVCA,@A+DPTR;送段码

MOVP0,A;显示甲比分比分百位

LCALLDELAY

SETBP3.0;关位选

MOVA,B

MOVB,#10

DIVAB

CLRP3.1;开位选

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.1

MOVA,B

CLRP3.2

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.2

CLRP3.3

MOVP0,#40H;显示分隔符

LCALLDELAY

SETBP3.3

;****************************乙队比分显示

MOVA,NB

MOVB,#100

DIVAB

CLRP3.5

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.5

MOVA,B

MOVB,#10

DIVAB

CLRP3.6

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.6

MOVA,B

CLRP3.7

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

SETBP3.7

CLRP3.4

MOVP0,#40H

LCALLDELAY

SETBP3.4

RET

TABLE:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

;***************************延时程序

DELAY:

MOVR6,#10

E:

MOVR7,#250

DJNZR7,$

DJNZR6,E

RET

END

附录B硬件原理图

 

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

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

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

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