实训项目篮球记分牌单片机设计
单片机课程设计 记分牌的设计
这里选用的是国外进口的51系列兼容单片机C语言开发系统的C编写。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。给芯片提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。
开关电路图图3-3
LED灯电路图图3-4
3.4复位和振荡电路的设计
复位电路可以实现上电复位和按键复位两种复位方式:上电复位电路由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠的复位。按键复位电路则是通过按下RESET按键拉高RST引脚电平来实现的。
按键电路图图3-7
3.6信息显示模块
信息显示用到1个4位8段共阴极数码管和一个蜂鸣器。
数码管显示3位数字,第一位为权数,第二位为隔开符号(中间的一个横杠),第三、第四位一起进行分数的加减。由于P0口的驱动能力有限,所以外接了一排阻,从而增强了对数码管的驱动能力。数码管采用共阳极连接方式,其阴极分别接单片机P0~P7口,当单片机某口输出低电平时,对应的数码管亮。电路图如图3-8.
三、硬件设计
3.1总体方案设计
篮球积分器的硬件电路分成主控模块、键盘输入模块、信息提示模块三部分进行设计。
主控模块以AT89S51为核心,完成输入输出信息处理、计时器中断相应、数值计算等,协调整个系统有条不紧的工作。键盘输入模块作为人机交互接口,允许用户控制系统的工作状态,完成如记分开始/暂停、记分清零、比赛队伍分数调整等功能。信息提示模块包含4个2位8段数码管和一个蜂鸣器,用于实时显示系统工作状态,方便用户进行下一步操作。
单片机课程设计篮球比赛计分牌的设计
尺寸:适合篮球比赛场地,易于安装和拆卸
显示:清晰可见,易于读取分数和计时信息
设计:简洁大方,易于操作
颜色:鲜艳醒目,易于识别
显示清晰:能够清晰地显示比赛分数、时间等信息
操作简便:操作简单,易于使用
稳定性高:能够长时间稳定运行,避免故障
易于维护:易于维护和维修,降低维护成本
单片机最小系统包括:单片机、电源、晶振、复位电路
晶振:为单片机提供稳定的时钟信号
复位电路:在系统启动时,将单片机复位到初始状态
电源:为单片机提供稳定的电源电压
单片机最小系统设计需要考虑的因素:稳定性、可靠性、成本、可扩展性等
显示模块类型:LCD或LED
显示内容:比分、时间、犯规次数等
接口设计:I2C、SPI或其他
显示模块控制:通过单片机控制显示内容
显示模块接口:与单片机连接
显示模块尺寸:根据实际需求选择
功能:接收用户输入,控制计分牌的显示
应用实例:篮球比赛计分牌、电子秤、遥控器等
设计要点:按键的布局、微控制器的选择、显示模块的接口
模块组成:按键、微控制器、显示模块
电源模块的作用:为计分牌提供稳定的电源
电源模块的组成:电源适配器、电源线、电源开关等
电源模块的选择:根据计分牌的功率需求选择合适的电源模块
电源模块的安装:按照说明书进行安装,确保电源模块与计分牌的连接正确、牢固
电源滤波:使用电源滤波器,减少电源噪声干扰
屏蔽设计:使用金属外壳,屏蔽电磁干扰
接地设计:良好的接地设计,减少静电干扰
软件抗干扰:使用软件滤波算法,减少信号噪声干扰
C语言:广泛应用,易于理解和学习
功能测试:测试计分牌的各项功能,如计分、计时等
单片机课程设计篮球比赛计分牌的设计
西安文理学院机械与材料工程学院课程设计报告专业班级课程单片机课程设计题目单片机课程设计篮球比赛计分牌的设计学号学生姓名指导教师2016年11月西安文理学院机械与材料工程学院课程设计任务书学生姓名 专业班级 学 号指导教师 职 称 讲师 教研室课 程 单片机课程设计 题目篮球比赛计分牌的设计 任务与要求设计任务:以AT89S51单片机为核心,设计一个篮球比赛计分牌。
裁判控制开始、暂停、清除和两队的加分按键。
比赛每节10分钟,允许暂停,且使用不同LED 表示比赛状态。
比赛开始,按下可开始按键,绿色LED 亮,进入10分钟倒计时。
比赛期间,若暂停键按下,倒计时暂停,黄色LED 亮;当再次按下暂停按键,比赛继续进行。
当倒计时为0,比赛结束,红色LED 亮,蜂鸣器响5秒。
比赛期间,裁判可通过加分按键分别给A 队或B 队加分,每按下一次加2分。
当清除按键按下,时间与分数全部清零。
设计要求:1.完成系统的硬件电路设计与软件设计;2.采用C51语言编程;3.采用Proteus 、Keil C 等软件实现系统的仿真调试;4.设计报告要求思路清晰,结构合理,语言流畅,书写格式符合要求。
开始日期 2016.11.7 完成日期 2016.11.222016年11月3日A 队成绩倒计时开始加分加分暂停暂停B 队成绩摘要单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
本设计是基于AT89S51单片机的篮球计时计分器,利用7段共阴LED 作为显示器件。
在此设计中共接入了3个两位一体7段共阴LED显示器,一个用来记录赛程时间,其中2位用于显示A队成绩,2位用于显示B 队成绩,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。
单片机实训(篮球记分牌)实训报告-1316020131罗丙松资料
桂林电子科技大学《基于单片机综合应用设计实训》报告篮球比赛计分器设计学院(系):海洋信息工程学院专业:通信工程专业学号:学生姓名:指导教师:1目录目录 (1)摘要 (2)关键词 (2)1 绪论 (3)2 课题背景 (4)2.1 设计任务与要求 (4)2.2 设计目的 (4)2.3 设计题目的概述 (4)3 总体设计方案 (5)3.1 设计思想 (5)3.2方案论证 (5)4 硬件设计 (5)4.1 硬件结构及原理 (5)4.1.1总体设计思路: (5)4.1.2总体组成框图如图所示: (6)4.2单片机的选型 (6)4.3各模块的设计 (7)4.3.1键盘输入模块的设计 (7)4.3.2 分数显示模块的设计 (8)4.3.3 系统硬件原理总图 (9)4.3.4 元器件清单 (9)5 软件设计 (10)5.1 软件流程图 (10)5.1.1 单片机程序总体流程图 (10)5.1.2 ISIS Professional仿真 (11)5.2 核心程序设计 (11)5.3 PCB设计 (11)6 调试 (12)7 课程设计心得体会 (12)参考文献 (13)附录 (13)1原理图 (13)2 PCB图 (14)3 源程序代码 (14)4 实物图 (20)摘要单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
本设计是采用STC89C52单片机为核心设计的一个用于赛场的篮球计分器。
显示部分为计分显示部分,采用共阴极LED显示。
计分模块分显示为“a”队和“b”队,均有三位LED实现分数显示。
显示模块采用动态扫描方式显示。
在本设计中P0口(P0.0~P0.7)作为段选口,P2(P2.0~P2.7)作为数码管位选口。
《单片机原理及应用》篮球计分牌设计一
《单片机原理及应用》篮球计分牌设计1 系统设计1.1 设计要求1.1.1 设计任务设计一个基于单片机的篮球计分牌,实现两队的计分与24秒计时功能。
1.1.2 性能指标要求(1) 按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。
(2)结合硬件能够正常计分(1,2,3)。
(3)能够正常显示分值。
(4)能够正常修改工作模式(计分与24秒)。
(5)能够24秒的误差不小于1秒。
发挥部分能记录两队球员犯规次数计数。
1.2 设计思路及设计框图1.2.1设计思路根据实训的要求,需做出能够正常计分、 能记录两队犯规次数和24秒倒计时的电路板,先根据实训课件画出相应的原理图,然后再编写好程序,再依照原理图连接好元器后将程序拷入到板子上来实现其功能。
其中在程序中设计了延时函数,控制函数,主函数,中断方式。
它们分别起着24秒倒计时,加分,增加犯规次数,改变工作方式,复位等作用。
1.2.2总体设计框图→ ←2 各个模块程序的设计本次实训总共设计了4个模块,分别为数码管显示模块,由按键控制的控制模块,振荡电路模块,复位模块和蜂鸣器模块。
先对数码管进行段码的定义,由于本电路使用16位计时器的计时中断法,所以要循环20次才可到达1秒定时,当24s结束时蜂鸣器响。
并且然使用延时程序来给比赛双方加分和记录双方队员犯规的次数。
3 调试过程(1)先是用万用表将实训给予的元器件进行短路和断路的检查。
(2)然后利用proteus软件将已经设计好的原理图进行电路仿真测试,当仿真所显示出来的功能达到实训要求的功能时,就可以按照原理图把元器件插入到电路板上并进行焊接。
(3)完成焊接后,先是用万用表进行电路测试,检查是否存在短路,断路和虚焊等电路问题。
检查完后,把电源,地线和数据转接口连接好就将程序拷入到电路板中。
然后进行按钮功能的测试,发现数码管无法显示出来。
(4)得知是数码管模块出了问题后便开始进行逐一排查。
经过查阅资料得知A102J排阻要串联一个电阻才能使P0口高电平输出,从而让数码管点亮。
篮球记分牌设计
篮球记分牌1、项目名称:单片机篮球记分牌2、项目要求:实现为比赛的两个队计分,计时,中场暂停时蜂鸣器报警功能。
其中,加分可以实现每次加一分,两分和三分。
每个队加分时都有相应的指示灯点亮。
3、设计内容本设计是基于AT89C51单片机的篮球计时计分器,利用7段共阴LED作为显示器件。
在此设计中共接入了1个四位一体7段共阴LED显示器,1个四位一体7段共阴LED显示器,一个用来记录赛程时间,每次计时时间设置为2分钟。
另外一个数码管用于记录甲乙队的分数,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用正计时方式,比赛开始时启动计时,直至计时到到2分钟为止。
其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了四个按键,用于加一分,加两分,加三分和切换甲乙两队的加分等功能。
采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。
本篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。
通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。
这四个模块的相互连接如下图(图1)所示:4、芯片简介:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机课程设计篮球计时计分器正文精选全文完整版
可编辑修改精选全文完整版基于单片机的篮球赛计时计分器的设计一系统设计方案1.1 设计题目篮球计时计分器1.2 系统功能要求本系统可实现功能如下:(1)主控部分:选择单片机为核心元件构成系统。
(2)计时部分:能记录整个赛程的比赛时间,并能修改时间、暂停时间。
(3)计分部分:能随时刷新甲、乙两队在整个赛程中的比分。
(4)中场交换比赛场地时,能交换甲、乙两队比分的位置。
(5)比赛时间结束时,能发出报警指令。
1.3 系统总体方案设计本设计由AT89C51编程控制LED七段数码管作球赛计时计分系统具有赛程定时设置、赛程时间暂停、性能稳定、操作方便且易携带等特点。
1.3.1系统设计方案论证本设计是基于89C52单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为两大部分,即键盘输入控制部分和显示部分,对于每一个部分都有不同的设计方案,起初我拟订了下面两种方案:第一种方案:键盘控制采用矩阵扫描键盘,可以用普通按键构成4×4矩阵键盘,直接接到89C51单片机的P0口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。
显示部分采用动态显示,采用移位寄存器74LS164和译码器74LS138通过显示驱动程序驱动七段数码管显示。
此方案成本低,所用到的两个外围芯片价格都很低廉,而且单片机的I/O口占用较少,可以节约单片机接口资源。
第二种方案:键盘控制采用独立是式键盘,每个按键的"接零端"均接地,每个按键的"测试端"各接一条输入线,通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单。
这种方法比较适合按键较少或操作速度较高的场合。
显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU 的开销小。
篮电子球记分牌单片机课程设计
数码管也叫LED数码管,它是一种专门用来显示数字的器件,led数码管(LED Segment Displays)是由多个发光二极管封装在一路组成“8”字型的,引线已在内部连接完成,只需引出它们的各个笔画,公共电极。led数码管经常使用段数一样为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管依照LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除它们的硬件电路有不同外,编程方式也是不同的。
单片机课程设计报告册
设计题目:篮球赛电子记分牌
专业:
指导教师:
姓名:
学号:
2021年12月
摘要
随着单片机在各个领域的普遍应用,许多用单片机作操纵的计时记分系统也应运而生,如用单片机操纵LCD液晶显示的计时记分器,用单片机操纵LED七段显示的计时记分器等。篮球赛电子记分牌是依照篮球竞赛特点设计的独立的信息搜集、分派、评判和显示的系统,能实现竞赛分数的实时、准确、快捷处置和呈现。
MOV R2,#00
MOV R1,#00
;************************
;键盘扫描程序
;************************
;====判定甲乙间的转换===
CHENGXU:
JB P1.7,JIAYIDUI
JNB P1.7,$
JIAYIDUI:
JB P3.0,YIDUI
LJMP JIADUI
;**********************
;显示程序
;**********************
;====甲队显示扫描====
实训项目篮球记分牌单片机设计
单片机课程设计报告书课题名称 篮球赛计时计分电路 姓 名学 号 院 系 通信与电子工程学院 专 业电子信息工程※※※※※※※※※ ※※ ※※ ※※※※※※※※※※※ 2009级学生单片机 课程设计指导教师2012年 6 月14日篮球计时计分电路课程设计(湖南城市学院通电与电子工程学院电子信息工程专业,益阳,413000)1 设计任务设计目的1. 了解计时计分器组成及工作原理。
2. 进一步掌握计时计分器的设计方法3. 进一步掌握芯片的逻辑功能及使用方法。
4. 熟悉集成电路的引脚安排.。
设计指标设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求:(1)能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。
(2)能随时刷新甲、乙两队在整个比赛过程中的比分。
(3)中场交换比赛场地时,能交换甲、乙两队比分的位置。
(4)比赛结束时,能发出报警声。
设计要求1. 画出总体设计框图,以说明计时计分器独立的功能模块组成,标出各个模块之间互相联系。
2. 设计各个功能模块的电路图,加上原理说明。
3. 选择合适的元器件,在面板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。
4. 在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个计时计分电路的接线调试。
2、设计思路与总体框图.本设计是采用AT89C52单片机为核心设计的一个用于赛场的篮球计时计分器。
本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分,均采用共阴极LED显示。
单片机P3口(——)是计时计分显示共用的扫描口,P0口是计时数据输出口,P2口是计分数据输出口。
计时部分计时范围宽,而且可定时设定与小时、分钟调整;计分部分调整灵活,显示范围宽,足以满足各种规模赛程需要。
两个显示模块均采用动态扫描方式显示。
图1所示为计时计分器的总体框图。
单片机课程设计—篮球计时计分器
单片机课程设计—篮球计时计分器篮球作为一项广受欢迎的运动,其比赛的公平性和准确性至关重要。
而在篮球比赛中,计时计分器是不可或缺的设备,它能够为比赛提供准确的时间和比分信息,保障比赛的顺利进行。
本次单片机课程设计的任务就是设计一款篮球计时计分器,通过运用单片机的知识和技能,实现篮球比赛计时和计分的功能。
一、设计要求1、能够实现比赛时间的计时功能,包括 24 秒进攻时间、每节 10分钟的比赛时间以及加时赛时间。
2、能够实时显示比分,包括主队和客队的得分。
3、具备暂停、复位等功能,以应对比赛中的各种情况。
4、能够通过按键进行操作,简单易用。
二、系统方案设计1、硬件设计单片机选型:选择一款性能稳定、资源丰富的单片机,如STC89C52 单片机。
显示模块:采用数码管显示时间和比分,数码管具有亮度高、显示清晰、成本低等优点。
按键模块:使用独立按键实现计时、计分、暂停、复位等操作。
时钟模块:采用外部时钟芯片,为系统提供准确的时钟信号。
2、软件设计编程语言:选择 C 语言进行编程,C 语言具有语法简洁、可移植性好等优点。
程序流程:主程序负责系统的初始化、按键扫描、时间和比分的更新以及显示。
中断服务程序负责处理时钟中断,实现计时功能。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化。
2、显示电路采用共阳极数码管,通过三极管驱动数码管的段选和位选信号,实现时间和比分的显示。
3、按键电路独立按键分别连接到单片机的 I/O 口,通过检测按键的状态来执行相应的操作。
4、时钟电路采用 DS1302 时钟芯片,通过单片机的 I/O 口与时钟芯片进行通信,获取准确的时间信息。
四、软件程序设计1、主程序首先进行系统初始化,包括单片机端口设置、数码管显示初始化、时钟芯片初始化等。
然后进入主循环,不断扫描按键状态,根据按键执行相应的操作,同时更新时间和比分,并将其显示在数码管上。
实训项目篮球记分牌单片机设计教材
▲图1 计时计分器结构框图
3、系统硬件电路的设计
3.1、时钟电路
MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。有内部和外部两种时钟产生方式。本设计采用的是外部方式。
1.1 设计目的
1.了解计时计分器组成及工作原理。
2. 进一步掌握计时计分器的设计方法
3.进一步掌握芯片的逻辑功能及使用方法。
4.熟悉集成电路的引脚安排.。
1.2 设计指标
设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求:
(1)能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。
(2)能随时刷新甲、乙两队在整个比赛过程中的比分。
3.2、复位电路
复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。上电复位设利用电容充电来实现的,即上电瞬间RST/Vpd端的电位与Vcc相同,随着充电电流的减少,RST/Vpd的电位下降,最后被嵌位在0V。按钮电平复位是当按下按钮后,电源Vcc通过电阻R施加在单片机复位端RST/Vpd上,实现单片机复位。本设计采用的是上电+按钮电平复位电路,是上电自动复位与按钮电平复位电路的组合,当振荡频率选11.0592MH时。电容C取10uF,R取10K,Rs取1K。
本设计采用的是数码管动态显示。
3.5、定时报警电路
定式报警电路
4、软件设计
4.1、程序流程图
篮球比赛中,得分可分为1分、2分、3分三种情况,但为了方便我们在这只设置加1分,得2分、3分的情况可用按2次、3次加1分得到。还设置了定是报警键。根据这样的设计要求,结合数码管的显示以及52单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下:单机课程设计报告书课题名称
单片机实训篮球记分牌实训报告
桂林电子科技大学信息科技学院《单片机原理及应用》实训报告学号**********姓名刘琦指导老师韩桂明赵志鹏张锟2012 年9 月19 日1.系统设计本次实训的内容为设计一个篮球计分器。
1.1设计要求1.1.1基本要求(1) 按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。
(40分)(2)结合硬件能够正常计分(1,2,3)。
(10分)(3)能够正常显示分值。
(10分)(4)能够正常修改工作模式(计分与24秒)。
(10分)(5)能够24秒的误差不小于1秒。
(15分)1.1.2发挥部分能够两队球员犯规次数计数。
(15分)1.2设计原理主控芯片采用AT89S52,采用C语言进行编程,编程后利用KeiluVision3来进行编译,再生成的HEX文件通过下载口导入芯片中。
然后根据按键功能查看是否实现功能。
将12MHZ的石英晶体振荡器和单片机对应的引脚正确连接,将晶振产生的时钟信号作为定时信号。
篮球计分牌分为三个部分:开关控制、数码管显示和警示电路。
P1口接7按键,分别作为显示切换,比分+1、+2、+3功能,秒计时暂停重置,犯规计数。
队伍加分会有LED灯提示。
P0口和P2口分别接数码管的段选和位选。
主要在篮球比赛中用于记录24秒犯规计时和显示红蓝两队在比赛过程中的比分情况,本计时计分器有两部分组成:一部分用来实现计时功能,其基本原理和定时闹钟相似;另一部分用来实现计分功能,其基本原理和计数器相似,只不过所要记录和显示的对象分别是按键按下的次数和扫描脉冲次数。
在本题目中用到的参考原理图如下:图1 原理图基本框图:图2 整体框图1.3方案比较方案一:根据提供的原理图制作开题之时老师给了我们原理图能够按要求实现基本的加分,计时功能。
方案二:改进原理图通过改进原理图我们增加了按键和蜂鸣电路从而实现警报和发挥功能的实现。
方案二比实现的功能更多,更符合记分牌的实际。
实现方案二的条件只需方案一的基础上增加按键和蜂鸣电路即可。
单片机实训报告显示篮球比分的记分牌
目录一、方案设计说明 (2)二、硬件设计说明 (3)三、软件设计说明 (6)四、制作调试说明 (13)五、作品操作说明书 (14)六、小结 (14)七、主要参考书目 (15)前言近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用在不断的走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,再根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
而51系列单片机是各单片机中最为典型和最具有代表性的一种,通过本次课程设计进一步对单片机学习和应用,从而更熟悉单片机的原理和相关设计并提高了开发软件、硬件的能力。
本次设计主要设计一个基于80C51单片机的篮球记分牌,并在数码管上显示相应球队的分数,通过三个按键来实现球队分数的增加和比赛开始暂停功能。
应用Keil软件实现程序的编写和调试,Proteus软件实现单片机篮球记分牌系统的设计与仿真。
一、方案设计说明1、设计主要内容(1)、设计一款能显示篮球比分的记分牌;(2)、通过加分按钮可以给A对或B对加分;(3)、设计对调功能,即交换场地之后,AB两队分数互换;(4)、增加局数比分或比赛时间倒计时功能。
2、简单介绍本次设计主要设计一个基于80C51单片机的篮球记分牌,并在数码管上显示相应球队的分数,通过三个按键来实现球队分数的增加和比赛开始暂停功能。
应用Keil软件实现程序的编写和调试,Proteus软件实现单片机篮球记分牌系统的设计与仿真。
(1)、显示牌:由8个七段数码显示管组成,分为计分模块和计时模块,分别由4个数码管构成。
由于单片机的I/O口有限,则用单片机的P1口控制段,P2口控制位,通过软件对P2口进行扫描,实现数码管的动态显示。
(2)、开始暂停:用一个按键控制单片机的一个I/O口的一位(P3.6),当按键按下比赛开始,当再次按下按键时比赛暂停,若再次按下按键则比赛开始。
单片机实训报告--篮球计分器
单片机实训——基于单片机的篮球计分器设计班级:电子09-2班指导老师:王先彪组员:陈燕黄利平李剑锋学号:0505090213 0505090219 0505090247摘要传统的篮球计分器计分过程都是由人工完成,计时精度不能达到要求,而计分完全由人工通过翻计分簿的方法来完成,不但浪费人力,还导致计分的实时性差,不能把比赛的最新动态呈现给观众。
为了避免以上的现象发生,我们小组设计了基于A T89C51单片机的篮球计分器,其计时精度高,并且能够及时带给观众实时的比赛动态。
该计分器拥有多个开关按键,能够迅速地进行比分加减,时间的调整,并且通过L C D显示出结果来。
1.A T89单片机介绍A T89C51A T M E L公司生产的低电压,高性能的C M O S8位单片机,片内含4K的可反复擦写的只读程序存储器和256B随机存取数据存储器,器件采用A T M E L公司的高密度、非易失性存储技术生产,与标准的M C S-51指令系统及8052产品管脚兼容,适用于许多较为复杂的控制应用场合。
其时钟电路由A T89C51的18、19管脚的时钟端(X T A L1及X T A L2)以及12M H z 晶振、30p F的电容组成,采用片内振荡方式。
复位电路采用简易的上电复位电路,主要由电阻,电容、开关组成,分别接至A T89C51的R S T复位输入端。
时钟电路复位电路2.设计目的以及设计意义2.1设计并制作一个可以用于赛场的篮球计时计分器,能实现如下基本功能:I.能记录整个赛程的比赛时间,并能修改比赛时间,暂停比赛时间。
I I.能随时刷新甲、乙两队在整个赛程中的比分。
I I I.中场交换场地时,能交换甲、乙两队比分的位置。
2.2设计意义通过篮球计分器的制作,了解单片机开发设计实例的过程,并加深对单片机的理解和运用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下的一些方面:I.篮球计分器包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展一些实用性强的外围接口。
单片机课程设计篮球比赛计分牌的设计
西安文理学院机械与材料工程学院课程设计报告专业班级课程单片机课程设计题目单片机课程设计篮球比赛计分牌的设计学号学生姓名指导教师2016年11月西安文理学院机械与材料工程学院课程设计任务书学生姓名 专业班级 学 号指导教师 职 称 讲师 教研室课 程 单片机课程设计 题目篮球比赛计分牌的设计 任务与要求设计任务:以AT89S51单片机为核心,设计一个篮球比赛计分牌。
裁判控制开始、暂停、清除和两队的加分按键。
比赛每节10分钟,允许暂停,且使用不同LED 表示比赛状态。
比赛开始,按下可开始按键,绿色LED 亮,进入10分钟倒计时。
比赛期间,若暂停键按下,倒计时暂停,黄色LED 亮;当再次按下暂停按键,比赛继续进行。
当倒计时为0,比赛结束,红色LED 亮,蜂鸣器响5秒。
比赛期间,裁判可通过加分按键分别给A 队或B 队加分,每按下一次加2分。
当清除按键按下,时间与分数全部清零。
设计要求:1.完成系统的硬件电路设计与软件设计;2.采用C51语言编程;3.采用Proteus 、Keil C 等软件实现系统的仿真调试;4.设计报告要求思路清晰,结构合理,语言流畅,书写格式符合要求。
开始日期 2016.11.7 完成日期 2016.11.222016年11月3日A 队成绩倒计时开始加分加分暂停暂停B 队成绩摘要单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
本设计是基于AT89S51单片机的篮球计时计分器,利用7段共阴LED 作为显示器件。
在此设计中共接入了3个两位一体7段共阴LED显示器,一个用来记录赛程时间,其中2位用于显示A队成绩,2位用于显示B 队成绩,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。
单片机实训_篮球记分牌
桂林电子科技大学信息科技学院《单片机原理及应用》实训报告学号9527姓名唐伯虎指导教师:小行星2015 年9 月27 日(请核对时间)实训题目:篮球记分牌1 系统设计1.1 设计要求1.1.1 设计任务设计一个基于单片机的篮球计分牌,实现两队的计分功能与24秒计时功能。
1.1.2 性能指标要求基本要求(1) 按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。
(40分)(2)结合硬件能够正常计分(1,2,3)。
(10分)(3)能够正常显示分值。
(10分)(4)能够正常修改工作模式(计分与24秒)。
(10分)(5)能够24秒的误差不小于1秒。
(15分)2、发挥部分能够两队球员犯规次数计数。
(15分)1.2 设计思路及设计框图1.2.1设计思路在制作之前首先明确器件所要实现的功能,篮球记分牌顾名思义就是要记录篮球比赛中双方的比分(1分,2分,3分),进攻时间24s,双方的犯规次数等,明确功能之后便是分析与设计电路图,而此次的实训设计将分为两个部分,一个是硬件部分,另一个是软件部分;首先是在硬件部分,通过按下各种按键实现比分分数的录入,犯规暂停及显示切换,然后输出至数码管显示相应的内容;在软件程序方面,通过去定义不同的按键,编写判断语句,当其被按下时要实现怎样的功能效果,是计分,切换,还是暂停,尤其是显示进攻24s的时间可以通过调用中断函数来实现;程序部分需要注意的几个地方就是中断内初值的设置,八段共阴数码管的位选和段选代码,这些地方设置如果不对会出现显示错误或者达不到预期;1.2.2总体设计框图在本题目中用到的参考原理图如下:基本框图:2 各个模块程序的设计对于此次单片机实训来说,软件就像是人的大脑,而硬件就像是人的身体,硬件是个实体,软件则是灵魂;这次实训的软件,我将其划分为五个部分的内容,分别是中断部分,延时部分,显示部分,按键部分以及主函数;其中的中断函数void timer0 (void) interrupt 1 using 0承担了进攻24s倒计时,双方比分,犯规次数的显示,用到的是定时器T0中断,12MHz的晶振,为了能使计时时间的误差小于1s,在设置初始值时用到了此前实验课中使用的0x3CB0,这在12MHz的晶振中刚好是50ms 的计时时间,定义一个变量,让其循环累加20次,则刚好是1秒钟的时间,每经过一秒就让24s减1,并输出至数码管显示;此外,还对双方比分,犯规次数进行了扫描显示,通过在主函数中改变变量的值,在中断中判断相应值的变化用来切换不同的显示内容;延时函数void delay (uint t)在程序中的作用主要是作为按键的消抖,如果少了这个延时,则在按下按键时可能会出现错误,这个在硬件中的表现就是按键的灵敏性,如果延时不够(灵敏性高),按一次可能会加很多分;反之就是按键迟钝,所以适当的延时很重要。
篮球记分牌单片机实训报告
桂林电子科技大学毕业设计(论文)报告用纸编号:设计说明书题目:篮球计分牌学院:桂林电子科技大学职业技术学院专业:电子信息工程技术学生姓名:学号:指导教师:职称:讲师实验研究√工程设计工程技术研究软件开发 2014 年 12 月日伴随着信息传播技术的发展,NBA在年轻人中越来越流行。
在我们校园的每一个角落都能发现篮球比赛的身影。
篮球赛计分器是为了解决篮球比赛时计分与计时准确的问题。
此装置利用单片机AT89C51完成了计时和计分的功能。
本文详细地介绍了系统硬件与软件的设计过程,设计由AT89C51编程控制四位数码管作显示的球赛计时计分系统。
该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩等功能。
它具有价格低廉,性能稳定,操作方便并且易于携带等特点。
广泛适合各类学校或者小型团体作为赛程计时计分。
关键词:AT89C51;篮球赛计分牌;四位数码管;动态显示;引言 (1)1 系统概述 (2)1.1 选题背景 (2)1.2 设计要求 (2)2 设计原理 (2)2.1 硬件部分 (2)2.2 软件部分 (2)3 硬件电路设计与分析 (3)3.1 硬件框架图 (3)3.2 单片机最小系统 (3)3.2.1 STC89C52芯片介绍 (3)3.2.2 时钟电路 (4)3.2.3 复位电路 (5)3.3 四位数码管 (5)3.3.1 数码管的介绍 (5)3.3.2 四位数码管共阳和共阴的区分 (6)3.3.3数码管的驱动方式 (7)3.4 74HC573芯片介绍 (7)4 软件设计与分析 (8)4.1 程序主流程图: (8)4.2 初始化定时器程序 (9)4.3 四位共阴数码管的动态显示程序 (9)5 系统调试 (10)5.1 硬件调试 (10)5.1.1 最小系统调试 (10)5.1.2 四位数码管调试 (10)5.2 软件调试 (10)5.3 脱机运行调试 (11)6 总结 (12)谢辞 (13)参考文献 (14)附录1:篮球计分牌原理图.................. 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
探※※※※※※※※次2009级学生单片机次课程设计单片机课程设计报告书课题名称篮球赛计时计分电路姓名学号院系通信与电子工程学院指导教师2012年6月14日篮球计时计分电路课程设计(湖南城市学院通电与电子工程学院电子信息工程专业,益阳,413000 )1设计任务设计目的1.了解计时计分器组成及工作原理。
2.进一步掌握计时计分器的设计方法3.进一步掌握芯片的逻辑功能及使用方法。
4.熟悉集成电路的引脚安排.。
设计指标设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求:(1)能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。
(2)能随时刷新甲、乙两队在整个比赛过程中的比分。
(3)中场交换比赛场地时,能交换甲、乙两队比分的位置。
(4)比赛结束时,能发出报警声。
设计要求1.画出总体设计框图,以说明计时计分器独立的功能模块组成,标出各个模块之间互相联系。
2.设计各个功能模块的电路图,加上原理说明。
3.选择合适的元器件,在面板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。
4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个计时计分电路的接线调试2、设计思路与总体框图本设计是采用AT89C52单片机为核心设计的一个用于赛场的篮球计时计 分器。
本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分, 均采用共阴极LED 显示。
单片机P3 口(一一)是计时计分显示共用的扫描口, P0 口是计时数据输出口, P2 口是计分数据输出口。
计时部分计时范围宽,而 且可定时设定与小时、分钟调整;计分部分调整灵活,显示范围宽,足以满足 各种规模赛程需要。
两个显示模块均采用动态扫描方式显示。
图1所示为计时计分器的总体框图。
▲图1 计时计分器结构框图3、系统硬件电路的设计、时钟电路MCS-51内部有一个用于构成振荡器的高增益反相放大器, 此放大器的 XTAL1 和 XTAL2,在 XTAL1 和 XTAL2 上外接时钟P0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15输入和输出端分别是引脚 XTAL2C319189XTAL1XTAL2RSTPSEN ALE EAP0.0/A匸P0.1/ADP0.2/AD P0.3/AD P0.4/ADP0.5/ADP0.6/AD P0.7/AD P2.0/A P2.1/AP2.2/A1 P2.3/A1 P2.4/A1 P2.5/A1 P2.6/A1、按键控制电路P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52P3.0/RX —011P3.1/TX P3.27INT P3.37INT P3.4/T)…P3.5/TP3.6/WR { P3.77R」15 1617源即可构成时钟电路。
有内部和外部两种时钟产生方式。
本设计采用的是外部方式。
C1、复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后, 撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分 -合过程中引起的抖动而影响复位。
上电复位设利用电容充电来实现的,即上电瞬间RST/Vpd端的电位与Vcc 相同,随着充电电流的减少, RST/Vpd 的电位下降,最后被嵌位在0V 。
按钮 电平复位是当按下按钮后,电源Vcc 通过电阻R 施加在单片机复位端 RST/Vpd 上,实现单片 机复位。
本设计采用的是上电 +按钮电平复位电路,是上电自动复位与按钮电平复位电路的组合,当振荡频率选时。
电容C 取10uF, R 取10K , Rs 取1K 。
U1U1191 XTAL1XTAL2RSTP0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7P2.0/A8 P2.1/A9P2.2/A10 ■PSEN P2.3/A11 ALE P2.4/A12 ■EAP2.5/A13 P2.6/A14P2.7/A15 P1.0/T2 P3.0/RXD P1.1/T2EX P3.1/TXD P1.2 P3.23/NT0 P1.3 P3.3/IMT1 P1.4 P3.4/TC P1 5 P3 5/T1 P1.6 P3.6/WR P1.7P3.7/RD18 9AT89C52设计采用的是用查询方式的,也就是把按键接在P1 口,用程序查询方式查询那个按键按U1下,执行相应的操作。
、数码管显示电路数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,H。
假设我们要显示一个数字2,那么A、 B GE、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。
从高往低排列,写成二进制为01111110, 把他转化为16进制则为A2H本设计采用的是数码管动态显示。
、定时报警电路19 ,XTAL1XTAL2RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSEN P2.3/A11ALE P2.4/A12EA P2.5/A13P2.6/A14P2.7/A15P1.0/T2 P3.0/RXDP1.1/T2EX P3.1/TXDP1.2 P3.2/INT0P1.3 P3.3/INTTP1.4 P3.4/T0P1.5 P3.5/T1P1.6 P3.6/WRP1.7 P3.7/RD29~30—471891238AT89C52定式报警电路4、软件设计、程序流程图篮球比赛中,得分可分为1分、2分、3分三种情况,但为了方便我们在 这只设置加1分,得2分、3分的情况可用按2次、3次加1分得到。
还设置 了定是报警键。
根据这样的设计要求,结合数码管的显示以及52单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下:U1913=2930」;XTAL1 P0.0/AD0 P0.1/AD1P0.2/AD2 XTAL2P0.3/AD3P0.4/AD4 P0.5/AD5P0.6/AD6 RSTP0.7/AD7 P2.0/A8 P2.1/A9P2.2/A10 ALE P2.4/A12 ■EAP2.5/A13 P2.6/A14P2.7/A15 P1.0/T2 P3.0/RXD P1.1/T2EX P3.1/TXD P1.2 P3.2/INT0 P1.3 P3.3/INT1P1.4 P3.4/T0 P1.5 P3.5/T1 P1 6 P3 6/W^MP1.7P3.7/RD ---三三二三二三_二三三程序初始化7^7<KEYI -O ?> 甲队加一分I——<<EY5=0?>-比分疇交换 比分设逻定时7/ liL :调塹分钟、程序分析本设计采用AT89S52单片机中的一个16位的定时/计数器T o ,分别由TH 和 TL o 组成,它们均是8位寄存器,在特殊功能寄存器中占地址 8AH-8DH 它们用 于存放定时或计数的初始值。
此外,内部还有一个 8位的方式寄存器TMO [和一 个8位的控制寄存器TCON用于选择和控制定时/计数器的工作。
5程序设计仿真在计算机中打开PROTEU 软件,建立新的项目,在元件库中选择相应的元 件,放在编辑窗口中,依次连线,组成仿真原理图计时工作仿真状态图:I半并产12345甲乙两队计分工作仿真状态图: 67896.总结与体会总结1.根据原理和芯片引脚图,分功能设计原理图,并根据接线顺序分步骤验证。
2.容易出现故障为接触不良。
a)集成块引脚方向预先弯好对准面板的金属孔,再小心插入。
b)导线的剥线长度与面包板的厚度相适应(比板的厚度稍短)。
c)导线的裸线部分不要露在板的上面,以防短路。
d)导线要插入金属孔中央。
3.注意芯片的控制引脚必须正确接好4.检查故障时除测试输入、输出信号外,要注意电源、接地和控制引脚。
5.要注意芯片引脚上的信号与面包板上插座上信号是否一致(集成块引脚与面包板常接触不良)。
体会这次课程设计历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对C语言程序设计掌握的不够……通过这次课程设计之后,一定把以前所学过的知识重新温故。
7.参考文献:附1/*******************************************************************************程序名:篮球记分牌测试程序编辑时间:2012-06-14编辑者:修改时间:硬件平台:MCU:At89C51 晶振:12MHz硬件连接:功能说明:按下K1键,甲队加1分按下K2键,乙队加1分按下K5交换记分牌按下K3键,开始/停止比赛按下K4:调整比赛时间第1~4位数码管为比赛时间的分和秒,第5~8位数码管分别为两队的分数测试结果:0K注意:*******************************************************************************///头文件#in clude<>#in clude<>#i nclude""#i nclude""#in clude""//变量定义unsigned char disp_buff1[4]={1,2,0,0}; // un sig ned char disp_buff2[4]={0};un sig ned char minu te=12,sec on d=0;un sig ned char score1=0,score2=0;bit volatile fini sh_flag=0;un sig ned char num=0;un sig ned char key=0;比赛时间显示缓冲区//两队得分显示缓冲区//比赛时分秒//两队的比赛得分//比赛完成标志位//定时累加计数//保存键值II定时器T0初始化函数void in itial(){TMOD=0x80;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;}/******************************************************************************函数名:数码管显示缓冲区数组处理函数入口参数:无出口参数:无*********************************************************************************/void dispose(void){disp_buff1[0]=mi nute/10; //分钟的十位disp_buff1[1]=mi nute%10; //分钟的个位disp_buff1[2]=seco nd/10; //秒钟的十位disp_buff1[3]=seco nd%10; //秒钟的个位disp_buff2[0]=score1/10; //甲队得分的十位disp_buff2[1]=score1%10; disp_buff2[2]=score2/10; disp_buff2[3]=score2%10; //甲队得分的个位//乙队得分的十位//乙队得分的个位//主函数void mai n(void){un sig ned char temp;in itial();while(1){key=key_sca n();switch(key){case 1:score1++;break;case 2:score2++;if(score仁=100)if(score2==100)break; //定时器T0初始化//按键扫描〃K1按下,甲队加1分score 仁99;//K2按下,乙队加1分score2=99;case 5:temp=score1; //K5 按下,交换记分牌score仁score2;score2=temp;break;case 3:TR0=~TR0; //K3按下,停止或开始比赛break;F K4键可以调整比赛时间case 4:if(TR0==0) // 停止比赛时,按{minu te++;if(mi nute==60)minu te=0;}break;default:break;}dispose();diaplay(disp_buff1,disp_buff2);if(fini sh_flag){P1A=0x08;minu te=sec on d=0;}}}//定时器T0中断服务函数void T0_time( )in terrupt 1{TH0=(65536-20000)/256;TL0=(65536-20000)%256;nu m++;if(num==250){num=O;if(sec on d==0){if(minute==0) //比赛时间到,则停止计时{TR0=0;fini sh_flag=1;}else{second=60;minu te--;}}sec on d--;}}[未****************************************************************************程序名:8位共阳七段数码管动态显示程序编辑时间:2012-06-14编辑者: x_z_yQ Q : 6修改时间:硬件平台:MCU At89c51 晶振:12MHz 8 位共阳七段数码管硬件连接:第1~4位数码管段选 ----------- P0 位选---------------- P3A0,P3A1,P3A2,P3A3第5~8位数码管段选P2 位选P3A0,P3A1,P3A2,P3A3 注意:*****************************************************************************///头文件#in clude<>#in clude<>#i nclude""#i nclude""//变量定义unsigned char code disptable[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //定义0~F所对应的十六进制数组disptable/****************************************************************************函数名:一位数码管显示函数入口参数:unsigned char num对应的第几个数码管unsigned char dat1 ,dat2对应要显示的数出口参数:无****************************************************************************/void seg_display (un sig ned char num,un sig ned char dat1, un sig ned char dat2)/****************************************************************************函 数名:八位数码管显示函数入口参数:un sig ned char *disp_buff1,*disp_buff2对应要显示的数缓冲数组指针 出口参数:无****************************************************************************/ void diaplay (un sig ned char *disp_buff1, un sig ned char *disp_buff2) {un sig ned char i;for(i=0;i<4;i++) //循环扫描数码管{seg_display(i,disp_buff1[i],disp_buff2[i]);delay_ms(3);}}/**************************************************************程序名:STC89C52RD+四个独立按键的程序编辑时间:2012-06-14编译环境:keil c硬件平台:STC89C52RD 单片机,晶振四个独立按键 功能描述: sbit K 仁P1A 0; 〃K1 ――甲对加分键P3&=0xf0; P0=~disptable[dat1]; P2=~disptable[dat2]; P3=_cror_(0x08, nu m); }//消影//第1~4位数码管段选//第5~8位数码管段选//位选sbit K2=P1A1; 〃K2 —-一乙队加分键sbit K3=P1A2; 〃K3 —-一开始/停止比赛sbit K4=P1A5; 〃K4 —-一调整比赛时间sbit K5=P1A6; 〃K5 —-一甲乙队交换记分牌注意:**/*************************************************************//头文件#in clude<>#i nclude""#in elude""//硬件定义sbit K仁P1A0;〃K1 —甲对加分键sbit K2=P1A1;〃K2 —-一乙队加分键sbit K3=P1A2; 〃K3 —-一开始/停止比赛sbit K4=P1A5; 〃K4 —-一调整比赛时间sbit K5=P1A6; 〃K5 —-一甲乙队交换记分牌/***************************************************************************************函数名:三个独立键盘扫描函数函数入口:无函数出口:无*************************************************************************************un sig ned char key_sca n( void) { un sig ned char key=0;if(K1==O){delay_ms(2);if(K1==0){while(K1==0);key=1;}}else if(K2==0){delay_ms(2);if(K2==0){while(K2==0);key=2;}}else if(K3==0){delay_ms(2);if(K3==0) //甲对加分键//乙队加分键//开始/停止比赛while(K3==0);key=3;}}else if(K4==0) //调整比赛时间{delay_ms(2);if(K4==0){while(K4==0);key=4;}}else if(K5==0) //甲乙队交换记分牌{delay_ms(2);if(K5==0){while(K5==0);key=5;}}return key;}〃延时函数******************************* ********************//头文件#in elude <>#in elude <>#i nclude ""//延时xus的函数void delay_us( un sig ned int xus){while(xus-)_n op_();}//延时xms的函数void delay_ms( un sig ned int xms){while(xms--)delay_us(1);}#ifndef __DISPLAY_H__#defi ne __DISPLAY_H__ void seg_display (un sig ned char num,un sig ned char dat1, un sig ned char dat2);//数码管显示函数void diaplay (un sig ned char *disp_buff1, un sig ned char *disp_buff2);〃示函数2121一位八位数码管显#en dif#ifndef __DELAY_H__#defi ne __DELAY_H_exter n void delay_us( un sig ned int xus); // 微秒延时exter n void delay_ms( un sig ned int xms); // 毫秒延时#en dif。