当前位置:文档之家› 基于51单片机地篮球计时计分器

基于51单片机地篮球计时计分器

基于51单片机地篮球计时计分器
基于51单片机地篮球计时计分器

\\

目录

摘要 (1)

Abstract (2)

绪论 (3)

1.设计原理 (4)

1.1原理图设计 (4)

1.2各元器件介绍 (5)

1.2.1数码管介绍 (5)

1.2.2排阻 (5)

1.2.3AT89C52单片机芯片 (6)

1.3各部分电路分析 (8)

1.3.1振荡电路 (8)

1.3.2外部复位电路 (8)

1.3.3开关电路 (9)

1.3.4显示电路 (9)

1.3.5扬声器电路 (10)

3.软件设计 (11)

3.1设计思路 (11)

3.2设计框图 (12)

3.3编程前的准备 (13)

4仿真结果 (14)

6心得体会 (16)

附录 (17)

本科生课程设计成绩评定表 (30)

摘要

篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX 文件烧入到单片机芯片中。采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。

关键词:单片机;篮球赛计分;篮球赛计时;数码管

Abstract

Basketball match score indicator is designed to solve the basketball game scoring and timing is accurate, convenient and flexible applicable problem, and that my 14-year-old basketball game hardware part of the group design mainly USES AT89S52 MCU to complete the scoring and timing functions, and through the two four seven segment digital tube is used to display the match time and party a and b both sides score, software part use Keil C51 software to compile, through the Proteus software simulation, finally will generate burn-in HEX file to the MCU chip. Using the system can according to the actual situation to the accurate display and modify the score of time, with low power consumption, high reliability, safety and low cost etc., the main shortcoming in the timer display part can appear sometimes unstable situation, basic meet the requirement of the design.

Key words: single chip microcomputer; The basketball game scoring; The basketball game timing; Digital tube

绪论

体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。

篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配,即将篮球比赛比分数据通过专用的技术接口分别传送给裁判员、教练员、计算机信息系统和现场观众等。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。随着比赛规则的进一步完善,相应的计时计分系统也必须随之改进。

单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。本篇设计篮球比赛计时计分器就是以单片机为核心的计时计分系统。

1.设计原理

1.1原理图设计

由课设要求知,篮球计时计分器要实现计时和计分的功能,计时设计到定时器,故要涉及到定时器中断。因为有暂停,换场等功能,故要设计到外部中断。对于计分的加减,可对键盘进行查询得到。由于此次要用到8个数码管,我选择的是共阴数码管,选择动态显示比较节约资源。设计从P0口输出8位数据,作为数码管的位信号,控制数码管显示什么数字,从P2输出8位数据作为数码管的片选信号,控制是那一片数码管显示数据。我们此次设计中,设计了加一、加二、加三、减一按键,方便计分,另外还有三个按键,分别用来控制调整计时,换场,暂停\继续,八个计分键接在P1口。暂停\继续接在P3.0口,换场接在P3.2口,设置时间调整的键接在P3.3。因为涉及到了多个中断,所以要涉及到中断的优先级,我们小组设置的是换场和时间设置的中断优先级高,暂停\继续和定时器0中断较低。我们选择的晶振频率为12MHz,故机器周期为1us。设计的整体电路如下:

图1.1总体设计电路

1.2各元器件介绍

1.2.1数码管介绍

此次设计用到的是共阴数码管。计分选择的是四位共阴数码管,即当位选信号为低电平时,该数码管被选中有效。

图1.2四位共阴数码管管脚图详解

图1.3四位共阴数码管实物引脚图

1.2.2排阻

图中的RESPACK-8是9脚排阻。最左边为8个电阻的公共端,接在高电平上,另外8个引脚分别与P0口的引脚接在一起,使P0口各位不是输出低电平时,成高电平。

图1.4排阻引脚图

1.2.3AT89C52单片机芯片

P0 口:P0 口是一个8 位漏极开路的双向I/O 口。作为输出口,每位能驱动8 个TTL 逻辑电平。对P0 端口写“1”时,引脚用做高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在Flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。在程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TT

逻辑电平。当对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和P1.2 分别作为定时器/计数器2 的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如表1-1 所示。在Flash编程和校验时,P1口接收低8 位地址字节。

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TT逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据存储器(如执行MOVX @DPTR)时,P2

口送出高8 位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2 口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TT

逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口也作为AT89S52 特殊功能(第二功能)使用,如表1-2所示。在Flash编程和校验时,P3口也接收一些控制信号。

1.3各部分电路分析

1.3.1振荡电路

图1.5外部振荡电路图

石英晶体的振荡频率为12MHz,故机器周期为1us。本次设计要使用到AT89C51单片机的时钟振荡功能。AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。这个放大器与作为反馈元件与片外石英晶体或者陶瓷谐振器一起构成自激振荡器。

1.3.2外部复位电路

图1.6外部复位电路

图1.6外部复位电路

图1.7键盘电路

键盘按键在没有按下时,连接的为高电平,当有按键按下时,对应按键所连接的连接线拉低为低电平

1.3.4显示电路

图1.8显示电路

其中A B C D E F G DP为每片数码管的内部LED灯的段选线,1,2,3,4(下面的是1,2)是位选线。低电平有效。

图1.9扬声器电路

当P3.6口输出高电平时,扬声器响,P3.6口输出低电平时,扬声器不响。

3.软件设计

3.1设计思路

系统开始运行后,计时和计分的数码管被点亮。首先将定时器和A、B两队分数清零,然后设置定时,即设置一节比赛的时间,初始值为20分钟。按下启动/暂停键,计时器开始倒计时,当计时到时,蜂鸣器响2秒。在计时到之前,可按启动/暂停键可暂停计时,按动与单片机P1相连的8个按钮可实现A、B两队分数的加减,即罚球加1分,两分球加2分,三分球加3分,如果在比赛期间有计分错误的话,可以按下对应队伍的减1按钮进行调整。篮球比赛在打完半场(即两节)后,A、B两队需要交换场地,因此两边计分器的计分值需要进行交换,则在半场比赛结束后,需要按下比分交换键来交换比分,之后开始下半场的比赛,计时器和计分器开始工作。

要实现上述功能,需要设计以下程序模块来实现:主程序、时间中断子程序、鸣音子程序、时间显示子程序、比分显示子程序、调时时间子程序、调时子程序、交换场地子程序。主程序用来实现系统初始化以及按键的控制、子程序的调用;时间中断子程序用来实现倒计时功能,即完成指定的计时后停止计时并复位至设定的计时值;时间显示子程序用来控制4输入七段共阴LED数码管的显示;比分显示程序控制2个2输入七段共阴LED数码管的显示;调时时间显示程序用来切换4输入七段共阴LED数码管的显示状态,在计时状态时,数码管的四位全部显示,前两位为分,后两位为秒,在调时状态时,只有后两位显示分钟数;调时子程序则完成初始计时时间的设置功能;交换场地程序用来调整交换两个2输入七段共阴LED数码管的显示值;鸣音子程序用来在计时时间到时使单片机P3.6输出高电平,与驱动电路共同作用使蜂鸣器发声报警。

3.2

N

3.3编程前的准备

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

编程单元的地址加在P0口和P1口的P2.0口以及P3.0,P3.2,P3.3,数据从P0口输入,PSEN 为低电平,RST保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压。

编程时,可采用4—20MHZ的时钟振荡器,本次设计采用12MHZ的石英晶体振荡器。具体过程是:(1)给时钟显示分配地址,分钟存在21H,秒钟存在20H,24H存放修改时间的分钟低位,25H存放分钟低位。30H到33H为时间缓冲区。34H到37H为分数缓冲区。

(2)P2口设置一个引脚为低电平,其他都为高电平,循环左移或循环右移依次显示各数据,应为要显示的数据存储空间也是连续的,可以通过同步移动实现数据的输出。

(3)通过外部键盘控制开始计时和停止计时,可通过查询法查看键盘状态,要消抖。通过多IT0取反,实现计时工作的进行还是暂停。每次中断或者转移子程序要进行现场保护。

(4)设置中断优先级,此次设置的是改变定时优先级高,定时中断换场中断优先级低。

4仿真结果初始状态显示

设置定时为40分钟

开始计时,并进行相应计分

交换比分显示位置(交换场地)

6心得体会

在本次毕业设计,我通过基于典型单片机AT89C51的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机汇编程序的应用有了新的、进一步的认识。

在本次设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。另外单片机系统的知识似懂非懂,而且很多知识当时弄明白了,现在要用的时候又不记得,造成我用了大量的时间去查阅各种资料和程序命令,因此整个过程时间安排不合理。由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题。另外资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。

在用keil编译过程中,对与语法错误检查得非常仔细,对我们设计程序有很大的帮助。用proteus进行仿真时,对所设计的程序的逻辑检查起到了很好的效果,根据仿真结果我们发现了很多问题并做了修正。使用这两个软件对我们这次课程设计的成功完成起到了很大的促进作用。

在此次实物制作过程中,使用开发板连接电路做出来的实物与仿真效果相同没有问题,但是自己买的元器件回来自己焊的实物出了一些问题,我们设计使用的是共阴数码管,但由于开的清单上字写得比较含糊,老板发成了共阳数码管,故不能正常显示数字。但是直接使用开发板连接电路进行调试的时候,可以实现此次设计所要完成的功能。

总体上来说此次设计是成功的,完成了篮球计时计分器的设计与制作。

附录

此次设计的汇编程序

ORG 0000H

LJMP M AIN

ORG 0003H

LJMP CHANGE

ORG 000BH

LJMP TIME

ORG 0013H

LJMP TIAOSHI

ORG 001BH

LJMP YANSHI

MAIN: M OV SP,#50H

MOV TCON,#04H

MOV 20H,#00H ;秒

MOV 21H,#0CH ;分

MOV 22H,#00H ;A队分数

MOV 23H,#00H ;B队分数

MOV 24H,#02H

MOV 25H,#01H

MOV 26H,#0CH ;分钟定时区

MOV 30H,#00H

MOV 31H,#00H ;时间缓冲区

MOV 32H,#02H

MOV 33H,#01H

MOV 34H,#00H

MOV 35H,#00H ;分数显示缓冲区

MOV 36H,#00H

MOV 37H,#00H

MOV TMOD,#11H

MOV TH0,#0D8H

MOV TL0,#0F0H

MOV TH1,#0D8H

MOV TH1,#0F0H

MOV IE,#10001111B

MOV IP,#05H

MOV R2,#64H

CLR P3.6

START: LCALL DISPT

LCALL DISPF

JNB P1.0,PP1 ;A队加一分

JNB P1.1,PP2 ;A队加两分

JNB P1.2,PP3 ;A队加三分

JNB P1.3,PP4 ;A队减一分

JNB P1.4,PP55 ;B队加一分

JNB P1.5,PP66 ;B队加两分

JNB P1.6,PP77 ;B队加三分

JNB P1.7,PP88 ;B队减一分

JB P3.0,START

LCALL DELAY

JB P3.0,START

STOP1: JNB P3.0,STOP1

LCALL DELAY

JNB P3.0,STOP1

CPL TR0 ;按键奇数次开始,偶数次暂停

LJMP START

PP55: LJMP PP5

PP66: LJMP PP6

PP77: LJMP PP7

PP88: LJMP PP8

PP1: LCALL DELAY

JB P1.0,PPB

STOP11:JNB P1.0,STOP11 LCALL DELAY

JNB P1.0,STOP11

INC 22H

MOV A,22H

LJMP STOREA

PP2: LCALL DELAY

JB P1.1,PPB

STOP22:JNB P1.1,STOP22

LCALL DELAY

JNB P1.1,STOP22

MOV A,22H

ADD A,#02

MOV 22H,A

LJMP STOREA

PP3: LCALL DELAY

JB P1.2,PPB

STOP33:JNB P1.2,STOP33 LCALL DELAY

JNB P1.2,STOP33

MOV A,22H

ADD A,#03

MOV 22H,A

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

基于单片机的篮球计时计分器

基于单片机的篮球计时 计分器 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

目录

摘要 篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。 关键词:单片机;篮球赛计分;篮球赛计时;数码管 Abstract Basketball match score indicator is designed to solve the basketball game scoring and timing is accurate, convenient and flexible applicable problem, and that my 14-year-old basketball game hardware part of the group design mainly USES AT89S52 MCU to complete the scoring and timing functions, and through the two four seven segment digital tube is used to display the match time and party a and b both sides score, software part use Keil C51 software to compile, through the Proteus software simulation, finally will generate burn-in HEX file to the MCU chip. Using the system can according to the actual situation to the accurate display and modify the score of time, with low power consumption, high reliability, safety and low cost etc., the main shortcoming in the timer display part can appear sometimes unstable situation, basic meet the requirement of the design. Key words: single chip microcomputer; The basketball game scoring; The basketball game timing; Digital tube

51单片机作的电子钟程序及电路图

51单片机作的电子钟程序在很多地方已经有了介绍,对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。常见的电子钟程序由显示部分,计算部分,时钟调整部分构成。 时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。 开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。 6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。

以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 中断入口程序 ;; (仅供参考) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口

RETI ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;clr P3.7 ; CLEARDISP: MOV @R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(标志用) MOV 7AH,#0AH ;放入"熄灭符"数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值 MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用初值(50M S×20)START1: LCALL DISPLAY ;调用显示子程序 JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;T0中断服务程序 INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护

基于51单片机的计算器设计程序代码汇编

DBUF EQU 30H TEMP EQU 40H YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空MOV GONG,#0 MOV 30H,#10H MOV 31H,#10H MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MLOOP: CALL DISP ;PAN调显示子程序WAIT: CALL TESTKEY ; 判断有无按键JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ; 判断就是否数字键 LJMP E1 ; 转数字键处理NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断就是否功能键LJMP E2 ;转功能键处理NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2

单片机篮球计时计分器报告

单片机课程设计结题报告《篮球比赛计时计分器》

团队成员分工情况: XX:完成实验报告的总体撰写,焊接方案设计和电路图的绘制,程序编写改进 XX:完成元器件采集,辅助电路焊接,电路图修整以及实验报告的完善 XX:完成程序编写烧录,电路焊接,以及PCB 版图的绘制 其中设计方案的确立由团队成员一起讨论而成

目录 1选题背景 (3) 2方案设计 (4) 2.1硬件电路设计 (5) 2.1.1硬件系统各功能模块的电路 (5) 2.1.2硬件系统的实现 (9) 2.1.3硬件系统的调试 (10) 2.2软件设计、编程及调试 (10) 2.2.1系统软件的模块程序设 (10) 2.2.2编程实现 (11) 2.2.3软件系统的调试 (11) 3系统联调及最终实现结果展示 (11) 4总结 (12) 5 收获与致谢 (13) 6 参考文献 (14) 7附件 (15)

1 选题背景 单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。 由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。 本设计由STC89C52编程控制LED七段数码管作球赛计时计分系统具有赛程定时设置、赛程时间暂停、性能稳定、操作方便且易携带等特点。可广泛适合各类学校和小团体作为赛程计时计分。

51单片机简易计算器程序

#include <reg51.h>#include <intrins.h> #include <ctype.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned int uchar operand1[9], operand2[9]; uchar operator; void delay(uint); uchar keyscan(); void disp(void); void buf(uint value); uint compute(uint va1,uint va2,uchar optor); uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xff}; uchar dbuf[8] = {10,10,10,10,10,10,10,10}; void delay(uint z) { uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } uchar keyscan() { uchar skey; P1 = 0xfe; while((P1 & 0xf0) != 0xf0) { delay(3); while((P1 & 0xf0) != 0xf0) { switch(P1) { case 0xee: skey = '7'; break; case 0xde: skey = '8'; break; case 0xbe: skey = '9'; break; case 0x7e: skey = '/'; break; default: skey = '#'; }

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

篮球赛计时计分器设计 院系自动化学院 专业自动化 班级 学号 姓名 指导教师 负责教师

摘要 体育比赛中的计时计分系统是对体育比赛过程中所产生的时间、比分等数据信息进行快速采集、加工处理、传递和利用的系统。此系统能否清晰、稳定、精确的反应体育比赛中的客观数据,直接影响到比赛的公平性和公正性。本文针对上述情况研制了篮球赛计时计分器。该系统以单片机为核心,利用7段共阴LED作为显示器件。为了调整比赛中的时间和比分,在本设计中设立了8个按键,分别用于记录甲、乙两队的分数,设置赛程时间,调整赛程时间,启动和暂停赛程时间等功能,本系统还设计了定时报警系统。实践证明,该系统精度高、稳定性好、抗干扰性强,具有一定的应用前景。 关键词:计时器;计分器;单片机;LED显示

Abstract The system of time and score recorded in the sporting games is the one like this: the data about time and socres that generated in the process of the games can be collected rapidly, processed, transmited and be used. If the system can reflect the objective data in the games clearly, stably and accurately, it will affect the fairness and impartiality of the games. According to this, calculagraph and scores recorder of the basketball games are researched and designed in this paper. The core of the system is the MCU, using seven segments LED as the display. In order to adjusting the time and the scores of the game, eight keys are used in this paper. The functions of these keys are: recording the scores of the team A and B, setting up or adjusting the time of the game, and starting or suspending the time of the game. The timing alarm system is also designed in the system. Experiments , good stability, strong anti-interference and it prospects. Key words: calculagraph;scores recorder; MCU; LED display

基于51单片机的电子时钟设计源程序

#include unsigned char DispBuf[6]; //时间显示缓冲区 unsigned char Disdate[6]; //日期显示缓冲区 unsigned char DisSec[6]; //秒表缓冲区 struct //设定时间结构体 { unsigned char Hour; unsigned char Min; unsigned char Sec; }Time; struct //设定日期结构体 { unsigned char Year; unsigned char Month; unsigned char Days; }Date; struct //设定毫秒结构体 { unsigned char Minite; unsigned char Second; unsigned char MilliSec; }Millisecond; unsigned char point=0; unsigned char point1=0; unsigned char point2=0; unsigned char Daymount; unsigned char Daymount1; unsigned char T0_Int_Times=0; //中断次数计数变量 unsigned char Flash_flag=0; //闪烁标志,每半秒闪烁 unsigned char Flash_flag1=0; //闪烁标志,每半秒闪烁 unsigned char DisPlay_Back=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char DisPlay_Back1=0; //显示缓冲区更新备份,如果显示缓冲区更新则跟闪烁标志不一致 unsigned char i,j; unsigned char SetMillisecond; //启动秒表 code unsigned char LEDCode[]={0x01,0xd7,0x22,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80}; //数码管显示代码 code unsigned char ErrorLEDCode[]={0x01,0xe7,0x12,0x82,0xc4,0x88,0x08,0xc1,0x00,0x80};//绘制错误图纸的数码管显示代码 void DisPlayBuf(); void ChangeToDispCode(); void ChangeToDispCode1(); void changedate(); // 调日期 void displaydate(); // 显示日期 void makedays(); //确定每个月的日期 void runSec();

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

单片机课程设计报告-篮球计时计分器

2010 ~ 2011 学年第 2 学期 《单片机应用系统设计与制作》 课程设计报告 教学院(部)电气与电子信息工程学院 教研室电气自动化 指导教师 课程设计时间 2011.5.30~2011.6.10 课程设计班级电气自动化技术2009(*)班 学号 2009******** 姓名张 * *

单片机应用系统设计与制作课程设计成绩评定表 课程设计题目:篮球计时记分器 课程设计答辩或质疑记录: 1、 2、 成绩评定依据: 成绩评定依据: 课程设计考勤情况(20%): 课程设计答辩情况(30%): 完成设计任务及报告规范性(50%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 2011 年 6 月20 日

摘要 篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。每个模块的程序结构简单、任务明确,易于编写、调试和修改。编程后利用Keil软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,本设计中系统硬件电路主要由以下几个部分组成:单片机AT89C52、计时电路、计分电路、报警电路和按键开关。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩以及赛后成绩暂存等功能。 关键词:单片机,计时,计分,显示器,接口 ABSTRACT Time basketball scoring device as the core of SCM includes the timer, scoring devices, integrated controller and other components.This system is used of the modular design, in which the main display module is divided into time display module, scoring display module, timing alarm module, and key control keyboard module. Program structure of each module is simple and clear. So it is easy to write, debug and modify. After programming, firstly we can use Keil software to compile and then generate the HEX file into the chip. Secondly we use the Proteus software simulation to test whether the normal function to achieve. The design of hardware circuit mainly consists of the five components, including AT89C52, timing circuit, scoring circuit, alarm circuit and key switch circuit.The system has many features,such as setting the schedule time, scheduling time to pause, refreshing result of both parties timely, storing temporarily results after the match and so on. KEY WORDS:Microcontroller, Timing, Scoring, Display, Interface

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

基于单片机的篮球计分器设计毕业设计

摘要 随着电子科技、信息通信技术的快速发展,嵌入式单片机应用越来越广泛。在HMOS技术大发展的背景下,Intel公司在MCS-48系列的基础上,于1980年推出了8位MCS-51系列单片机。它与以前的机型相比,功能增强了许多,就其指令和运行速度而言,超过了INTEL8085的CPU和Z80的CPU,成为工业控制系统中较为理想的机种。较早的MCS-51典型时钟为12MHz,而目前与MCS-51单片机兼容的一些单片机的时钟频率达到40MHz甚至更高,现在已有400MHz的单片机问世。篮球记分器是一种得分记录工具,由多种电子设备组成。以单片机为核心的篮球记分器造价便宜,使用简单,体积小等特点。

第1章绪论 1.1 单片机简述 单片机就是在一块半导体硅片上集成了微处理器(cpu),存储器(RAM,ROM,EPROM)和各种输入、输出接口(定时器/计数器,并行I/O接口,串行口,A/D转换器以及脉宽调制器PWM等),这样一块集成电路芯片具有一台计算机的属性,因此被称为单片微型计算机,简称单片机。 单片机主要应用于测控领域,用以实现各种测试和控制功能。为了强调其控制属性,在国际上,多把单片机称为微控制器MCU(MicroController Unit)。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。 1.2 设计意义 单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。

基于某单片机地篮球赛计时计分器单片机期末课程设计

目录 第1节引言 (1) 1.1本设计的任务和主要容 (1) 第2节系统主要硬件电路设计 (2) 2.1 单片机控制原理 (2) 2.2 单片机主机系统电路 (3) 2.2.1计时电路 (4) 2.2.2计分电路 (5) 第3节系统的软件设计 (6) 3.1 篮球赛计时计分器程序源代码 (6) 3.2篮球赛计时计分器程序流程图 (16) 结束语 (17) 参考文献 (18)

基于单片机的篮球计时计分器 第1节引言 随着单片机载各个领域的广泛应用,许多用单片机作控制的球赛计时计分器系统也应运产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。 本文介绍一种有AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。本系统具有赛程定时设置、赛程时间暂停、及时刷新甲、乙队双方的成绩以及赛后成绩暂存等功能。它具有价格低廉、性能稳定、操作方便且易携带等特点。广泛适合各类学校和小团体作为赛程计时计分。 1.1本设计的任务和主要容 这次课程设计的主要任务是:设计制作一个用于赛场的篮球赛计时计分器。 主要容如下: ①能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。 ②能随时刷新甲、乙两队在整个赛程中的比分。 ③中场交换比赛场地时,能交换甲、乙两队比分的位置。 ④比赛时间结束时,能发出报警指令。

第2节系统主要硬件电路设计2.1 单片机控制原理 图2-1 球赛计时计分器系统图

2.2 单片机主机系统电路 本系统采用单片机AT89C51作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入10个7段共阴LED显示器,其中6个用于记录甲、乙两队的分数每队3个LED显示器显示分数围可达到0-999分,足够满足赛程需要。另外4个LED显示器则用来记录赛程的时间,其中2个用于分钟;2个用于显示秒钟。赛程设计采用倒计时方式。即比赛前将时间设置好,比赛开始启动计时,直至计时到零为止。计时围可达到0~99分钟也满足实际赛程的需要。 其次,为了配合计时器和计分器校正、调整时间和比分,特定在本设计中设立了7个按键。其中4个用于输入甲、乙两队的分数;另外3个则用于完成设置、调整、启动和暂停赛程时间等功能。 最后,还这几了定时报警系统,即比赛时间到,我们立即通过扬声器发出报警声,提示整个赛程结束。

51单片机简易计算器代码

#include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit busy=P0^7; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } char i,j,temp,num; long a,b,c; //a,第一个数b,第二个数c,得数 uchar flag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0}; uchar code table1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0 x2b-0x30}; //按键显示编码表 sbit lcden=P2^2; sbit lcdwrite=P2^1; sbit lcdrs=P2^0; //lcd的写指令 void write_com(uchar com) { lcdrs=0; lcden=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } //lcd的写数据 void write_date(uchar da) { lcdrs=1; lcden=0; P0=da; delay(1); lcden=1; delay(1); lcden=0; } //初始化

void init() //初始化 { uchar num; num=-1; lcdwrite=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); delay(500);//延时0.5s write_com(0x01); i=0; j=0; a=0; //第一个参与运算的数 b=0; //第二个参与运算的数 c=0; flag=0; //flag表示是否有符号键按下, fuhao=0; // fuhao表征按下的是哪个符号 } void keyscan() // 键盘扫描程序 { P3=0xfe; if(P3!=0xfe) { delay(10); //延迟20ms if(P3!=0xfe) { temp=P3&0xf0; switch(temp) { case 0xe0:num=0; break; case 0xd0:num=1; break; case 0xb0:num=2; break; case 0x70:num=3; break; } } while(P3!=0xfe); if(num==0||num==1||num==2)//如果按下的是'7','8'或'9 { if(j==1)//确认一次计算完毕,清屏 { write_com(0x01);

51单片机简易可调的数码管电子钟程序

#include sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管0-9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=30,hour=12,second; //定义并且初始化值12:30:00 void delay(unsigned int cnt)//延时函数 { while(--cnt); } void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示正常时间 StrTab[1]=tab[hour%10]; StrTab[2]=0xBF; StrTab[3]=tab[minute/10]; StrTab[4]=tab[minute%10]; StrTab[5]=0xBF; StrTab[6]=tab[second/10]; StrTab[7]=tab[second%10]; } main()//主函数 { TMOD |=0x01;//定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=1; TMOD |=0x10; //定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; Displaypro();

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

基于单片机的篮球计时计分器设计 摘要 随着科技的日益发展进步,单片机技术已经被广泛应用在科研、工作等重要领域内,目前也已经普及到我们的日常生活中,扮演着十分重要的角色。本次设计是基于单片机的篮球计分器,以基本篮球规则为依据,设计结构简单且方便操作,对篮球比赛实现实时控制。 此次设计的计分器总共包括四个模块,他们是24秒显示、计时器、记分器、计节器。实现的功能是:24秒显示能按键控制24秒计时器,当控球时间超过24秒时,可发出报警信号。计时器可按键调节,可以随时暂停计时,暂停比赛,在每节结束和全场结束时报警。记分器记录两队的积累分数,可通过按键分别加1、2、3分。 设计分为硬件设计和软件设计。硬件设计的主要包括的是:LED数码管显示、按键控制系统设计以及辅助功能的设计。软件设计包括:功能选择、倒计时的实现。本文主要介绍了用单片机设计实现篮球计分器的整个流程,采用C语言编写程序。设计引用MAX7219专用LED驱动芯片,解决了多位LED数码管同时显示的问题。其中时间显示和比分显示部分由两组共阴极LED数码管显示。时间显示部分可以以分为单位进行计时调整。比分显示部分可以实现在半场结束后手动换场,两个显示模块均采用动态扫描方式进行显示。按键控制部分采用独立按键,共设八个按键,实现调整分数、调整时间、比赛的开始/暂停、复位键和交换场地键等功能。报警部分由蜂鸣器加三级管驱动,实现了发出按键声音和结束报警的功能。 采用单片机控制使这个系统按键操作使用简单,安装方便。解决了篮球比赛计数器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。 关键词:STC89C51单片机;温度控制;恒温箱;DS18B20

51单片机 实现计算器功能

51单片机多为计算器汇编程序 此程序并不仅仅局限于255以内操作 FIR0 EQU 30H FIR1 EQU 31H FIR2 EQU 32H FIR3 EQU 33H ;第一个操作数 SEC0 EQU 34H SEC1 EQU 35H SEC2 EQU 36H SEC3 EQU 37H ; 第二个操作数 LIN0 EQU 38H LIN1 EQU 39H LIN2 EQU 40H LIN3 EQU 41H ; 数据暂存 RES0 EQU 42H RES1 EQU 43H RES2 EQU 44H RES3 EQU 45H ;结果暂存区 XLINE EQU 46H YLINE EQU 47H ;记录按键按键位置 SYMBLE EQU 48H ;操作符存储 DDE0 EQU 49H DDE1 EQU 50H DDE2 EQU 51H ;用于延时 FLEL4 EQU 52H FLEL5 EQU 53H FLEL6 EQU 54H BEFOR EQU 55H HH BIT 01H ;比较大 EE BIT 02H ;比较相等 FIL BIT 03H ;溢出标记 FLAG BIT 04H ;有无按键标记 ERR BIT 05H ;错误标记 YESY BIT 06H ; 有无操作符按键标记

NUM BIT 07H ;按键个数标记 YESN BIT 08H ;有无数字按键标记 ORG 0000H LJMP MAIN ORG 0003H LJMP INTERUPT MAIN: MOV IE,#01H ;初始化 MOV SP,#6FH LCALL CLRI SETB IT0 SETB EA DISPLAY: ;数码管显示函数 CJNE R3,#00H,TT1 MOV R3,#0AH TT1: CJNE R3,#0AH,STARTD CJNE R2,#00H,TT2 MOV R2,#0AH TT2: CJNE R2,#0AH,STARTD CJNE R1,#00H,STARTD MOV R1,#0AH STARTD: MOV A,R0 LCALL TRANS ;将所要显示的值转化为数码管对应的数据 MOV P2,A MOV P1,#10H LCALL DELAY10ms MOV A,R1 LCALL TRANS MOV P2,A MOV P1,#20H LCALL DELAY10ms MOV A,R2 LCALL TRANS MOV P2,A MOV P1,#40H LCALL DELAY10ms

相关主题
文本预览
相关文档 最新文档