基于单片机篮球赛计时计分器设计.doc
《基于单片机篮球赛计时计分器设计.doc》由会员分享,可在线阅读,更多相关《基于单片机篮球赛计时计分器设计.doc(32页珍藏版)》请在咨信网上搜索。
摘 要 篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。本文详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。 关键词:单片机 篮球赛计时 篮球赛计分 第一章 引言 1.1 背景知识介绍 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择[2]。 1.2 设计意义 单片机的应用具有高度现实意义。单片机极高的可靠性微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。 通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用[5]。 1.3 设计目的 随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。 本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分 [8]。 通过本次基于C51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面: (1) 篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。 (2) 可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。 (3) 怎样利用串行口来扩展显示接口等[6]。 第二章 系统硬件介绍 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为AT89C51单片机基本构造,其基本性能介绍如图2-1: 图2-1 AT89C51引脚图 AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 2.1.2 主要特性 AT89C51的主要特性如表2-1所示: · 兼容MCS—51指令系统 · 4k可反复擦写(>1000次)Flash ROM · 32个双向I/O口 · 可编程UARL通道 · 两个16位可编程定时/计数器 · 全静态操作0-24MHz · 1个串行中断 · 128x8bit内部RAM · 两个外部中断源 · 共6个中断源 · 可直接驱动LED · 3级加密位 · 低功耗空闲和掉电模式 · 软件设置睡眠和唤醒功能 表2-1 AT89C51主要功能描述 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编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表2-2所示: 表2-2 AT89C51特殊功能表 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器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:来自反向振荡器的输出。 2.1.4 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止 [6]。 2.1.5 掉电模式 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位。复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重新启动并且稳定的工作 [5]。 表2-3 外部引脚状态表 模式 空闲模式 空闲模式 掉电模式 掉电模式 程序存储器 内部 外部 内部 外部 ALE 1 1 0 0 /PROG 1 1 0 0 P0 数据 浮空 数据 浮空 P1 数据 数据 数据 数据 P2 数据 数据 数据 数据 P3 浮空 浮空 数据 数据 2.1.6 程序储存器的加密 AT89C51可使用对芯片上的三个加密位LB1、LB2、LB3[2]进行编程(P) 或者不进行编程(U)。当加密位LB1被编程时,在复位期间,EA断的逻辑电平被采样并锁存,如果单片机上电后一直没有服位,则锁存起的初始值是一个随机数,这个随机数会保存到真正复位为止 [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所示。 图2-3 共阴与共阳极LED显示器 2.2.3 LED显示器显示方式 点亮LED显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是静态显示。 这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。从下图可以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式 [3]。 所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。图2-4为4位LED显示器动态显示电路。 图2-4 动态显示图 2.3 CD4094芯片介绍 在本次设计的计分电路中,我们使用集成电路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相关资料表 系列 电平 典型传输延迟ns 最大驱动电流 AHC CMOS 8.5 -8/8 AHCT COMS/TTL 8.5 -8/8 HC COMS 25 -8/8 HCT COMS/TTL 25 -8/8 ACT COMS/TTL 10 -24/24 F TTL 6.5 -15/64 ALS TTL 10 -15/64 LS TTL 18 -15/24 2.5 报警器 2.5.1 报警器的分类 蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。 2.5.2 报警器工作原理 报警器的种类很多,比如:扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声 [2]。 第三章 硬件电路设计 系统硬件由以下几个部分组成: (1)单片机 AT89C51 (2)计时电路 (3)计分电路 (4)按键开关 说明:整个系统只用一片AT89C51;在图中将计时电路与计分电路分开画,只是为了能够更好的更清晰的说明问题;并且在整个画图过程中将AT89C51引脚打乱是为了使图示能够更加的清晰明了[7]。 3.1 系统方案设计 3.1.1 系统构成框图 基于单片机系统的篮球赛计时计分器的系统构成框图如图3-1所视。 图3-1 系统构成图 本系统采用单片机AT89C51作为本设计的核心元件。利用7段共阴LED作为显示器件。在本次设计中,共接入十个七段共阴LED显示器,其中6个用于记录 甲、乙两队的分数,每队3个LED显示器分数范围可达到0—99分,足够满足赛程需要。另外4个LED显示器则用于记录赛程的时间,其中两个用于显示分钟;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中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器[1]。 振荡电路如图3-2所示 图3-2 时钟振荡电路 图3-3 外部时钟电路 图3-4 系统总体电路 图3-5 计时电路原理图 3.3.2 计时电路的工作原理 计时电路如图3-5所示,主要由开关K5-K7,单片机AT89C51,译码器以及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 计分电路原理图 图3-6 计分电路原理图 3.4.3 计分电路的工作原理 计分电路主要由单片机AT89C51,串行/并行转换器(CD4094),LED显示器,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]。 第四章 篮球计时计分器软件设计 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个地址符。 (2)在数据线上加上要写入的数据字节,比如甲队加一分就是在36H地址上加上(偏移)一个字符06H。 (3)激活相应的控制信号。 (4)在高电压编程方式时,将EA/Vpp端加上+12V编程电压。 (5)改变编程单元的地址和写入的数据,重复1—5步骤,直到全部文件编程结束,每个字节写入周期是自身定时的,通常约为1.5ms [7]。 本次设计的程序流程图如4-1: 图4-1 程序流程图 4.3 主要模块说明 4.3.1 计时部分模块流程 图4-2 计时部分流程图 4.3.2 记分部分模块流程 图4-3 计分部分流程 4.4 篮球计时计分器程序源代码 程序代码: ORG 0000H AJMP LK1 ;主程序地址 ORG 000BH ;定时中断入口地址 AJMP CTCO 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 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 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 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 ;显示分钟十位 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 P3: DEC 42H ;将秒钟十位减1 AJMP NEXT LP1: DEC 40H ;将分钟十位减1 AJMP NEXT LP2: DEC 41H ;将分钟个位减1 NEXT: MOV TL0,#0B0H ;定时中断送初值返回 MOV TH0,#3CH RETI KP12: MOV A,33H ;甲乙两队交换分数 XCH A,36H MOV 33H,A MOV A,34H XCH A,37H MOV 34H,A MOV A,35H XCH A,38H MOV 35H,A AJMP mp ;返回显示交换后的分数 CXT: JNB P3.5,KP1 ;甲队+1 JNB P3.4,KP2 ;甲队-1 JNB P0.2,KP3 ;乙队+1 JNB P0.1,KP4 ;乙队-1 AJMP KP KP1: JNC 36H ;甲队+1程序 MOV A,36H CJNE A,#0AH,KP5 MOV 36H,#00H INC 37H MOV A,37H CJNE A,#0AH,KP5 MOV 37H,#00H INC 38H AJMP KP5 KP2: MOV A,36H ;甲队-1程序 CJNE A,#00H,AP1 MOV 36H,#09H DEC 37H AJMP KP5 AP1: DEC 36H AJMP KP5 KP3: INC 33H ;乙队+1程序 MOV A,33H CJNE A,#0AH,KP5 MOV 33H,#00H INC 34H MOV A,34H CJNE A,#0AH,KP5 MOV A,34H CJNE A,# 0AH,KP5 MOV 34H,#00H INC 35H AJMP KP5 KP4: MOV A,33H ;乙队-1程序 CJNE A,#00H,AP2 MOV 34H,#09H DEC 35H AJMP KP5 AP2: DEC 34H KP5: CLR P3.7 ;显示分数 MOV R1,#33H MOV R2,#06H LP6: MOV A,@R1 MOV DPTR,#TAB ;查找显示数据 MOVC A,@A+DPTR MOV SBUF,A ;通过串行口发送显示 JNB TI,$ ;串行口是否发送完毕 CLR TI ;串行口标志清0 INC R1 DJNZ R2,L ;6次是否发送完毕 SETB P3.7 KP6: JNB P3.3,KP6 KP: RETI TAB: DB 3FH, 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H ;显示字 D10S: MOV 50H,#05H ;延时程序10S D2S:- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 篮球赛 计时 计分 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文