《基于单片机的篮球计时计分器设计-毕业(设计)论文论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的篮球计时计分器设计-毕业(设计)论文论文.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、I毕 业 论 文(设 计)题目 基于单片机的篮球计时记分器设计II内内 容容 提提 要要随着单片机在各个领域的广泛应用,许多用单片机作控制的球赛计时计分器也应运而生,如用单片机控制LCD液晶显示器的计时计分器,用单片机控制 LED 七段显示器的计时计分器等。本设计以基本篮球规则为依据,可对篮球比赛实现实时控制,解决篮球比赛时计分与计时的问题。该装置包含硬件设计和软件编程,主要是以 AT89C51 单片机为核心元件,编程控制 LED 七段数码管作显示的球赛计时计分系统,计时部分采用 CD4511(七段 BCD 码译码器)进行硬件译码;计分部分采用 CD4094(8 位移位存储总线寄存器)作为串行
2、口扩展显示器接口,并利用 74LS21(双四输入与门)来实现比分的刷新功能。报警部分采用蜂鸣器为音响器件。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。且价格低廉、操作简单、携带方便,适合学校单位举办友谊比赛等赛事的计时计分辅助工具。关键词单片机;篮球赛计时;篮球赛计分;显示IIIDesign of Timing and Scoring of BasketballCompetition Based onmicrocontrollerAuthor:yang luTutor:wang danAbstractWith a wide range of SCM a
3、pplications in various fields,many with asinle chip timing for the control of the game scoring device have emerged,such as liquid crystal display LCD with MCU control the timing ofscoring device,LED seven segment display with MCU timing controlpoints and more.This design based on the basic rules of
4、basketball,the game ofbasketball can achieve real-time control,total points and timing can besolved in the game of basketball.The device includes hardware designand software programming,mainly based on AT89C51 MCU as the corecomponents,and programmed to control the LED segment digital tube forthe di
5、splay of the game time scoring,Part time using CD4511(sevensegment BCD decoder)for hardware decoding;scoring part is CD4094(8-bit shift register storage bus)serial port expansion,monitor port,anduse 74LS21(Dual four-input AND gate)to achieve the score of therefresh function.Buzzer to sound the alarm
6、 part of the device used.Thesystem is set up with the schedule from time to time,schedule time topause,refresh in time A,B,and after the two sides achieved a temporaryIVsuccess functions.It is inexpensive,stable performance,easy to operateand easy to carry and so on.A wide range suitable for all typ
7、es of schoolsor small groups as time-points race.key wordsMCU;basketball time;basketball scoreboard;ShowI目目录录内内 容容 提提 要要.IIAbstractAbstract.III第一章第一章 引言引言.11.11.1 背景知识介绍背景知识介绍.11.21.2 设计意义设计意义.11.31.3 设计目的设计目的.2第二章:系统设计方案第二章:系统设计方案.32.12.1 系统构成框图系统构成框图.32.22.2 基本功能介绍基本功能介绍.4第三章第三章 系统硬件设计系统硬件设计.53.13
8、.1 系统硬件部分组成系统硬件部分组成.53.23.2 器件的选择器件的选择.53.33.3 系统硬件介绍系统硬件介绍.53.3.13.3.1 单片机单片机 AT89C51AT89C51.53.3.23.3.2 显示器及其接口显示器及其接口.113.3.33.3.3 CD4094CD4094 芯片介绍芯片介绍.123.3.43.3.4 74LS2174LS21 芯片介绍芯片介绍.133.3.53.3.5 报警器报警器.143.43.4 计时电路部分计时电路部分.14II3.4.13.4.1 振荡电路振荡电路.143.4.23.4.2 计时电路的工作原理计时电路的工作原理.153.53.5 计分
9、电路部分计分电路部分.173.5.13.5.1 串行接口工作原理串行接口工作原理.173.5.23.5.2 计分电路的工作原理计分电路的工作原理.18第四章第四章 篮球计时计分器软件设计篮球计时计分器软件设计.204.14.1 篮球计时计分器的工作过程篮球计时计分器的工作过程.214.24.2 篮球计时计分器编程设计篮球计时计分器编程设计.23第五章第五章 结束语结束语.24致谢致谢.26附录附录.271基于单片机的篮球计时记分器设计081308129 杨璐指导教师:王丹 讲师第一章第一章 引言引言1.11.1 背景知识介绍背景知识介绍单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片
10、机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。它的体积小、质量轻、价格便宜、为学习、应用和开
11、发提供了便利条件。1.21.2 设计意义设计意义单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工2作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。本设计就是基于单片机设计时计分系统,通过串口通信动态传输数据,使计时计分系统有了更多更完善的功能。1.31.3 设计目的设计目的篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器等组成。本次设计是由 AT89C51 编程控制 LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新
12、甲、乙双方的成绩等功能。设计内容包括给甲、乙两队分别设置加分按钮,各按钮按下分别实现给甲、乙队加分;给甲、乙两队分别设置减分按钮,各按钮按下分别实现给甲、乙队减分;设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示等。本设计通过串口通信动态传输数据,使计时计分系统有了更多更完善的功能。单片机系统的硬件结构给予了篮球计分器系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的篮球计时计分器面前具有电路简单、成本低、运行可靠等特色。3第二章:系统设计方案第二章:系统设计方案2.12.1 系统构成框图系统构成框图基于单片机系统的篮球赛计时计分器的系统构成框图如图 2-1 所示。图 2
13、-1 系统构成图本系统采用单片机 AT89C51 作为本设计的核心元件。利用 7 段共阴 LED 作为显示器件。在本次设计中,共接入十个七段共阴 LED 显示器,其中 6 个用于记录 甲、乙两队的分数,每队 3 个 LED 显示器,分数范围可达到 0999 分,足够满足赛程需要。另外 4 个 LED 显示器则用于记录赛程的时间,其中两个用于显示分钟,2 个用于显示秒钟。赛程计时采用倒计时方式,即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。根据设计,计时范围可达 099 分钟,也完全满足赛程的需要。其次,为了配合计时器和计分器校正、调整时间和比分,特在本设计中设立了 7 个按键。其
14、中 4 个用于输入甲、乙两队的分数;另外3 个则用于完成设置、调整、启动和暂停赛程时间等功能。AT89C51CD4511计分显示74ls21赛程比分调整键盘CD4511复位赛程时间设置键盘晶振计时显示4再次,我们还设计了定时报警系统,即比赛时间到时,我们立即通过扬声器发出报警声,提示整个赛程结束。2 2.2.2 基本功能介绍基本功能介绍首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管全部显示为0,在计时电路中,按键开关来设置时间。比如:比赛时间是40分钟,分两节,每节20分钟,则通过按键,使数码管1显示“2”即可;再按键设置比赛时间的个位数,使数码管2显示“0”即
15、可。时间设置好后,等待比赛开始。当比赛结束时,如果需增加比赛时间,这时增加比赛时间同样由按键开关来设置。由于在比赛中,甲、乙两队的比分是不断变化的,所以需设置比分刷新控制装置;此功能由计分电路中的按键开关完成,分别为给甲队加1分、加2分、加三分,给乙队加1分、加2分、加3分。当比赛结束时,系统会使用音频振荡器自动发出10秒钟报警声,提示比赛结束。音频振荡信号VS可为正弦波或矩形波,一般800HZ1000HZ,可选用多种方案实现,如RC环形振荡器、自激对称多谐振荡器、555集成定时器构成的振荡器等。5第三章第三章 系统硬件设计系统硬件设计3.13.1 系统硬件部分组成系统硬件部分组成系统硬件主要
16、是由单片机 AT89C51、计时显示电路、计分显示电路、报警电路和按键开关五个部分组成。3.23.2 器件的选择器件的选择本系统在设计过程中主要选取了以下一些器件:单片机:AT89C51四个七段 BCD 译码芯片:CD4511并行/串行转换芯片:CD4094四输入与门:74LS21显示器件:7 段共阴 LED 显示器按键:欧姆龙按键3.33.3 系统硬件介绍系统硬件介绍3.3.13.3.1 单片机单片机 AT89C51AT89C511)、89C51 单片机的主要特性单片机的主要特性本课题中用到的芯片是 AT 系列中的 AT89C51 单片机芯片。AT89C51单片机包含了作为微型计算机所必需的
17、基本功能部件,6具有如下特性:(1)面向控制的8位CPU;(2)一个片内振荡器和时钟产生电路,振荡频率为0-24MHZ;(3)片内4KB Flash ROM程序存储器;(4)128 KB的片内数据存储器;(5)可寻址的64 KB片外程序存储器和片外数据存储器控制电路;(6)2个16位的定时/计数器;(7)4个并行的I/O口,共32条可单独编程的I/O线;(8)5个中断源,2个中断优先级;(9)一个全双工的异步串行口;(10)21个特殊功能寄存器;(11)具有节点工作方式,机有限方式和掉电保护方式。2)、89C51 单片机的引脚功能单片机的引脚功能AT89C51 具有五种封装形式,以适应不同产品
18、的需求。分别为(1)40 脚双列直插封装(DIP 封装)方式;(2)44 脚方形封装方式;(3)48 脚 DIP 封装(4)50 脚方形封装方式;(5)68 脚方形封装方式。其中 40 脚 DIP 封装和 44 脚方形封装为基本封装方式。89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。89C51有40条引脚。这40条引脚可分为32条I/O接口线、2条主电源线、4条控制线或与其它电源复用的引脚、2条外接晶体线4部分。89C51单片机为双列直插式结构,如图3-1示。7图3-1 89C51引脚分配图(1)电源线 89C51 单片机的电源线有以下两种:a)Vcc:电源线,正常操作时
19、接+5V电源b)GND:接地线。(2)89C51单片机的外接晶体引脚a)XTAL1:接外部晶体和微调电容的一端,片内振荡器反向放大器的输入端和内部时钟工作的输入端。振荡电路的频率就是晶体的固有频率,当采用外部振荡器时,此引脚输入外部时钟脉冲。b)XTAL2:接外部石英晶体和微调电容的另一端。片内振荡器反向放大器的输出端,采用外部振荡器时,该引脚悬空。通过用示波器查看XTAL2端是否有脉冲信号输出,可以确定89C51的振荡电路是否正常工作。(3)控制线89C51单片机的控制线有以下几种:a)RST:复位输入,高电平有效,当振荡器工作时,在此引脚上出现两个机器周期以上的高电平,就可以使单片机复位。
20、b)ALE/PROG:地址锁存允许信号,89C51 上电正常工作后,ALE8端不断地往外输出正脉冲信号,此信号频率为振荡器频率的 1/6。AT89C51 在并行扩展外部存储器(包括并行扩展 I/O 口)时,P0 口用于分时传送低 8 位地址和数据信号,当 ALE 信号有效时,P0 口传送的是低 8 位地址信号;ALE 信号无效时,P0 口传送的是 8 位数据信号。在 ALE 信号的下降沿,锁定 P0 口传送的低 8 位地址信号,可以实现 8位地址和数据的分离。ALE 信号可以作为对外输出的时钟或定时信号,当访问外部存储器时,将跳过一个 ALE 脉冲。c)PSEN:外部程序存储器的读选通信号。当
21、 89C51 在由外部程序存储器取指令或常数时,每个机器周期内PSEN两次有效输出。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。d)EA/Vpp:内、外 ROM 选择端。当EA接高电。时,CPU 访问并执行外部存储器的指令;但当 PC(程序计数器)值超过 4 KB(OFFFH)时,将自动转去执行外部存储器的程序。当EA接低电平时,CPU 只访问并执行外部存储器中的指令,而不管是否有内部程序存储器,(4)I/O接口组成(32根I/O接口线)及功能a)P0接口:P0接口有8条接口线(P0.00.7),其中P0.0为低位,P0.7为高位。它由一个输出锁存器、两个三态缓冲器、输出驱动电
22、路和输出控制电路组成。P0接口是一个双向8位三态I/O接口,在访问外部存储器时,可分时用做低8位地址线和8位数据线;在Flash ROM编程时,它输入指令字节,而在验证程序时,则输出指令字节。9b)P1 口:P1 口是一个带有内部上拉电阻的 8 位双向 I/O 口,在Flash ROM 编程和程序验证时,它接收低 8 位地址。c)P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,在访问外部存储器时,它送出高 8 位地址。在对 Flash ROM 编程和程序验证时,它接收高 8 位地址和其它控制信号。d)P3 口:P3 口是一个带有内部上拉电阻的 8 位双向 I/O 口,可驱动 4
23、 个 LSTTL 门电流。在 89C51 单片机中,这 8 个引脚都有各自的第二功能。表 3-1P3 口的第二功能端口引脚第二功能P3.0RXD(串行数据接收端)P3.1TXD(串行数据发送端)P3.2/INT0(外部中断 0 申请输入端)P3.3/INT1(外部中断 1 申请输入端)P3.4T0(记时器 0 计数输入端)P3.5T1(记时器 1 计数输入端)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)3)89C51 单片机的主要组成部分单片机的主要组成部分单片机一般由中央处理器、存储器和 I/O 接口组成。(1)CPUCPU 是单片机的核心部分,它的作用是读入
24、和分析每条指令。根据每条指令的要求控制各个部件执行相应的操作。89C51 单片机内部有一个 8 位的 CPU,它由运算器和控制器组成。10运算器:运算器主要包括算术和逻辑运算部件 ALU、累加器 ACC、寄存器 YMP1、YMP2,程序状态寄存器 PSW,布尔处理器及十进制调整电路。控制器:控制器包括时钟发生器、定时控制逻辑、指令寄存器、指令译码器、程序计数器 PC、程序地址寄存器、数据指针寄存器 DPTR和堆栈指针 SP 等。(2)存储器89C51 单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。89C51片内有 4 KB 的程序存储器和 128
25、 B 的数据存储器,除此之外还可以在片外扩展 64 KB 的程序存储器和 64 KB 的数据存储器。其中 64 KB 的程序存储器中,有 4KB 地址对于片内程序存储器和片外程序存储器是公共的,这 4 KB 的地址为 0000H-0FFFH,从1000H-FFFH 是外部程序存储器的地址,也就是说 4 KB 的内部程序存储器的地址是 0000H-0FFFH,64 KB 的外部程序存储器的地址是000H-FFFH;128 B 的的片内数据存储器的地址是从 00H-7FH(用 8 位地址),而 64 KB 的外部数据存储器的地址是从 0000H-FFFH.(3)并行 I/O 口89C51 有 4
26、个 8 位并行输入、输出端口,记做 P0、P1、P2 和 P3,共 32 根线。实际上它们就是特殊功能寄存器中的 4 个。每个并行 I/O 口都能用做输入/输出,所以称它们为双向 I/O 口。113.3.23.3.2 显示器及其接口显示器及其接口1 1)显示器介绍)显示器介绍同键盘一样,显示器也是人机交流的重要组成部分。计算机的运行结果和运行状态可以通过显示器显示出来。单片机应用系统中常用的显示器有 LED 和 LCD 两种方式。由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。两者之间的区别:(1)二极本身发光,液晶本身不发光,只是透射光。(2)二极管体积大,图像质量一般
27、,适合作室外大屏幕,价格较低。液晶成本较高,面积无法做得很大,但图像质量很好,适合做显示器。(3)二极管耗电大,液晶耗电小。(4)二极管图像刷新率低,液晶的高。在本次设计中采用 LED 显示器。2 2)数码管结构与原理)数码管结构与原理发光二极管 LED(Light Emitting Diode)是一种通电后能发光的半导体器件,其导电性质与普通二极管类似。LED 数码显示器就是由发光二极管组合而成的一种新型显示器件,但是由于低功耗的要求,LCD 显示器越来越被广泛地使用。图 3-2 LED 显示器12如图 3-2 所示:LED 数码管显示器是由 8 个发光二极管组成的,当发光二极管导通时,相应
28、的点或线段发光,将这些发光二极管排成一定的图形,控制不同组合的二极管导通,就可以显示出不同的字形和符号。单片机系统中常用的 LED显示器为七段显示器,再加上一个小数点,因此也可以把它称之为八段数码管显示器。LED 显示器有两种不同的形式:一种是 8 个发光二极管的阳极都连在一起的,称之为共阳极 LED 显示器;另一种是 8 个发光二极管的阴极都连在一起的,称之为共阴极 LED 显示器。如图 3-3 所示:图 3-3(a)共阴 LED(b)共阳 LED3 3)LEDLED 显示器显示方式显示器显示方式点亮 LED 显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是静态显示。这种
29、电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。在数据较多的时候,往往不采用这种设计,而是采用动态显示方式。3.3.33.3.3 CD4094CD4094 芯片介绍芯片介绍在本次设计的计分电路中,我们使用集成电路 CD4094。CD4094是 8 位移位寄存器,它主要完成串行输入/并行输出 8 位数据的功能,所以又叫 8 位串/并转换器。图 3-4 为 CD4094 的引脚图:13图 3-4 CD4094 引脚分布图3.3.43.3.474LS2174LS21 芯片介绍芯片介绍本次设计中的比分校正电路采用四输入与门 74LS21 来实现。74LS21 是双 4 输入与
30、门。在一个芯片里有两个相同的单元,其中一个任何一个都是 1/2 断口。同型号的 74 系列、74HC 系列、74LS 系列芯片,逻辑功能上是一样的。表 3.4 为 74、74HC、74LS 系列芯片资料。表 3.274、74HC、74LS 相关资料表系列电平典型传输延迟 ns最大驱动电流AHCCMOS8.5-8/8AHCTCOMS/TTL8.5-8/8HCCOMS25-8/8HCTCOMS/TTL25-8/8ACTCOMS/TTL10-24/24FTTL6.5-15/64ALSTTL10-15/64LSTTL18-15/24143.3.53.3.5 报警器报警器1 1)报警器的分类报警器的分类
31、报警器的种类很多,比如:扬声器,蜂鸣器等,蜂鸣器有两类品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。2)2)报警器工作原理报警器工作原理本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。3.43.4 计时电路部分计时电路部分3.3.4 4.1.1 振荡电路振荡电路本次设计要
32、使用到 AT89C51 单片机的时钟振荡功能。AT89C51 中有一个用于构成内部震荡器的高增益反相放大器,引脚 XTAL1 和XTAL2 分别是该放大器的输入和输出端。这个放大器与作为反馈元件与片外石英晶体或者陶瓷谐振器一起构成自激振荡器。15图 3-5 时钟振荡电路图 3-6 外部时钟电路3.3.4 4.2 2 计时电路的工作原理计时电路的工作原理计时电路如图 3-7 所示,主要由开关 K5-K7,单片机 AT89C51,译码器以及LED 显示器构成。16图 3-7 计时电路原理图其工作过程如下:当比赛准备开始的时候,当调时(十位)开关 K5 按下时,产生一个低电平;立即数 00H 取出,
33、同时对应调分(十位)控制端 P2.017的 LE 输出高电平,表示此时可以向调分(十位)的 CD4511 发送数据,但 CD4511 的输出端不会有输出,因为 LE=1 时,CD4511 锁存。这时,只要将要显示数据的代码经过P1口的P1.0送到CD4511的输入端A-D端,送完后,将 LE 清零。这时便可以将要显示数据的代码经过 CD4511译码后,从输出端 a-g 输出,送 LED 显示器显示即可。调时按键开关每按一次,数字自动加 1,直到调到需要设置的时间即可。3.3.5 5 计分电路部分计分电路部分AT89C51 单片机除了有 4 个 8 位并行口外,还有一个能同时进行串行发送和接收的
34、全双工串行通信口。它能同时发送和接收数据,还能作为同步移位寄存器使用。球赛计分电路正是利用了 AT89C51 单片机串行口可以外接串行输入并行输出移位寄存作的功能来作为输出口实现球赛比分刷新显示的。3.3.5 5.1.1 串行接口工作原理串行接口工作原理AT89C51 单片机片内有一个串行 IO 端口,通过引脚 RXD(P3 0)和 TXD(P31)可与外设电路进行全双工的 串行异步通信。AT89C51 单片机的串行端口有 4 种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0 主要用于外接移位寄存器,以扩展单片机的 IO 电路;方式 1 多用于双机之
35、间或与外设电路的通信;方式 2,3 除有方式 l 的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制18寄存器(SCON 和 PCON),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器 SBUF(在特殊功能寄存器中的字节地址为 99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向 SBUF 写入数据就启动了发送过程;读 SBUF 就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器 T1 的溢出率确定,使用十分方便灵
36、活。3.5.2 计分电路的工作原理计分电路的工作原理计分电路主要由单片机 AT89C51,串行/并行转换器(CD4094),LED 显示器,74LS21 以及按键开关组成。19图 3-8 计分电路的原理图其工作过程如下:按键开关 K1-K4 组成甲、乙两队加减分控制。按键 K1-K4 一端接地,另一端输入与门 74LS21 的 9 脚,10 脚,12 脚,13 脚,以及单片机 AT89C51 的 P3.5,P3.4,P0.2,P0.1,8 脚接 AT89C5120的 P3.2 脚。因为按键开关按下时为低电平,当按键开关 K1-K4 四个按键的任何一个按下时,与门的 8 脚输出都会产生低电平使单
37、片机中断,从而使相应 LED 显示。21第四章第四章 篮球计时计分器软件设计篮球计时计分器软件设计4 4.1 1 篮球篮球计时计分器的工作过程计时计分器的工作过程本次设计的程序流程图如 4-1:YNYNYNNNYY图 4-1 程序流程图开始定时清零甲乙两队分数清零设置定时时间如:20 分钟启动键是否按下倒计时开始定时定时时间到否暂停键是否按下交换键是否按下甲乙两队交换分数,并显示蜂鸣器响 10 秒对应甲乙两队加减分数K1、K2、K3、K4 是否按下22首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管全部显示为 0000 和 000 000;然后我们按照计时电路中的
38、 K5 键来设置比赛时间的十位数,例如比赛时间上半场为 20 分钟,则通过 K5 键,使数码管 1 显示“2”即可;再按下 K6 键,设置比赛时间的个位数,使数码管 2 显示“0”即可。一般比赛时间为 40 分钟,所示只需要按下 K5 键显示“4”,按下 K6 键显示“0”即可。时间设置好时,等待赛程开始,当裁判吹响哨声时,启动计时,这时计时电路便开始工作,计时采用倒计时方式,即从 20 分钟减为 0表示上半场结束。上半场结束时,蜂鸣器会发出 10 秒钟响声,通知上半场结束,这时按下 K7 键,便完成了甲、乙两队的分数交换。在整个赛程中,我们还要对两队比分进行及时刷新,这时我们通过计分电路中的
39、 K1-K4 键完成此功能,K1 和 K2 键完成甲队加分、减分,K3和 K4 键完成乙队加分、减分。按键每按一下,表示加上或者减去 1分。由于加分、减分我们采用中断完成,且加、减分的中断优先权小于计时电路中的中断优先权,所以不会对计时电路造成影响。如果在赛程过程中,一方的教练申请暂停时,经裁判批准,我们立即按下 K7键,即可以暂停计时,暂停时间到时,再按下 K7 键继续计时,直至上半场赛程结束,蜂鸣器会发出 10 秒的响声。下半场的流程和上半场基本上是一样的。234.24.2 篮球计时计分器编程设计篮球计时计分器编程设计编程前,必须设置好地址、数据以及控制信号。编程单元的地址加在 P1 口和
40、 P2 口的 P2.0P2.3(11 位地址范围为 0000H0FFFH),数据从 P0 口输入,引脚 P2.6、P2.7、P3.6、P3.7的电平设置参考校验电路,PSEN为低电平,RST 保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG 引脚输入编程脉冲。编程时,可采用 420MHZ 的时钟振荡器,本次设计采用 12MHZ的石英晶体振荡器。具体过程是:(1)在地址线上加上要编程单元的地址信号,这里为 33H,34H,35H,36H,37H,38H,6 个地址符。(2)在数据线上加上要写入的数据字节,比如甲队加一分就是在36H 地址上加上(偏移)一个字符
41、06H。(3)激活相应的控制信号。(4)在高电压编程方式时,将 EA/Vpp 端加上+12V 编程电压。(5)改变编程单元的地址和写入的数据,重复 15 步骤,直到全部文件编程结束,每个字节写入周期是自身定时的,通常约为1.5ms。24第五章第五章 结束语结束语在本次毕业设计,我通过基于典型单片机AT89C51的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机汇编程序的应用有了新的、进一步的认识。在本次设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。另外单片机系统的知识
42、似懂非懂,而且很多知识当时弄明白了,现在要用的时候又不记得,造成我用了大量的时间去查阅各种资料和程序命令,因此整个过程时间安排不合理。由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题。另外资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。在利用单片机设计简易 LED 显示屏的整个设计过程中,从电路的设计,元器件的采购,电路的调试,程序的编写以及最后的电路板的制作,我都亲自参与了设计与制作,这对我对于理论和实际相结合有
43、了新的认识。单片机目标系统装完之后,应该首先认真细致地检查一遍:25第一,根据硬件电路原理图和装配图仔细检查线路的正确性,并检查元器件安装是否正确。常常要注意的是芯片及开关管的型号、放大器和开关管的极性、电容器的耐压和极性、电阻的阻值和功率是否与设计图纸相符,重点检查系统总线间或总线与其它信号线间是否存在短路;第二,检查焊接点是否牢固,特别要仔细检查有无漏焊和错焊;对于靠得很近的相邻焊点,要注意检查金属毛刺和是否短路,必要时可用万用表进行测量。调试过程有时可能要重复多次。另外,在烧写程序的时候,一定要注意到 AT89 系列默认的有芯片加密。本次设计测试结果以及不足之处:上电复位后,进行定时设置
44、,设置完成后,启动计时。计时过程中按下 K1K4 观察分电路是否工作正常。进行分析后得出结论如下:系统电路部分设计没有原则性的错误,在制版的过程中注意了走线,并且在焊接过程中没有发生大的事故,因此硬件部分功能完好。但因为软件系统编写方面的疏忽,在比分交换及计时部分没有能很好的实现。26致谢致谢随着论文的定稿,毕业设计也即将接束,我很感激我的学校,给我提供了一个度过大学四年的机会,在这里我认识了那些可爱的同学们,亲切的老师们,以及学到了知识,度过了美好的四年,留下了宝贵的财富。毕业之际,一砖一瓦、一草一木都充满着感情。在此,我还要感谢在一起愉快的度过本科生活的电子信息0813081 班的同学,大
45、学生活有了你们的陪伴变得格外美好,谢谢你们,希望大家都有一个灿烂的未来。参考文献参考文献1梅丽风,王艳秋等.单片机原理及接口技术J清华大学出版社2胡汉才.单片机原理及其接口技术M.北京:清华大学出版社.1996.3诸昌钤.LED显示屏系统原理及工程技术M.成都:电子科技大学出版社.2000.4韩润萍等.点阵LED显示屏控制系统.微计算机信息.203 年第19 卷第10 期5徐惠民,安德宁.单片微型计算机原理、接口及应用.第二版.北京:北京邮电大学出版社.20006王福瑞.单片微机测控系统设计大全M.北京:北京航空航天大学出版社,19987李东生.Protel99 SE 电路设计技术入门与应用.
46、第一版.北京:电子工业出版社.20028彭为.黄科,雷道仲.单片机典型系统设计实例精讲.北京:电子工业出版社.200627附录附录篮球计时计分器程序源代码ORG0000HAJMPLK1;主程序地址ORG000BH;定时中断入口地址AJMPCTCOORG0013H;外部中断入口地址AJMPCXTLK1:MOV33H,#00H;甲队记分清 0MOV34H,#00HMOV35H,#00HMOV36H,#00H;乙队记分清 0MOV37H,#00HMOV38H,#00HMOV40H,#00H;记时分钟清 0MOV41H,#00HCLRP0.0Mp:CLRP2.0;计时牌子清零CLRP2.1;分分秒秒清
47、 0CLRP2.2CLRP2.3MOVP1,#00HNOPNOPSETBP2.0SETBP2.1SETBP2.2SETBP2.3MOV42H,#05H;送秒钟初值 59 秒MOV43H,#09HMOVSCON,#00H;计分牌子清零程序CLRP3.7MOVR1,#33HMOVR2,#06LP:MOVA,R1MOVDPTR,#TAB;取显示数MOVCA,A+DPTRMOVSBUF,A;通过串行口发显示数据JNBTI,$;是否发送完毕CLRTI;清除标志位INCR128DJNZR2,LP;6 次是否 发送完毕SETBP3.7;显示数据LK3:JBP2.4,LK6ACALLD10MSJBP2.4,L
48、K3ACALLD2SLK4:JBP2.4,LK3;调整分钟(十位)CLRP2.0;显示分钟十位数据MOVP1,40HSETBP2.0ACALLD2S;调用延时程序INC40H;将十位加 1MOVA,40HCJNEA,#0AH,LK4;十到了没有MOV40H,#00HAJMPLK4LK6:JBP2.5,LK5ACALLD10MSJBP2.5,LK6ACALLD2SLK7:JBP2.5,LK6;调分钟(个位)CLRP2.1;显示分钟个位数据MOVP1,41HSETBP2.1ACALLD2S;调用延时程序INC41H;将个位加 1MOVA,41HCJNEA,#0AH,LK7;十到了没有MOV41H,
49、#00HAJMPLK7LK5:JBP2.6,LK3;等待启动计时ACALLD10MSJBP2.6,LK5CLRP2.2;显示秒钟十位MOVP1,42HNOPNOPSETBP2.2CLRP2.3;显示秒钟个位MOVP1,43HNOPNOPSETBP2.329SETBP0.0;点亮计时指示灯MOVTMOD,#01H;定时中断初始化MOVTL0,#0B0H;送定时初值MOVTH0,#3CHSETBET0;开放定时中断SETBEX1;开放外部中断CLRIT0;外部中断低电平有效SETBTR0;启动定时MOVR0,#14HSJMP$CTCO:JNBP2.6,LK8;定时中断程序DJNZR0,NEXT;一
50、秒钟到了吗?MOVR0,#14HDEC43HCLRP2.3;显示时间MOVP1,43H;显示秒钟个位NOPNOPSETBP2.3CLRP2.2;显示秒钟十位MOVP1,42HNOPNOPSETBP2.2CLRP2.1;显示分钟个位MOVP1,41HNOPNOPSETBP2.1CLRP2.0;显示分钟十位MOVP1,40HNOPNOPSETBP2.0MOVA,43HCJNEA,#00H,NEXT;秒钟个位回到 0 没有MOV43H,#0AH;秒钟个位送初值 10MOVA,42HCJNEA,00H,LP3;秒钟十位回到 0 没有MOV42H,#05H;秒钟十位送初值 5MOVA,41HCJNEA,