篮球赛计分器.docx

上传人:b****5 文档编号:5612650 上传时间:2022-12-29 格式:DOCX 页数:18 大小:335.28KB
下载 相关 举报
篮球赛计分器.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.概述

2.元件说明

3.设计原理

4.软件调试

5.原程序清单

6.参考文献

概述

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

我们都知道,设计系统的关键是思路,而系统通常又由各个模块所组成,所以必须先把所要设计系统模块化,再把各个模块组合在一起,实现一个完整的系统。

这就要求我们先要有较扎实的理论知识,特别对芯片的各个管脚功能必须了解,这样才能进行硬件设计。

同时,又必须掌握MCS51的指令功能,通过编程实现其功能,也是一种理论在实践中的运用。

在课程设计中,由于它是一个系统,这就要求我们必须建立系统的概念。

我们都知道现实运行的都是完整的系统,而且功能相对来说要复杂,如何把一个复杂的系统模块化才能使问题来的简单,这是我们必须首先解决的问题。

当各个模块完成之后再组合成一个完成的系统,这当中要考虑模块间的衔接问题,这些都是在以前设计简单程序时不曾遇到的。

单片机自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显示器显示,每队比分显示三位数。

元件说明

AT89C51介绍

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其引脚分布为

 

管脚说明:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

  P3口也可作为AT89C51的一些特殊功能口,如下表所示:

  口管脚备选功能  P3.0RXD(串行输入口)  P3.1TXD(串行输出口)  P3.2/INT0(外部中断0)  P3.3/INT1(外部中断1)  P3.4T0(记时器0外部输入)  P3.5T1(记时器1外部输入)  P3.6/WR(外部数据存储器写选通)  P3.7/RD(外部数据存储器读选通)  P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

  

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

  

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出

设计原理

按钮设置

 

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

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

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

分值切换显示功能

 

数码管驱动的选择

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)。

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

下图为典型的数码管:

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

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

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

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

代码对应表

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

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

系统流程图

 

显示子程序流程图

 

 

 

 

 

延时子程序

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

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

 

仿真结果图

 

 

源程序清单

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

参考文献

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

[2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000

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

[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000

[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001

[6]、《微型计算机接口技术》邓亚平编清华大学出版社2001

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

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

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

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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