体育比赛计分器
- 格式:doc
- 大小:258.00 KB
- 文档页数:14
篮球赛计时计分器设计毕业论文目录第一章引言 (1)1.1 背景知识介绍 (1)1.2 设计意义 (1)1.3 设计目的 (2)第二章方案设计 (3)2.1 系统方案设计 (3)2.1.1 系统构成框图 (3)2.1.2 器件选择 (3)2.1.3 基本功能介绍 (4)2.2 硬件总体设计 (5)第三章硬件电路设计 (7)3.1 系统硬件介绍 (7)3.1.1 单片机AT89C51简介 (7)3.1.2 显示器及其接口 (7)3.1.3 CD4511芯片介绍 (8)3.1.4 CD4094芯片介绍 (8)3.1.5 74LS21芯片介绍 (9)3.1.6 报警器 (9)3.2 计时电路部分 (9)3.2.1 振荡电路 (9)3.2.2 计时电路原理 (10)3.2.3 计时电路原理图 (10)3.2.4 计时电路的工作原理 (11)3.3 计分电路部分 (12)3.3.1 串行接口工作原理 (12)3.3.2 比分校正控制电路 (12)3.3.3 计分电路原理图 (12)3.3.4 计分电路的工作原理 (14)3.4 球赛计时计分器的工作过程 (14)第四章软件编程及调试 (16)4.1 软件设计 (16)4.1.1 编程设置及总流程框图 (16)4.1.2 主要模块说明 (17)4.2 系统调试 (19)4.2.1 软件调试 (19)第五章结论 (21)致谢 (22)参考文献 (23)附录 (24)第一章引言1.1 背景知识介绍篮球比赛是根据运动队在规定比赛时间里得分多少来决定胜负的,一次比赛的计时计分至关重要。
在以前的传统体育比赛里,基本都是采用的人工手段计时计分。
人工手段存在诸多弊端。
首先,需要安排专门的人士负责计时和计分,这就引出了专业计时计分人员的需求。
其次,即使是专业计时计分员操作,也难免百密一疏,不能完全保证时间和分数记录的准确性,这就会引起比赛公平性方面的问题。
再者,如果比赛赛程频密,对人工计时计分的效率是一大考验。
单片机课程设计报告篮球比赛计分器设计姓名:学号:专业班级:指导老师:所在学院:年月日摘要本设计是采用单片机AT89C52作为本设计的核心元件。
利用7段共阴LED 作为显示器件。
在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。
赛程计时采用倒计时方式。
即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。
计时范围可达到0~99分钟,也完全满足实际赛程的需要。
当比赛队A对得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B对的得分。
采用单片机控制使这个系统按键操作使用简洁,LED显示,安装方便。
解决了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。
本设计可以实现:1、能记录整个赛程的比赛时间,并能修改比赛时间2、能随时刷新甲、乙两队在整个过程中的比分3、中场交换比赛场地时,能交换甲、乙两队比分的位置4、比赛结束时,能发出报警声,等功能1 概述 31.1设计意义 (3)1.2设计内容 (4)1.3设计任务和要求 (4)2 系统总体方案及硬件设计 42.1AT89C52简介 (4)2.2数码管显示原理 (6)2.3总体方案: (7)2.4硬件原理图: (8)3 软件设计 73.1主流程图: (7)4.PROTEUS软件仿真85、课程设计体会10附1:源程序代码11附2 系统原理图211.1设计意义体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。
PLC控制的篮球比赛计时计分器毕业设计1. 介绍作为一种常见的体育比赛计时计分设备,篮球比赛计时计分器在提高比赛效率、记录比赛成绩、保障比赛公正方面发挥着重要作用。
本篇文章将围绕PLC控制的篮球比赛计时计分器毕业设计展开深入探讨,旨在从设计原理、实现方法、技术难点等方面全面解读该毕业设计的价值和意义。
2. 设计原理PLC(Programmable Logic Controller,可编程逻辑控制器)作为一种工业自动化控制系统,其具有可编程、灵活性强、可靠性高等特点,是控制篮球比赛计时计分器的理想选择。
设计中,借助PLC的输入/输出模块,可实现对比赛时间和比分的准确控制,提高计分器的稳定性和精准度。
3. 实现方法在PLC控制的篮球比赛计时计分器毕业设计中,需要考虑到计时和计分的同步性、实时性以及人性化的操作界面。
通过设计合理的程序逻辑,结合触摸屏等先进的人机界面技术,可以实现对比赛进程的全面监控和控制,确保比赛计时计分过程的准确无误。
4. 技术难点在该毕业设计中,存在着一些技术难点需要克服。
如何实现计时和计分的精准同步、如何应对突发情况下的异常处理、如何确保设备在长时间运行中的稳定性等。
这些都需要设计者具备扎实的PLC编程和控制技术,深入理解篮球比赛规则和实际比赛场景,以及对计时计分器硬件电路和结构设计的全面考量。
5. 总结回顾通过对PLC控制的篮球比赛计时计分器毕业设计的探讨,我们可以看到,其设计不仅仅是对技术的考验,更是对设计者对篮球比赛规则的理解和对工程实践能力的挑战。
设计者需要综合考虑技术、实用性和可靠性,为比赛的公正进行提供有力保障。
6. 个人观点对于这样的毕业设计,我认为设计者需要有扎实的技术功底,同时要善于思考和总结,关注实际应用中的细节和问题。
只有站在使用者的角度,深入了解比赛需求,才能设计出符合实际情况的篮球比赛计时计分器。
我对这样的毕业设计充满期待,并期待看到更多的优秀作品问世。
篮球比赛计分器课程设计一、课程目标知识目标:1. 学生能够理解篮球比赛的基本规则和计分方法;2. 学生能够掌握篮球比赛计分器的基本操作和使用方法;3. 学生能够运用篮球比赛计分器进行实际比赛计分。
技能目标:1. 学生能够运用所学的篮球比赛计分方法,准确、迅速地进行计分;2. 学生能够通过操作篮球比赛计分器,提高信息处理和实时统计的能力;3. 学生能够在团队协作中,合理分配任务,提高沟通与协作能力。
情感态度价值观目标:1. 学生培养对篮球运动的兴趣,增强体育锻炼的意识;2. 学生树立公平、公正的比赛观念,尊重对手,遵守比赛规则;3. 学生通过团队协作,培养团队精神和集体荣誉感,提高人际交往能力。
课程性质:本课程为信息技术与体育学科的跨学科实践课程,结合篮球比赛计分器的使用,培养学生实际操作能力和团队协作精神。
学生特点:六年级学生具备一定的篮球知识和技能,对信息技术有较高的兴趣,喜欢动手操作,具备一定的团队协作能力。
教学要求:结合学生特点,注重实践操作,强调团队合作,提高学生的信息处理能力和实际应用能力。
通过课程学习,使学生能够将所学知识应用于实际篮球比赛计分中,提高学生的综合素养。
1. 篮球比赛规则与计分方法:- 篮球比赛基本规则介绍;- 篮球比赛得分项目的学习;- 篮球比赛计分方式的掌握。
2. 篮球比赛计分器操作:- 认识篮球比赛计分器硬件设备;- 学习计分器的基本操作流程;- 掌握计分器在比赛中的应用。
3. 实践操作与团队协作:- 设计实践操作环节,让学生实际操作计分器;- 进行模拟篮球比赛,进行计分实践;- 培养学生在团队中合理分工,协同合作的能力。
4. 教学大纲:- 第一课时:篮球比赛规则与计分方法学习;- 第二课时:篮球比赛计分器硬件设备认识与操作学习;- 第三课时:模拟篮球比赛计分实践;- 第四课时:总结与评价,提高学生团队协作能力。
教学内容依据课程目标进行选择和组织,注重科学性和系统性。
前言体育比赛计时计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。
随着单片机载各个领域的广泛应用,许多用单片机作控制的球赛计时计分器系统也应运产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED 七段显示器计时计分器等。
本文介绍一种由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。
本系统具有赛程定时设置、赛程时间暂停、及时刷新甲、乙队双方的成绩以及赛后成绩暂存等功能。
它具有价格低廉、性能稳定、操作方便且易携带等特点。
广泛适合各类学校和小团体作为赛程计时计分。
利用7段共阴LED作为显示器件。
在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。
其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了7个按键,用于设置,调整时间,启动,调整分数和暂停等功能。
采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。
1. 总体设计方案1.1 控制原理篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块,通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。
这四个模块的相互连接如图1所示:图1 球赛计时计分器系统图本设计是基于AT89S52单片机的篮球计时计分器,利用7段共阴LED作为显示器件。
在此设计中共接入了1个四位一体7段共阴LED显示器,2个两位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到0~99分。
DACHANGCHUN INSTITUTE OF TECHNOLOGY篮球比赛记分器The Game Of Basketball Scoring Device设计题目:篮球比赛记分器学院名称:电气与信息工程学院专业名称:电子信息工程任务分配表班级学号姓名完成主要任务电子104208 PCB的绘制仿真与实现电子1042 13 程序的修改PCB的绘制仿真与实现PROTEUS原理图绘制与仿真电子1042 35 文档的编写程序的修改PROTEUS原理图绘制与仿真篮球比赛记分器摘要:本文设计了一个篮球比赛记分器主要利用单片机AT89C51作为核心元件,利用3组4位共阳极的数码管作为显示器件,以C语言作为编程语言,在Protues和Keil搭建的软件仿真平台下进行仿真,本设计包含了AT89C51系列单片机的最小系统的构成,同时在此基础上扩展了一些实用性强的外围接口,可以进一步了解译码器74LS247的应用,LED七段数码管的结构和工作原理,主要实现了计时和显示A/B队的分数,并能及时进行加分,减分,鸣笛警示等功能。
本系统具有成本低廉、性能稳定、高准确度显示、操作方便且易携带等特点。
广泛适合各类学校和小团体作为赛程计分。
关键词:AT89C51单片机;74LS247;七段数码管;仿真;嵌入式0 引言进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高,目前嵌入式单片机渗透到我们生活的各个领域。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”,可分软件部分和硬件部分,而当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在单片机上。
课程设计任务书篮球比赛计分器设计摘要:篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。
采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。
关键词:单片机;篮球赛计分;篮球赛计时;数码管;按键;下载线目录1设计背景 (1)2方案论证 (2)2.1共阳极数码管静态显示 (2)2.2共阳极数码管动态显示 (2)2.3两种方案的对比 (3)3方案实施 (4)3.1系统总体方案设计 (4)3.2硬件电路设计 (4)3.2.1系统控制中心单片机 AT89S52 (4)3.2.2系统电源模块 (6)3.2.3按键控制键盘模块 (7)3.2.4晶振模块 (8)3.2.5复位电路模块 (8)3.2.6报警电路模块 (9)3.2.7 LED显示模块 (9)3.3系统软件设计 (11)3.3.1软件设计环境介绍 (11)3.3.2软件设计方案 (11)3.4系统调试 (14)3.4.1软件调试及仿真 (14)3.4.2硬件调试 (14)4结果与结论 (15)5收获与致谢 (16)6参考文献 (17)7附件 (18)7.1元器件清单 (18)7.2硬件总电路图 (19)7.3实物图 (19)7.4源程序代码 (20)1. 设计背景体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。
体育比赛计分与统计题体育比赛中的计分和统计是确保比赛公平进行的重要环节。
有效的计分和统计系统能够准确记录比赛过程中的得分、罚球、犯规等信息,为裁判员、教练员和观众提供有价值的数据。
本文将介绍体育比赛计分与统计的基本流程和常用方法。
一、比赛计分基本流程1.1 计分器材准备体育比赛中常用的计分器材有记分牌、计时器、求助器等。
在比赛开始前,工作人员需要核实这些器材的正常运作,并确保它们的充电状态良好。
1.2 记录比赛开始时间比赛开始后,计时器应立即启动,记录比赛正式开始的时间。
这样可以在后续统计过程中使用准确的时间数据。
1.3 记录得分和罚球情况在比赛过程中,裁判员会根据比赛规则判定哪个队伍得分,并记录在记分牌上。
同时,裁判员还要及时记录罚球的个数和命中情况。
1.4 记录犯规和暂停情况除了得分和罚球情况,犯规和暂停也需要被准确记录。
裁判员会根据比赛规则判断哪个队伍有犯规行为,并记录在记分牌上。
暂停时间也需要被计时器记录,以便研究战术调整或休息。
1.5 记录比赛结束时间和最终得分当比赛接近尾声时,计时器需要准确记录比赛结束的时间。
同时,最终得分也要被记录下来,以便总结比赛结果。
二、常用的统计方法2.1 得分统计得分统计是比赛中最重要的统计项目之一。
在比赛结束后,对所有得分情况进行统计并整理。
可以统计每个队员的得分情况,或者根据不同的得分方式进行分类统计。
这种统计可以为教练员提供有关球员表现的宝贵数据。
2.2 犯规统计犯规统计对于评估球员个人素质和比赛风格非常重要。
统计每个队员的犯规次数,并分析哪些动作比较容易犯规,可以指导球员在后续训练中弥补不足。
2.3 罚球统计罚球是体育比赛中常见的得分方式之一。
统计球员的罚球命中率可以判断其罚球能力的好坏。
此外,还可以进一步分析不同罚球位置和局势下的罚球命中率,为球队战术调整提供参考依据。
2.4 其他统计项目除了得分、犯规和罚球统计,还可以根据比赛项目的特点,统计和分析其他的数据,如篮板球、助攻、失误等。
第1章系统概述1.1系统功能设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。
采用矩阵式键盘作为输入。
基于以上思路,本次设计使用80C51实现一基于单片机的电子计分器的设计,其主要具有如下功能:(1)用户可分别对两队比分进行加5、加10、加15和减5,减10,减15操作。
(2)比分通过8个8段共阴极数码管显示器进行显示,每队比分显示三位,中间两个数码管作为分开分数,可以交换两队的比分。
(4)具有复位功能,通过复位键实现。
(5)裁判可通过控制按键对甲乙实现加减分数。
1.2设计内容及要求1.2.1 设计内容:(1)给甲乙两队分别设置一个分数控制按钮,此按钮有7种状态,分别为+5、+10、+15、-5、-10、-15,初始状态置数+50。
(2)设置一个切换状态按钮,可以分别切换每一种状态,然后每一种状态对相应的对加分。
(3)设置一个复位按钮,按下实现甲、乙队总分置0并即时显示。
(4)设置一个交换分按钮,用于交换甲乙比分。
1.2.2 设计要求:1、方案合理、正确,系统稳定、可靠。
2、软件设计要求尽可能精练、简短和运行可靠。
3、硬件电路要求简单明了,以节约成本。
1.3 按钮设置本设计的宗旨是用最少的按键实现最多的功能。
设计中一共用到了9个按钮,分别为:清零按钮、甲的加分减分按钮,乙的加分减分按钮,切换状态按钮和交换比分按钮。
每个按钮的功能如下:控制甲的按钮:实现+5、+10、+15、-5、-10、-15功能;控制乙的按钮:实现+5、+10、+15、-5、-10、-15功能;切换按钮:实现甲乙的各种状态的切换;切换比分按钮:交换甲乙的比分;清零按钮:实现甲乙比分清零;第2章总体方案设计2.1 总体系统框图此次设计80C51单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。
利用8个8段共阴级数码管显示器.采用动态显示输出比分,用户信息输入则采用4×4矩阵式键盘。
用一片单片机可满足本设计的输入输出。
单片机课程设计体育比赛计分器一、设计目的1.掌握单片机定时器的设计方法2.掌握单片机扩展显示器、键盘的方法二、技术指标1.系统可适用于多项体育比赛的计分;2.键盘设置比赛的最高分数,达到最高分数时能够进行声光显示;3.能够显示比赛时间(比赛暂停时能够显示暂停间)时间到时能够进行声光显示;4.LED显示比赛分数。
三、方案对比方案一:采用计时芯片针对计算机系统对计时芯片的要求,各大芯片厂家推出了键时钟、倒计时、正计时等各种芯片,可采用自动控制计时芯片,通过触发控制电路使计时器自动计时,达到预定时间后芯片重新开始计时(实现倒计时功能);也可通过触发控制电路使计时器不计时,达到预定时间后芯片重新开始计时(实现暂停功能),不需要程序干预。
计算机可通过中断或查询方式读取计时器数据,实现计时的暂停功能,并进行显示,计时功能的实现就无需占用CPU的时间,程序简单,控制精度高,因此在工业系统中这一类专用芯片实现计时功能。
方案二:利用AT89C51内部定时器|计数器进行中断定时,配合软件延时实现计时功能。
该方案节省硬件成本,并可综合运用定时器、计数器及程序设计的知识,因此本设计采用软件实现计时。
四、方案概述本系统采用单片机AT89C51作为本设计的核心元件,利用七段共阳LED作为显示器件,并用74LS573作为驱动芯片。
在此设计中共接入10个七段共阳LED显示器,其中六个用于记录甲乙两队的分数,每队三个,显示分数范围可达0-999,可满足各种体育比赛需要。
另外四个用于记录比赛时间,其中两个用于显示分钟,两个用于显示秒钟,显示时间范围可达0-99分钟,也可满足各种比赛需要。
比赛分两种模式,一种为限定比赛时间,即赛前需设定比赛用时,比赛开始后进行倒计时,倒计时为零时停止比赛;另一种为限定比赛最高分数,即赛前需设定最高比赛分数,一方到达该分数即停止比赛。
为方便实现计时器和计分器调整时间和比分,设置了键盘,其中按键T和S分别代表两种模式,根据具体情况选择比赛模式。
另外有十个按键代表0-9十个数字,方便进行时间或分数的设定,其余4个按键,用于分别实现甲乙两队的加减分功能,最后还有一个按键用于实现开始和暂停功能。
最后还设计了定时报警系统,即比赛时间到或达到设定的最高分数时,扬声器发出报警声,提示比赛结束。
五、总体框图及流程图1、总体框图2、流程图六、各模块设计1、模式选择本设计分为两种模式。
第一种为设定比赛最高时长,第二种为设定比赛最高分数。
其工作原理为:按下按钮T即选择比赛最高时长模式,按下按钮S即选择比赛最高分数模式。
其中按钮T和S在矩阵键盘中,矩阵键盘中其他十四个键为0-9十个数字和甲乙两队加减分键。
2、计时电路计时电路主要有矩阵式按键,单片机,LED显示器构成。
矩阵式按键为4*4矩阵,LED 选用共阳极四位数七段数码管,段选端通过74LS573与单片机P0口相连,起到驱动作用,位选端通过反相器与单片机P2.4-P2.7相连。
其工作过程如下:比赛准备开始时,由矩阵式按键输入比赛时长。
时间设置完成后,按下启动按钮,定时器T0开始计数,采用倒计时。
比如:设定时间为45分钟,则在LED上显示“4500”四位数。
定时器T0计数60秒后中断返回,继续定时计数下一个60秒;同时则在4位LED显示器上显示“4459”四位数,这样一直持续下去,直到变成“0000”四位数时比赛结束。
如果比赛需要暂停,则按下K7键即可暂停计时。
计时电路如下图:3.计分电路计分电路有单片机,LED显示器,按键组成,其中,LED显示器选用共阳极六位数七段数码管,段选端通过74LS573与单片机P0口相连,起到驱动作用,位选端通过反相器与单片机P3.0-P3.5口相连,其中三位显示甲队分数,另外三位显示乙队分数,显示范围为0-999。
按键共四个,分别为甲队+1、-1,乙队+1、-1,分布在4*4矩阵键盘中,当其中任意一个按下时,即产生一个低电平,使单片机产生中断,从而使相应LED显示。
4、矩阵键盘5、振荡电路:本次设计要用到AT89C51的时钟振荡功能。
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入输出端,这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一同构成自激振荡器。
当定时时间到或者达到最高分时,蜂鸣器会发出报警信号,比赛结束。
六、总电路图七、程序KEYBUF EQU 30HORG 0000HORG 0050HSTART: MOV SP,#60HMOV R1,#00HMOV R2,#00HMOV R3,#04H ;设置时间位数为4MOV R0,#40H ;键值所在地址ACALL DISPLAY ;显示加减分数MOV KEYBUF,#00HWAIT: ACALL DISPLAY1ACALL DISPLAY;=========第1行按键===============MOV P1,#0FFHCLR P1.4MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELAY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY1 ;软件防抖动MOV A,P1ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK ;判断是否已经输入4位数字NK1: CJNE A,#0DH,NK2MOV KEYBUF,#1LJMP DKNK2: CJNE A,#0BH,NK3MOV KEYBUF,#2LJMP DKNK3: CJNE A,#07H,NK4MOV KEYBUF,#3LJMP DKNK4: NOP ;第一行没有键按下DK1A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK1A ;判断键是否放开;=========第2行按键===============NOKEY1:MOV P1,#0FFHCLR P1.5MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELAY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P1ANL A,#0FHCJNE A,#0EH,NK5MOV KEYBUF,#4LJMP DKNK5: CJNE A,#0DH,NK6MOV KEYBUF,#5LJMP DKNK6: CJNE A,#0BH,NK7MOV KEYBUF,#6LJMP DKNK7: CJNE A,#07H,NK8MOV KEYBUF,#7LJMP DKNK8: NOPDK2A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK2A;=========第3行按键=============== NOKEY2:MOV P1,#0FFHCLR P1.6MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELAY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P1ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#8LJMP DKNK9: CJNE A,#0DH,NK10MOV KEYBUF,#9LJMP DKNK10: CJNE A,#0BH,NK11ACALL TIME1NK11: CJNE A,#07H,NK12NK12: NOPDK3A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK3ANOKEY4:LJMP W AIT ;第三行扫描结束DELAY10MS:MOV R6,#0FFHD1: MOV R7,#0FFHDJNZ R7,$DJNZ R6,D1RETDK:CJNE R3,#00H,DK1DK1: MOV @R0,KEYBUFACALL DISPLAY1DEC R3INC R0AJMP W AIT;=========显示时间=============== DISPLAY1:MOV DPTR,#DAT1MOV A,40HMOVC A,@A+DPTRMOV P2,#01HMOV P0,AACALL DELAY2MOV A,41HMOVC A,@A+DPTRMOV P2,#02HMOV P0,AACALL DELAY2MOV DPTR,#DAT1MOV A,42HMOVC A,@A+DPTRMOV P2,#04HMOV P0,AACALL DELAY2MOV A,43HMOVC A,@A+DPTRMOV P2,#08HMOV P0,AACALL DELAY2RET;=========第4行按键=============== NOKEY3:MOV P1,#0FFHCLR P1.7MOV A,P1ANL A,#0FHXRL A,#0FHJZ TIMELCALL DELAY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ TIMEMOV A,P1ANL A,#0FHCJNE A,#0EH,NK13ACALL JIAJIANK13: CJNE A,#0DH,NK14AJMP JIAJIANNK14: CJNE A,#0BH,NK15ACALL YIJIANK15: CJNE A,#07H,NK16ACALL YIJIANNK16: NOPTIME: MOV C,P3.7JNC ZANTING;=========倒计时=============== TIME1:MOV A,42HMOV B,#0AHMUL ABADD A,43HJZ SS1DEC AMOV B,#0AHDIV ABMOV 42H,AMOV 43H,BACALL DISPLAY1ACALL DISPLAYACALL DELAY1SAJMP NOKEY3SS1: MOV A,40HMOV B,#0AHMUL ABADD A,41HJZ QUITMOV 42H,#05HMOV 43H,#09H ;如果秒钟为0则变为59ACALL SS2ACALL DISPLAY1ACALL DISPLAYACALL DELAY1SAJMP NOKEY3SS2:MOV A,40HMOV B,#0AHMUL ABADD A,41HDEC AMOV B,#0AHDIV ABMOV 40H,AMOV 41H,BRETQUIT:ACALL BAOJING ;倒计时为0AJMP START;=========暂停===============ZANTING: ACALL BAOJINGZANTING1:ACALL DISPLAY1ACALL DISPLAYMOV C,P3.7JNC TIME1 ;跳出暂停,继续倒计时AJMP ZANTING1RETDELAY1S: MOV 44H,#04H ;1s延时DELAY A: MOV 45H,#08HDELAYB: MOV 46H,#01HNOPDELAYC:ACALL DISPLAY1ACALL DISPLAYDJNZ 46H,DELAYCDJNZ 45H,DELAYBDJNZ 44H,DELAYARET;=========甲队加一分===============JIAJIA: MOV A,R1CJNE A,#63H,ADD0 ;如果不是99,R1加1,如果加到99,R1就置0,重新加起。