基于单片机篮球赛计时计分器设计 - 图文

更新时间:2024-05-23 16:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编号

本科生毕业设计

基于单片机篮球赛计时计分器设计

Design of Timing and Scoring of Basketball Competition Based

on Single Chip Computer

学 生 姓 名: 专 业: 学 号: 指 导 教 师: 学 院:

2009 年 06 月

长春理工大学毕业设计

摘 要

篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。本文详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。

关键词:单片机 篮球赛计时 篮球赛计分

ABSTRACT

Time scoring basketball game is to solve the game of basketball with the time points when the issue of accuracy. This device is completed using AT89C51 single- chip timing and scoring functions. This article describes in detail the system hardware and software design process, design by AT89C51 programming control for LED Seven-Segment LED display subsystem of the game time. The system is set up with the schedule from time to time, schedule time to pause, refresh in time A, B, and after the two sides achieved a temporary success functions. It is inexpensive, stable performance, easy to operate and easy to carry and so on. A wide range suitable for all types of schools or small groups as time-points race.

Key words: MCU Basketball Time Basketball Scoreboard

长春理工大学毕业设计

目 录

摘 要 ................................................................................................................................................. 1 Abstract ............................................................................................................................................ 1 目 录 ................................................................................................................................................. I 第一章 引言 ................................................................................................................................ - 1 -

1.1 背景知识介绍 ............................................................................................................... - 1 - 1.2 设计意义 ....................................................................................................................... - 1 - 1.3 设计目的 ....................................................................................................................... - 1 - 第二章 系统硬件介绍 ................................................................................................................ - 3 -

2.1 MCS-51单片机简述 ..................................................................................................... - 3 -

2.1.1 单片机AT89C51简介 ...................................................................................... - 3 - 2.1.2 主要特性 ............................................................................................................ - 4 - 2.1.3 管脚说明 ............................................................................................................ - 4 - 2.1.4 芯片擦除 ............................................................................................................ - 6 - 2.1.5 掉电模式 ............................................................................................................ - 6 - 2.1.6 程序储存器的加密 ............................................................................................ - 6 - 2.2 显示器及其接口 ........................................................................................................... - 7 -

2.2.1 显示器介绍 ........................................................................................................ - 7 - 2.2.2 结构与原理 ........................................................................................................ - 7 - 2.2.3 LED显示器显示方式 ........................................................................................ - 8 - 2.3 CD4094芯片介绍 ......................................................................................................... - 8 - 2.4 74LS21芯片介绍 .......................................................................................................... - 9 - 2.5 报警器 ........................................................................................................................... - 9 -

2.5.1 报警器的分类 .................................................................................................. - 10 - 2.5.2 报警器工作原理 .............................................................................................. - 10 -

第三章 硬件电路设计 .............................................................................................................. - 11 -

3.1 系统方案设计 ............................................................................................................. - 11 -

3.1.1 系统构成框图 .................................................................................................. - 11 - 3.1.2 器件选择 .......................................................................................................... - 12 - 3.2 硬件总体设计 ............................................................................................................. - 12 - 3.3 计时电路部分 ............................................................................................................. - 12 -

3.3.1 振荡电路 .......................................................................................................... - 12 - 3.3.2 计时电路的工作原理 ...................................................................................... - 15 - 3.4 计分电路部分 ............................................................................................................. - 16 -

3.4.1 串行接口工作原理 .......................................................................................... - 16 - 3.4.2 计分电路原理图 .............................................................................................. - 16 - 3.4.3 计分电路的工作原理 ...................................................................................... - 17 -

第四章 篮球计时计分器软件设计 .......................................................................................... - 19 -

4.1 球赛计时计分器的工作过程 ..................................................................................... - 19 - 4.2 篮球计时计分器编程设计 ......................................................................................... - 19 - 4.3 主要模块说明 ............................................................................................................. - 20 -

I

长春理工大学毕业设计

4.3.1 计时部分模块流程 .......................................................................................... - 20 - 4.3.2 记分部分模块流程 .......................................................................................... - 21 - 4.4 篮球计时计分器程序源代码 ..................................................................................... - 21 - 结 论 .......................................................................................................................................... - 31 - 参考文献 .................................................................................................................................... - 32 - 致 谢 .......................................................................................................................................... - 33 -

II

长春理工大学毕业设计

第一章 引言

1.1 背景知识介绍

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择[2]。

1.2 设计意义

单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。

通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用[5]。

1.3 设计目的

随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。

本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分

[8]

通过本次基于C51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:

(1) 篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。

(2) 可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与

- 1 -

长春理工大学毕业设计

具体连接与编程方法。

(3) 怎样利用串行口来扩展显示接口等[6]。

- 2 -

长春理工大学毕业设计

第二章 系统硬件介绍

2.1 MCS-51单片机简述

2.1.1 单片机AT89C51简介

本课题中用到的芯片就是AT系列中的AT89C51单片机芯片。

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案 [7]。

AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。如图绍如图2-1:

图2-1为AT89C51单片机基本构造,其基本性能介

图2-1 AT89C51引脚图

AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存

- 3 -

长春理工大学毕业设计

储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

2.1.2 主要特性

AT89C51的主要特性如表2-1所示:

表2-1 AT89C51主要功能描述

· 兼容MCS—51指令系统 · 32个双向I/O口 · 4k可反复擦写(>1000次)Flash ROM · 可编程UARL通道 · 两个16位可编程定时/计数器 · 全静态操作0-24MHz · 1个串行中断 · 两个外部中断源 · 可直接驱动LED · 低功耗空闲和掉电模式 2.1.3 管脚说明 VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写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编程和校验时接收高八位地址信号和控制信号。

- 4 -

· 128x8bit内部RAM · 共6个中断源 · 3级加密位 · 软件设置睡眠和唤醒功能 长春理工大学毕业设计

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表2-2所示:

表2-2 AT89C51特殊功能表

端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断0) /INT1(外部中断1) T0(记时器0外部输入) T1(记时器1外部输入) /WR(外部数据存储器写选通) /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)。

- 5 -

长春理工大学毕业设计

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.1.4 芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止 [6]。

2.1.5 掉电模式

在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位。复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重新启动并且稳定的工作 [5]。

表2-3 外部引脚状态表

模式 空闲模式 空闲模式 外部 掉电模式 内部 掉电模式 外部 程序存储内部 器 ALE /PROG P0 P1 P2 P3 1 1 数据 数据 数据 浮空 1 1 浮空 数据 数据 浮空 0 0 数据 数据 数据 数据 0 0 浮空 数据 数据 数据 2.1.6 程序储存器的加密

AT89C51可使用对芯片上的三个加密位LB1、LB2、LB3[2]进行编程(P) 或者不进行编程(U)。当加密位LB1被编程时,在复位期间,EA断的逻辑电平

- 6 -

长春理工大学毕业设计

被采样并锁存,如果单片机上电后一直没有服位,则锁存起的初始值是一个随机数,这个随机数会保存到真正复位为止 [5]。

2.2 显示器及其接口

2.2.1 显示器介绍

显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息, 如汉字、图形、图表等 [4]。

两者之间的区别:

(1)二极本身发光, 液晶本身不发光,只是透射光。

(2)二极管体积大,图像质量一般,适合作室外大屏幕,价格较低。液晶成本较高,面积无法做得很大,但图像质量很好,适合做显示器。

(3)二极管耗电大,液晶耗电小。 (4)二极管图像刷新率低,液晶的高 2.2.2 结构与原理

图2-2 7段LED数码管

如图2-2,LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LEDD显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器 [1]。如图2-3所示。

- 7 -

长春理工大学毕业设计

图2-3 共阴与共阳极LED显示器

2.2.3 LED显示器显示方式

点亮LED显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是静态显示。

这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。从下图可以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式 [3]。

所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。图2-4为4位LED显示器动态显示电路。

端口4端口3端口2端口18根段马线8根段马线8根段马线8根段马线GNDGNDGNDGND图2-4 动态显示图

2.3 CD4094芯片介绍

- 8 -

长春理工大学毕业设计

在本次设计的计分电路中,我们使用集成电路CD4094。CD4094是8位移位寄存器,它主要完成串行输入,并行输出8位数据的功能,所以又叫8位串/并转换器。图2-5为CD4094的引脚图:

图2-5 CD4094引脚分布图

2.4 74LS21芯片介绍

本次设计中的比分校正电路采用四输入与门74LS21来实现。74LS21是双4输入与门。在一个芯片里有两个相同的单元,其中一个任何一个都是1/2断口。同型号的74系列、74HC系列、74LS系列芯片,逻辑功能上是一样的。表2-4为74、74HC、74LS系列芯片资料 [8]。

表2-4 74、74HC、74LS相关资料表

系列 AHC AHCT HC HCT ACT F ALS LS

电平 CMOS COMS/TTL COMS COMS/TTL COMS/TTL TTL TTL TTL 典型传输延迟ns 8.5 8.5 25 25 10 6.5 10 18 最大驱动电流 -8/8 -8/8 -8/8 -8/8 -24/24 -15/64 -15/64 -15/24

2.5 报警器

- 9 -

长春理工大学毕业设计

2.5.1 报警器的分类

蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:

纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。

2.5.2 报警器工作原理

报警器的种类很多,比如:扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声 [2]。

- 10 -

长春理工大学毕业设计

第三章 硬件电路设计

系统硬件由以下几个部分组成: (1)单片机 AT89C51 (2)计时电路 (3)计分电路 (4)按键开关

说明:整个系统只用一片AT89C51;在图中将计时电路与计分电路分开画,只是为了能够更好的更清晰的说明问题;并且在整个画图过程中将AT89C51引脚打乱是为了使图示能够更加的清晰明了[7]。

3.1 系统方案设计

3.1.1 系统构成框图

基于单片机系统的篮球赛计时计分器的系统构成框图如图3-1所视。

计时显示CD4511CD4511计分显示复位晶振AT89C51赛程时间设置键盘74LS21赛程比分调整键盘

图3-1 系统构成图

本系统采用单片机AT89C51作为本设计的核心元件。利用7段共阴LED作为显示器件。在本次设计中,共接入十个七段共阴LED显示器,其中6个用于记录 甲、乙两队的分数,每队3个LED显示器分数范围可达到0—99分,足够满足赛程需要。另外4个LED显示器则用于记录赛程的时间,其中两个用于显示分钟;

- 11 -

长春理工大学毕业设计

2个用于显示秒钟。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。根据设计,计时范围可达0—99分钟,也完全满足赛程的需要。

其次,为了配合计时器和计分器校正、调整时间和比分,特在本设计中设立了7个按键。其中4个用于输入甲、乙两队的分数;另外3个则用于完成设置、调整、启动和暂停赛程时间等功能 [6]。

3.1.2 器件选择

本系统在设计的过程中主要选取了以下一些器件: 单片机:AT89C51

四一七段BCD译码芯片:CD4511 并行 / 串行转换芯片:CD4094 四输入与门:74LS21

显示器件:7段共阴LED显示器 按键:欧姆龙按键

3.2 硬件总体设计

这次设计的核心是:如何运用AT89C51单片机,CD451译码芯片,CD4094 8位移位寄存器。7段共阴LED显示数码管等电子元件完成显示设计在电路上的实现 [8]。

从理论上说,不论显示图形还是文字,只要控制与组成这些图形和文字的各个点所在位置对应的LED器件发光,就能得到结果。

本次设计采用的是静态驱动方式。

所谓静态驱动,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小[4]。

这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多 [3]。

3.3 计时电路部分

3.3.1 振荡电路

本次设计要使用到AT89C51单片机的时钟振荡功能。AT89C51中有一个用于

- 12 -

长春理工大学毕业设计

构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器[1]。

振荡电路如图3-2所示

图3-2 时钟振荡电路

图3-3 外部时钟电路

- 13 -

长春理工大学毕业设计

图3-4 系统总体电路

- 14 -

长春理工大学毕业设计

图3-5 计时电路原理图

3.3.2 计时电路的工作原理

计时电路如图3-5所示,主要由开关K5-K7,单片机AT89C51,译码器以及

- 15 -

长春理工大学毕业设计

LED显示器构成。

其工作过程如下:

当比赛准备开始的时候,当调时(十位)开关K5按下时,产生一个低电平;立即数00H取出,同时对应调分(十位)控制端P2.0的LE输出高电平,表示此时可以向调分(十位)的CD4511发送数据,但CD4511的输出端不会有输出,因为LE=1时,CD4511锁存。

这时,只要将要显示数据的代码经过P1口的P1.0送到CD4511的输入端A~~D端,送完后,将LE清零。这时便可以将要显示数据的代码经过CD4511译码后,从输出端a~~g输出,送LED显示器显示即可。调时按键开关每按一次,数字自动加1,直到调到需要设置的时间即 [2]。

3.4 计分电路部分

8051系列单片机除了有4个8位并行口外,还有一个能同时进行串行发送和接收的全双工串行通信口。它能同时发送和接收数据,还能作为同步移位寄存器使用。球赛计分电路正是利用了8051单片机串行口可以外接串行输入并行输出移位寄存作用为输出口来实现球赛比分刷新显示的 [9]。

3.4.1 串行接口工作原理

MCS-51系列单片机片内有一个串行I/O端口,通过引脚 RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的 串行异步通信 [12]。

8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器(SCON和PCON),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等 [11]。

串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的溢出率确定,使用十分方便灵活 [10]。

3.4.2 计分电路原理图

- 16 -

长春理工大学毕业设计

图3-6 计分电路原理图

3.4.3 计分电路的工作原理

计分电路主要由单片机AT89C51,串行/并行转换器(CD4094),LED显示

- 17 -

长春理工大学毕业设计

器,74LS21以及按键开关组成。其工作过程如下:按键开关K1~~K4组成甲、乙两队加减分控制。按键K1~~K4一端接地,另一端输入与门74LS21的9脚,10脚,12脚,13脚,以及单片机AT89C51的P3.5,P3.4,P0.2,P0.1,8脚接AT89C51的P3.2脚。当按键开关K1~~K4四个按键的任何一个一位按下时,与门的8脚输出都会产生低电平使单片机中断,从而使相应LED显示。因为按键开关按下时为低电平 [12]。

- 18 -

长春理工大学毕业设计

第四章 篮球计时计分器软件设计

4.1 篮球计时计分器的工作过程

首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管全部显示为0000和000 000;然后我们按照计时电路中的K5键来设置比赛时间的十位数,例如比赛时间上半场为20分钟,则通过K5键,使数码管1显示“2”即可;再按下K6键,设置比赛时间的个位数,使数码管2显示“0”即可。一般比赛时间为40分钟,所示只需要按下K5键显示“4”,按下K6键显示“0”即可。

时间设置好时,等待赛程开始,当裁判吹响哨声时,启动计时,这时计时电路便开始工作,计时采用到计时方式,即从20分钟减为0分钟表示上半场结束。上半场结束时,蜂鸣器会发出10秒钟响声,通知上半场结束,这时按下K7键,便完成了甲、乙两队的分数交换。在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路中的K1-K4键完成此功能,K1和K2键完成甲队加分、减分,K3和K4键完成乙队加分、减分。按键每按一下,表示加上或者减去1分。

由于加分、减分我们采用中断完成,且加、减分的中断优先权小于计时电路中的中断优先权,所以不会对计时电路造成影响。如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下K7键,即可以暂停计时,暂停时间到时,再按下K7键继续计时,直至上半场赛程结束,蜂鸣器会发出10秒的响声。下半场的流程和上半场基本上是一样的 [8]。

4.2 篮球计时计分器编程设计

编程前,必须设置好地址、数据以及控制信号。

编程单元的地址加在P1口和P2口的P2.0—P2.3(11位地址范围为0000H—0FFFH),数据从P0口输入,引脚P2.6、P2.7、P3.6、P3.7的电平设置参考校验电路,/PSEN为低电平,RST保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲。

编程时,可采用4—20MHZ的时钟振荡器,本次设计采用12MHZ的石英晶体振荡器。具体过程是:

(1)在地址线上加上要编程单元的地址信号,这里为33H,34H,35H,36H,37H,38H,6个地址符。

- 19 -

长春理工大学毕业设计

(2)在数据线上加上要写入的数据字节,比如甲队加一分就是在36H地址上加上(偏移)一个字符06H。

(3)激活相应的控制信号。

(4)在高电压编程方式时,将EA/Vpp端加上+12V编程电压。

(5)改变编程单元的地址和写入的数据,重复1—5步骤,直到全部文件编程结束,每个字节写入周期是自身定时的,通常约为1.5ms [7]。

本次设计的程序流程图如4-1:

开始定时清0甲乙两队分数清0设置定时时间如:20分钟Y启动键是否按下N倒计时开始定时Y定时时间到否NY喇叭响10秒N暂停键是否按下NK1、K2、K3、K4是否按下交换键是否按下NY甲乙两队交换分数,并显示Y对应甲、乙两队加减分数

图4-1 程序流程图

4.3 主要模块说明

4.3.1 计时部分模块流程

- 20 -

长春理工大学毕业设计

定时中断初始化按下调时开关,产生低电平开放定时中断立即数00H取出,LE输出高电平经过P1.0发送代码,然后将LE清0启动定时器,T0开始定时调用定时中断程序

图4-2 计时部分流程图

4.3.2 记分部分模块流程

按下计分键输出低电平,外部中断产生调用中断程序串行数据输出移位脉冲输出显示数据,两队相应比分变化串行口发送完毕,标志清零

图4-3 计分部分流程

4.4 篮球计时计分器程序源代码

程序代码: ORG 0000H

AJMP LK1 ;主程序地址 ORG 000BH ;定时中断入口地址 AJMP CTCO

- 21 -

长春理工大学毕业设计

ORG 0013H ;外部中断入口地址 AJMP CXT

LK1: MOV 33H,#00H ;甲队记分清0 MOV 34H,#00H MOV 35H,#00H

MOV 36H,#00H ;乙队记分清0 MOV 37H,#00H MOV 38H,#00H

MOV 40H,#00H ;记时分钟清0 MOV 41H,#00H CLR P0.0

Mp: CLR P2.0 ;计时牌子清零 CLR P2.1 ;分分秒秒清0 CLR P2.2 CLR P2.3 MOV P1,#00H NOP NOP

SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3

MOV 42H,#05H ;送秒钟初值59秒 MOV 43H,#09H

MOV SCON,#00H ;计分牌子清零程序 CLR P3.7 MOV R1,#33H

- 22 -

长春理工大学毕业设计

MOV R2,#06

LP: MOV A,@R1

MOV DPTR,#TAB ;取显示数 MOVC A,@A+DPTR

MOV SBUF,A ;通过串行口发显示数据 JNB TI,$ ;是否发送完毕 CLR TI ;清除标志位 INC R1

DJNZ R2,LP ;6次是否 发送完毕 SETB P3.7 ;显示数据 LK3: JB P2.4,LK6 ACALL D10MS

JB P2.4,LK3 ACALL D2S

LK4: JB P2.4,LK3 ;调整分钟(十位) CLR P2.0 ;显示分钟十位数据 MOV P1,40H SETB P2.0

ACALL D2S ;调用延时程序 INC 40H ;将十位加1 MOV A,40H

CJNE A,#0AH,LK4 ;十到了没有 MOV 40H,#00H AJMP LK4

LK6: JB P2.5,LK5 ACALL D10MS JB P2.5,LK6 ACALL D2S

- 23 -

长春理工大学毕业设计

LK7: JB P2.5,LK6 ; 调分钟(个位) CLR P2.1 ;显示分钟个位数据 MOV P1,41H SETB P2.1

ACALL D2S ;调用延时程序 INC 41H ;将个位加1 MOV A,41H

CJNE A,#0AH,LK7 ;十到了没有 MOV 41H,# 00H AJMP LK7

LK5: JB P2.6,LK3 ;等待启动计时 ACALL D10MS JB P2.6,LK5

CLR P2.2 ;显示秒钟十位 MOV P1,42H NOP NOP

SETB P2.2

CLR P2.3 ;显示秒钟个位 MOV P1,43H NOP NOP

SETB P2.3

SETB P0.0 ;点亮计时指示灯 MOV TMOD,#01H ;定时中断初始化 MOV TL0,#0B0H ;送定时初值 MOV TH0,#3CH

- 24 -

长春理工大学毕业设计

SETB ET0 ;开放定时中断 SETB EX1 ;开放外部中断 CLR IT0 ;外部中断低电平有效 SETB TR0 ;启动定时 MOV R0,#14H SJMP $

CTCO: JNB P2.6,LK8 ;定时中断程序 DJNZ R0,NEXT ;一秒钟到了吗? MOV R0,#14H DEC 43H

CLR P2.3 ;显示时间 MOV P1,43H ;显示秒钟个位 NOP NOP

SETB P2.3

CLR P2.2 ;显示秒钟十位 MOV P1,42H NOP NOP

SETB P2.2

CLR P2.1 ;显示分钟个位 MOV P1,41H NOP NOP

SETB P2.1

CLR P2.0 ;显示分钟十位

- 25 -

长春理工大学毕业设计

MOV P1,40H NOP NOP

SETB P2.0 MOV A,43H

CJNE A,#00H,NEXT ;秒钟个位回到0没有 MOV 43H,#0AH ;秒钟个位送初值10 MOV A,42H

CJNE A,00H,LP3 ;秒钟十位回到0没有 MOV 42H,#05H ;秒钟十位送初值5 MOV A,41H

CJNE A,#00H,LP2 ;分种个位回到0没有 MOV 41H,#09H ;分钟个位送初值9 MOV A,40H

CJNE A,#00H,LP1 ;分钟十位回到0没有 CLR P0.0

CLR P3.6 ;时间到发出警备10S ACALL D10S SETB P3.6

KP11: JB P2.6,KP11 ;等待交换 AJMP KP12 ;去两队分数交换程序 LK8: ACALL D10MS JB P2.6,CTCO ;计时暂停处理 CLR P0.0

LK9: JNB P2.6,LK9 ;等待键按下 KL10: JB P2.6,LK10 ;等待键放开 SETB P0.0 ;继续计时 AJMP CTCO

- 26 -

长春理工大学毕业设计

参考文献

[1]梁纯等.基于MCS-51 单片机的LED点阵图文显示屏设计.工矿自动化. 2005 年第6 期

[2]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社.1996. [3]诸昌钤.LED显示屏系统原理及工程技术[M].成都:电子科技大学出版社. 2000.

[4]韩润萍等.点阵LED显示屏控制系统.微计算机信息.203 年第19 卷第10 期 [5]徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社.2000

[6]王福瑞.单片微机测控系统设计大全[M].北京:北京航空航天大学出版社,1998

[7]李东生.Protel99 SE电路设计技术入门与应用.第一版.北京:电子工业出版社.2002

[8]彭为.黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社.2006

[9] 宋占坡. 用单片机控制字符型液晶显示器TC1602A[N]. 电子报, 2007, (2007-05-20)

[10] Morimoto, M,Sato, S.; Sumito, K.; Oshitani, K.; Single-chip microcomputer control of the inverter [M]. IEEE .1989.

[11]S.J.Cahill.The single chip microcomputer.Englewood Cliffs.[M]N.J.Prentice-Hall, 1987

[12] Shu Jiang Li,Cheng Jun Lin,Yun Long Chang.Intelligent Control of Spot Welding Inverter Based on Single Chip Microcomputer[M]. 2000.

- 32 -

长春理工大学毕业设计

致 谢

值此论文完成之际,谨向给予我指导、关心和帮助的老师、同学、朋友、亲人表示最衷心的感谢。

本论文是在我的导师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,臧老师都始终给予我细心的指导和不懈的支持。

在此谨向臧老师致以诚挚的谢意和崇高的敬意!

在此,我还要感谢在一起愉快的度过本科生活的通信4213班各位同学,以及梁友良,张远凯,方鹏等人,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。

在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!

- 33 -

本文来源:https://www.bwwdw.com/article/5lx7.html

Top