基于51单片机的篮球24秒倒计时器.doc
基于51单片机的篮球24秒倒计时器
基于51单片机的篮球24秒倒计时器#include <reg51.h>#define uchar unsigned charsbit wei0=P1^0;sbit wei1=P1^1;sbit wei2=P1^2;sbit gnd=P2^5;sbit key2=P2^0;uchar count;//用于记录发生了多少次中断的计数器uchar sec=240;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//注:用code是把后面的数据存在程序存贮器中,如果不用code,数据就会存在随机存贮器中。
void delayms(int x){int y,z;for(y=x;y>0;y--)for(z=110;z>0;z--);}void display(int dat){uchar bai,shi,ge;bai=dat/100;shi=dat%100/10;ge=dat%10;wei0=0;P0=table[bai];delayms(1);wei0=1;wei1=0;P0=table[shi]&0x7f;delayms(1);wei1=1;wei2=0;P0=table[ge];delayms(1);wei2=1;P0=0xff; //这一句和下一句是为了降低数码管亮度,同学们不必写。
delayms(20);}void keyscan(){if(key2==0){delayms(5);//延时消抖while(!key2);//松手检测TR0=~TR0;}}void main(){gnd=0;TMOD=0x01;//启用定时器0的工作方式1TH0=(65536-50000)/256;//装初值TL0=(65536-50000)%256;//装初值EA=1;//打开总中断ET0=1;//打开定时器0;TR0=0;//启动定时器0;while(1){keyscan();/*if(count==2){count=0;sec--;if(sec==0)sec=240;}*/ display(sec);}}void timer0 () interrupt 1//定时器0的中断优先等级是1 {TH0=(65536-50000)/256;//重新装初值TL0=(65536-50000)%256;//重新装初值count++;if(count==2){count=0;sec--;if(sec==0)sec=240;}// display(sec); }。
篮球24秒可控计时器设计
安徽大学本科毕业论文(设计、创作)题目:篮球24秒可控计时器设计学生姓名:····学号:········院(系):电子信息工程学院专业:电子信息工程入学时间:二〇一〇年九月导师姓名:······职称/学位:······导师所在单位:安徽大学电子信息工程学院完成时间:二〇一四年五月篮球24秒可控计时器设计摘要论文描述了篮球24秒可控计时器的硬件电路和软件编程。
电路主要由四个模块构成:单片机最小系统、独立按键控制电路、驱动显示电路、报警电路。
篮球24秒可控计时器主要构成模块是单片机, 由C语言编程控制,利用单片机内部的定时器/计数器、中断等资源,设计出实用地篮球比赛计时器,能有效地模拟比赛过程中正常进攻、回合超时、中途暂停等场景。
系统设有初始键、开始键、投球键(暂停/继续键),通过操作这些按键,运用到比赛的所有实际场景中,保证比赛的正常进行。
关键词:单片机;24秒倒计时; C语言;数码管显示;报警电路Basketball 24 seconds timer control designAbstractArticles describes the hardware and software programming of Controlled Basketball 24 Seconds Timer . The circuit consists of four modules: smallest MCU system, the independent button control circuit, driver display circuit, alarm circuit. Controlled Basketball 24 Seconds Timer module is mainly composed of MCU controlled by the C programming language, using MCU internal timer / counter, interrupt and other resources to design a practical basketball game timer, can effectively simulate normal attack ,round matches timeout, midway pause during the race. System has an initial button, start button, pitching button (pause / resume button), through the operation of these buttons, adapt to all the actual scene of the game, and ensure that the players enjoy the game.Keywords: scm; 24 seconds count down; c language; digital display; alarm circuit目录1 引言 (1)1.1 总体要求 (1)1.2 设计方案 (1)2 工作原理及基本组成 (1)2.1 电路组成 (1)2.2 工作原理及流程图 (2)2.3 单片机最小系统 (2)2.4 按键电路 (3)2.5 显示电路 (3)2.5.1 数码管 (4)2.5.2 锁存器 (5)2.5.3 锁存器与数码管的电路连接 (6)2.6 声音报警电路 (7)2.6.1 蜂鸣器 (7)2.6.2 三极管驱动 (8)2.6.3 蜂鸣器连接驱动电路 (9)3 软件设计 (9)3.1 按键检测 (9)3.1.1 按键检测与消抖 (9)3.1.2 按键检测与中断 (11)3.2 计时程序与数码管显示 (12)3.2.1 单片机定时器/计数器 (12)3.2.2 定时器的初始值设定 (13)3.2.3 数码管显示程序 (14)3.3 报警电路控制程序 (15)4 比赛场景模拟 (16)4.1 投球超时 (16)4.2 正常投球 (16)4.3 回合中途暂停 (16)5 结论 (16)主要参考文献 (17)致谢.................................................... 错误!未定义书签。
篮球竞赛24秒倒计时器
目录第一章:设计任务及要求、目标 (2)第二章:设计原理、电路设计及仿真 (2)2.1 设计原理及方案 (2)2.2 单元模块设计及仿真 (3)2.2.1 秒信号源设计与仿真 (3)2.2.2 74LS192设计与仿真 (4)第三章:电路的仿真、安装与调试 (6)第四章:问题及分析、解决及总结 (7)附录一: (9)附录二: (10)篮球竞赛24秒倒计时器第一章:设计任务及要求、目标1.1,设计任务及要求1)具有准确的24 s倒计时显示功能,计时器为24 s递减计数;2)设置外部操作开关,启动和暂停/连续功能,3)计时器为24 s递减计时器,计时时间间隔为1s;4)计时器递减计时至0时,能发出光电警报信号。
1.2,设计任务及目标(1)根据给出的电路原理图分析各单元电路的功能;(2)熟悉电路中所用到的各集成模块的管脚及其功能;(3)进行电路的安装、测试,知道电路能达到设计目标;(4)写出完整、详细的课程设计报告。
第二章:设计原理、电路设计及仿真:2.1,篮球竞赛24 s计时器原理框图如图1所示。
图(1)图(2)根据原理图,进行仿真实验,图(2)是我们仿真时的连线图(1);计数译码显示部分:计数器构成8421BCD码24进制递减计数器,用74LS48配共阴极LED数码管组成译码器显示部分。
(2);秒信号源产生电路:用555定时器和分频电路组成十分频产生秒信号。
(3);时序控制部分:工作时,启动开关闭合控制电路封锁时钟脉冲(CP),与此同时,产生预置信号,使数码管显示24字样。
启动开关断开,开始递减计数。
当开关2断开时,此时暂停计数;并处于保持状态;当开关2闭合时,计数器继续递减计数。
当计数到零时,LED警报灯亮,停止计数。
2.2 单元模块的设计及仿真在本次课程设计中,我主要负责了秒信号源和24 s计数的仿真和设计及其分析等。
下面是我对这2个单元模块的简要设计和仿真原理和方法及其数据。
2.2.1 秒信号源的设计与仿真为产生秒信号,所以我们选择了555定时器构成多谐振荡电路,通过计算可以确定参数的取值:110R K =Ω,22R K =Ω,2110,1;C F C nF μ==因此,产生的脉冲周期为:()1220.720.0980.1T R R C s s =+=≈,再通过74LS161计数器用异步清零法组成十分频,使得74LS161计数器产生的脉冲周期为1s 。
用单片机制作的篮球比赛计时器
用单片机制作的篮球比赛计时器
篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
本人设计了一个篮球比赛计时器,可对比赛总时间和各方每次控球时间计时。
该计时器采用按键操作、LED显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
电路如图1所示。
主控芯片为89C2051,采用6MHz晶振,P10~P17作键盘输入。
A1为+1键(软件设计时让此键连续按住4秒以上为连续+1),用于设定比赛时间;A2为暂停键,可以控制总计时和24秒计时暂停;A3为总计时工作开启键;A4为启动24秒计时键,投篮或交换控球时按下此键,24秒计时开始;A5为24秒计时停止键(没有违例);A6为总计时和24秒计时同时启动键。
电路采用静态显示,软件设计比较简单,用了4片74LS595。
利用串口TXD和RXD通过74LS5958位移位寄存器(带有三态)输出显示的字段,第6位显示完后,再进行锁存输出。
显示器的前两位显示24秒计时,后4位显示总计时的分、秒。
用T0定时器中断进行总计时处理,24秒计时用T1定时器中断计时。
片内RAM单元的7CH中放24秒的显示值,7DH中放总计时的分钟数,7EH中放总计时的秒值。
下面给出程序流程如图2、图3(T1同T0略去)所示。
基于单片机篮球比赛24秒计时器设计_课程设计论文
课程设计(论文)题目名称基于单片机篮球比赛24秒计时器设计课程名称单片机原理及在电气测控学科中的应用系、专业电气工程系、电气测控类邵阳学院课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。
指导教师(签字):学生(签字):周新邵阳学院课程设计(论文)评阅表学生姓名刘标学号0941201062系电气工程系专业班级电气测控类09电本一班题目名称基于单片机篮球比赛24秒计时器设计课程名称单片机原理及在电气测控学科中的应用一、学生自我总结二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。
目录摘要 (I)1 篮球计时器概述 (1)1.1 篮球竞赛24秒计时器功能 (1)1.2篮球计时器实物图 (1)1.3 主要参考器件 (2)1.4 单片机的概述 (2)1.4.1 AT89C51单片机简介 (2)1.4.2 AT89C51单片机引脚功能简介 (2)2 硬件设计 (4)2.1 设计原理 (4)2.2 硬件设计流程图............................................... 错误!未定义书签。
2.2.1 功能单元模块 (5)2.3 硬件设计电路图 (7)3 软件设计 (8)3.1 程序流程图 (8)3.2 程序设计 (9)3.3 仿真及仿真结果 (12)4 课程设计体会 (15)参考文献 (16)摘要篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
以下为一个篮球比赛计时器,该计时器采用按键操作、LED显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、6个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。
单片机课程设计(24秒篮球计数器)
1.引言目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对时,分,秒。
数字显示的计时装置,广泛用于比赛,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
2 设计要求1、具有24s计时功能。
2、设置外部操作开关,控制计时器的直接清零、启动和暂停 /连续功能。
3、计时器为24秒递减时,计时间隔为1秒。
4、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。
5、有直接清零然后恢复到24秒,准备重新开始计数。
学生在教师指导下,综合运用所学知识完成基于单片机的篮球比赛24秒计时器设计。
要求设计一个24秒计时电路,并具有时间显示的功能。
要求:1、设置外部操作开关,控制计数器的直接清零、启动和暂停/连续计时。
2、要求计时电路递减计时,每隔1秒钟,计时器减1。
3、当计时器减到0时,显示器上显示00,同时发出光电报警信号。
3设计思路:选用AT89C51作为主控芯片,晶振是6KHz,机械周期为1ms,所以循环10次为1s。
P0口作为段码输出,P2.0、P2.1作为位控,高电平有效。
数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有效,启动T0定时器/计数器进行计数,低电平有效。
基于单片机的24秒倒计时
课程设计题目:基于单片机的24秒倒计时院(系):*************专业:********学生姓名:*******学号:***********指导教师:******职称:******2012年12 月1 日目录摘要 (2)前言 (4)Abstract (5)第一章原理设计 (6)1.1设计要求 (6)1.2AT89C51芯片 (7)1.3管脚说明 (10)第二章系统总体方案的设计 (12)2.1硬件电路的设计 (12)2.2时钟频率电路的设计 (13)2.3复位电路的设计 (14)2.4显示电路的设计 (15)2.5按键电路的设计 (16)第三章系统软件的设计 (17)3.1定时中断的程序设计 (17)3.2独立键盘服务程序的设计 (18)3.3报警程序的设计 (18)3.4显示子程序的设计 (18)3.5系统软件的调试 (18)第四章Altium Designer原理图绘制 (19)第五章Keil uVision3软件编译 (20)总结 (22)参考文献 (23)程序源代码: (24)摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。
并采用电子秤原理可根据输入单价准确的计算出物体的金额。
本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。
【关键词】单片机;AT89C51;LED数码管显示器;keil C;晶体振荡器前言高速发展的计算机技术带领人类进入了信息社会,同时也促进了倒计时器的迅速发展。
基于单片机的篮球竟赛24S计时器设计
学生毕业设计开题报告书题目:基于单片机的LED滚动汉字显示器设计姓名洪明学号37院系信息工程系专业应用电子指导教师谭立新2014年9月30日学生姓名洪明学号37 专业应用电子班级电子1202毕业设计题目LED滚动汉字显示器设计课题类型[1]产品设计类课题来源[2]教学科研毕业设计时间2014 年 9 月25 日至 2014 年 11月 10 日一、选题依据和意义在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。
LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。
随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。
显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。
二、基本内容及解决的主要问题主程序中,同一帧的反复扫描次数的设定,决定了显示移动的速度,延时程序至关重要,如果刷新速率设置不当,就会有闪烁感,这样会影响视觉效果。
解决方法:在显示过程中,多采用扫描方式,利用人眼的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。
三、进度、步骤开始设计程序:设计1帧显示时间设计片选及数据指针设计查汉字上部数据及显示设计查汉字下部数据及显示设计延时程序检测汉子是否完整检测延时时间是否正确四、方法、措施应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存,建立工程并添加源文件,设置工程,编译/汇编、连接,产生目标文件,再进行程序调试。
成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态。
Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。
基于单片机篮球比赛24秒计时器设计1
河北科技师范学院单片机原理及应用课程设计篮球比赛24秒计时器设计学院名称机电工程学院专业名称电气工程及其自动化学生姓名杨凌霄赵鑫武少东学号0413130220 0413130229 0413130217指导教师张丽红2015 年09 月18 日目录摘要 (2)序言 (2)1 篮球计时器概述 (3)1.1 篮球计时器功能 (3)1.2 篮球计时器的实验室实物图 (4)1.3主要参考器件 (4)2 单片机概述 (4)2.1 单片机简介 (4)2.2 单片机的应用领域 (5)2.3 AT89C51单片机引脚功能简介 (5)3 系统硬件设计 (7)3.1设计原理 (7)3.2功能单元块 (7)3.3 硬件设计电路图 (9)4 系统软件设计 (10)4.1 程序流程图 (10)4.2 程序设计 (11)5 结论 (13)5.1 个人总结 (13)5.2 致谢 (14)5.3参考文献 (14)摘要篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
以下为一个篮球比赛计时器,该计时器采用按键操作、LED显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、6个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。
其功能主要有:一场篮球比赛共分四节,每节12分;每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、清零;当球员的持球时间超过24秒时,24秒倒计时减为零且有声光提示。
本次课程设计是采用单片机汇编语言实现倒计时24秒篮球比赛计时器。
关键词:AT89C51;LED数码管;按键;模块序言篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要使进攻方在24秒内有一次投篮动作,否则视为违例。
本次的课程设计了一个篮球比赛计时器,可对比赛总时间和各个方面每次控球时间计时。
篮球比赛24秒计时器
篮球比赛24秒计时器单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,广泛应用于国民经济的各个领域。
单片机的应用从根本上改变了传统的控制系统设计思想和方法,以前由数字和模拟电路实现的大部分功能,现在都能用单片机通过软件的方法来实现。
单片机用于各种仪器仪表使其智能化,可以提高测量的自动化程度和精度。
本项目主要利用单片机的内部定时器和外部中断;外部的独立按键和数码管显示以及报警器。
来实现24秒计时的功能。
一设计要求和设计方案秒计时器具有显示24秒的计时功能。
2.系统设置外部操作开关控制计时器的暂停和连续功能。
3.设置计时器为24秒递减时,其时间间隔为1秒。
4.当计时器递减到零时,数码管显示不灭,发出报警信号。
二设计的功能单片机启动时系统从24秒开始递减计时同时数码管也递减显示,当按键按下时系统暂停计时,数码管显示当前计时时间,当系统计时到零时数码管显示0同时报警器响发出报警信号。
三电路的组成1. 晶振电路部分主要有晶振(本电路中的晶振实际是陶瓷谐振器)和电容够成分别接振荡电路反向放大器的输入端和输出端,为单片机提供工作的频率。
2. 报警电路部分主要由报警器、电阻、电源构成。
当单片机P1^7口发低电平时该电路导通报警器响,电阻是限流电阻。
3. 独立按键部分主要由按键和地组成。
按键按下时单片机接受低电平产生外部中断计时器暂停计时,松开时继续计时。
4. 数码管显示部分主要由数码管、总线、排阻(上拉电阻)构成. 单片机的P0、P2口通过总线和导线向数码管发送显示数字的二进制码使数码管显示。
数码管(7端数码显示管)为共阴集数码管高电平有效。
四设计电路全图五设计电路的程序#include<> // 头文件包含c51的基本I/O口和寄存器的定义#define uint unsigned int // 宏定义将“无符号整型 " 数据用 " uint " 代替#define uchar unsigned char // 宏定义将“无符号字符型 " 数据用 " uchar " 代替uchar temp,aa,shi,ge; // 定义4个无符号字符型数据 temp,aa,shi,ge;sbit sounder=P1^7; // 定义一个位变量sounder( 将P1^0口与位变量sounder建立联系 )uchar code table[]={ // 定义了一个无符号字符型数组 table 数据存放在程序存储器中0x3f,0x06,0x5b,0x4f, // 共阴数码管表 0,1,2,3,0x66,0x6d,0x7d,0x07, // 4,5,6,7,0x7f,0x6f,0x77,0x7c, // 8,9,a,b,0x39,0x5e,0x79,0x71} ; // c,d,e,f,void display(uchar shi,uchar ge); // 显示函数声明void delay(uint z) ; // 延时函数声明void init(void); // 初始化函数声明void main(void) // 主函数程序的入口{init(); // 调用初始化函数while(1) // while死循环循环判断变量始终为1{if(aa==20) // 判断定时是否为1秒{aa=0; // 每次循环后清零将aa( 定时器计时1秒清零 )temp--; // 时间递减计算if(temp<0){ // 到0后赋值24( 计数到达0秒后重新赋值24秒开始递减计时 )temp=24;}shi=temp/10; // 计算十位的数字ge=temp%10; // 计算个位的数字}display(shi,ge); // 调用显示函数EA=1; // 开总中断EX0=1; // 开外部中断INT0if(temp==0){sounder=0;while(1);}}}void display(uchar shi,uchar ge) // 定义显示函数{P0=table[shi]; //给P0口送显示值( 数码管的十位显示)delay(1); // 延时1毫秒P2=table[ge]; //给P2口送显示值( 数码管的个位显示)delay(1) ; // 延时1毫秒}void init(void) // 定义初始化函数{temp=25; // 定时器的计时时间TMOD=0x01; // 设置定时器0的工作方式为方式1 (16位计数器)TH0=(65536-50000)/256; // 定时器的高八位装初值TL0=(65536-50000)%256; // 定时器的高八位装初值EA=1; // 开总中断ET0=1; // 开定时器0的中断TR0=1; // 启动定时器0}void delay(uint z) // 延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void timer0(void) interrupt 1 using 0{TH0=(65536-50000)/256; //给定时器T0重装初值TL0=(65536-50000)%256;aa++;//定时器T0的累加计数}void exter0(void) interrupt 0 using 1{//外部中断INT0的函数}结论本次设计主要通过c语言的模块化思想,逐步实现所需达到的功能要求。
基于单片机篮球比赛24秒计时器设计
基于AT89C51单片机的篮球赛计时计分器设计毕业设计(论文)
毕业设计(论文)题目:基于AT89C51单片机的篮球赛计时计分器设计专业班级**数字技术学院2011年西安数字技术学院毕业论文设计摘要单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用。
目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位,许多用单片机做控制的球赛计时计分系统也应运而生,如:用单片机控制液晶显示(LCD)计时计分器,用单片机控制LED七段显示器计时计分器等。
篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。
系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。
每个模块的程序结构简单、任务明确,易于编写、调试和修改。
程序可读性好,对程序的修改可局部进行,其他部分可保持不变。
编程后利用Keil C51软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,随后可用Protel99画出硬件电路图。
本设计中系统硬件电路主要由以下几个部分组成:单片机AT89C51、计时电路、计分电路、报警电路和按键开关。
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。
该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩以及赛后成绩暂存等功能。
它具有价格低廉、性能稳定、操作方便并且易于携带等特点,广泛适合各类学校或者小型团体作为赛程计时计分。
关键词:单片机,计时,计分,显示器,目录前言 (1)1系统方案说明 (2)1.1方案选择 (2)1.1.1篮球赛计时计分器设计的现状 (2)1.1.2 系统总体设计方案 (2)1.2 系统基本功能介绍 (3)2 系统硬件电路设计 (6)2.1篮球赛计时计分电路原理图 (6)2.2篮球赛计时计分器电路工作过程 (6)2.3系统硬件电路组成 (6)2.3.1计时电路 (6)2.3.2计分电路 (13)2.4 器件选择及介绍 (16)2.4.1 AT89C51 (17)2.4.2 CD4511芯片介绍 (17)2.4.3 CD4094芯片的介绍 (17)2.4.4 74LS21芯片介绍 (17)3软件编程及调试 (18)3.1总体程序设计 (18)3.2 初始化程序设计 (18)3.3 计时系统程序设计 (19)3.4 计分系统程序设计 (20)3.5系统调试 (21)3.5.1软件调试 (21)3.5.2仿真调试 (22)结论 (23)附录 (24)致谢 (9)参考文献 (10)1前言随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而生,如用单片机控制LCD液晶显示器[1]计时计分器,用单片机控制LED七段显示器计时计分器等。
基于51单片机的篮球记分器
1.设计任务和性能指标1.1设计任务利用单片机完成篮球比赛计分器,倒计时器,能更改时间和记分。
1.2性能指标(1)计分器能实现0-99的分数显示。
(2)倒计时器能实现12分钟倒计时的准确显示,能实现暂停,时间的更改,倒计时完毕实现上下半场的自动更换。
(3)能够实现场次的手动更换。
2 设计方案2.1任务分析模拟篮球比赛计分器就是用单片机来控制一个矩阵键盘和数码管,模拟真实的篮球计分器,两个LED灯来表示上下半场,利用数码管倒计数表示倒计时和记分,再使用矩阵键盘来更改分数和倒计时。
2.2方案设计根据设计的要求可知,系统的硬件原理框图如下图所示。
系统硬件框图单片机选用的是STC89C52RC,它与8052系列单片机全兼容,但其内部带有8KB的FLA SH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
倒计时和记分使用三个数码管来显示,同时需要对三个数码管进行显示。
键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不够用时,可以考虑扩展8255或8155满足系统的要求。
软件方案方面,软件可由汇编语言完成,也可由C语言完成。
软件设计可以分为以下几个功能模块:主程序:初始化。
键盘监控模块:实现实时的硬盘监控。
场次模块:实现场次更换。
时间更改模块:实现时间更改。
分数更改模块:记分。
倒计时模块:定时器的中断服务子程序,完成1ms的时间定时,实现时间的精确倒数。
3 系统硬件设计3.1单片机的最小系统STC公司生产的STC89C52RC单片机它是硬件电路的核心部分,时钟电路晶振使用11.0592MHz,复位电路采取按键复位方式。
单片机系统的时钟电路单片机系统的复位电路3.2电源电路设计电源用5V直流直接供电。
3.3数码管显示电路显示电路采用2个2位共阳数码管,P0作为数码管的输出,P1.1,P1.2分别作为数与位的选择。
分数显示电路倒计时显示电路锁存器电路3.4矩阵键盘电路键盘电路使用12键九宫格模式,使用P2.0-P2.6进行键盘的监控。
【精品】基于51单片机的篮球比赛计分计时器设计_毕业论文
课程设计任务书设计题目篮球比赛计分器设计学生姓名所在院系电子信息与电气工程学院专业、年级、班设计要求:1.结合单片机串行口工作原理,用AT89S52设计一个篮球比赛计时计分器。
2.能够记录整个赛程的比赛时间并可同时用数码管显示。
3.拥有键盘接口,可通过键盘修改当前的比赛成绩(成绩修改包括加减1、2、3)。
4.能够随时刷新甲、乙两队在整个比赛中的比赛成绩。
5.能够通过数码管显示两队的比赛成绩。
6.比赛中场和结束时,能发出报警。
学生应完成的工作:1.根据设计任务选定合适的单片机,根据控制对象设计接口电路。
2.根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单。
3.根据所确定的设计电路,利用相关软件绘制电路原理图、仿真图等,提供元器件清单。
4.根据电路及器件,完成安装、焊接和调试工作。
5.根据设计过程,撰写实习报告。
6.该生在此次设计中主要负责了倒计时程序的查找、电路的仿真和元器件的领取任务。
参考文献阅读:【1】单片机原理及应用[M].张毅刚编著.高等教育出版社;【2】51系列单片机及C51程序设计[M].王建校,杨建国等编著.科学出版社;【3】单片机原理及接口技术[M].徐煜明,韩艳编著.电子工业出版社;【4】单片机C语言和汇编语言混合编程实例详解[M].杜树春.北京航空航天大学出版社;工作计划:2012.05.07 8:00~11:30 下达课程设计任务书,介绍课程设计整体情况15:00~18:30 熟悉课题,查阅资料2012.05.08 8:00~11:30 教师进行方案性提示,主要原理15:00~18:30 学生根据课题需要,拟定系统硬件方案2012.05.098:00~18:30 讨论,优化并确定系统硬件方案2012.05.108:00~18:30 讨论并确定程序流程,逐步开始撰写课程设计报告2012.05.118:00~18:30 根据程序流程图编写程序2012.05.148:00~18:30 讨论、优化最终完成系统软件设2012.05.158:00~18:30 系统硬件电路制作,并检查课程设计报告撰写进度2012.05.168:00~18:30 系统硬件电路制作,并检查课程设计报告撰写进度2012.05.178:00~18:30 烧录程序,系统调试2012.05.188:00~11:30 完成课程设计报告的撰写15:00~18:30 集中检查收取课程设计报告及完成的实物任务下达日期:2012 年5月7 日任务完成日期:2012 年5月18 日指导教师(签名):学生(签名):篮球比赛计分器设计摘要:篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。
毕业论文-基于STC89C51单片机的篮球计时计分器的设计
基于STC89C51单片机的篮球计时计分器的设计摘要随着科技的日益发展进步,单片机技术已经被广泛应用在科研、工作等重要领域内,目前也已经普及到我们的日常生活中,扮演着十分重要的角色。
本次设计是基于单片机的篮球计分器,以基本篮球规则为依据,设计结构简单且方便操作,对篮球比赛实现实时控制。
此次设计的计分器总共包括四个模块,他们是24秒显示、计时器、记分器、计节器。
实现的功能是:24秒显示能按键控制24秒计时器,当控球时间超过24秒时,可发出报警信号。
计时器可按键调节,可以随时暂停计时,暂停比赛,在每节结束和全场结束时报警。
记分器记录两队的积累分数,可通过按键分别加1、2、3分。
设计分为硬件设计和软件设计。
硬件设计的主要包括的是:LED数码管显示、按键控制系统设计以及辅助功能的设计。
软件设计包括:功能选择、倒计时的实现。
本文主要介绍了用单片机设计实现篮球计分器的整个流程,采用C语言编写程序。
设计引用MAX7219专用LED驱动芯片,解决了多位LED数码管同时显示的问题。
其中时间显示和比分显示部分由两组共阴极LED数码管显示。
时间显示部分可以以分为单位进行计时调整。
比分显示部分可以实现在半场结束后手动换场,两个显示模块均采用动态扫描方式进行显示。
按键控制部分采用独立按键,共设八个按键,实现调整分数、调整时间、比赛的开始/暂停、复位键和交换场地键等功能。
报警部分由蜂鸣器加三级管驱动,实现了发出按键声音和结束报警的功能。
采用单片机控制使这个系统按键操作使用简单,安装方便。
解决了篮球比赛计数器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。
关键词:STC89C51单片机;温度控制;恒温箱;DS18B20AbstractWith the increasing development of advances in technology, chip technology has be en widely applied in the important areas of research, work, etc., now also has spread int o our daily lives, it has developed into a more mature technology, the design will focus on SCM medical incubator temperature control system to do in-depth research. Smart th ermostat not only have a number of functions, which are extremely versatile. It can not only make the upper limit for the precise control of temperature control, but when the te mperature is not set within the range of time, but also through the relay to drive the co rresponding load of work, and at the same time the buzzer and warning lights will issue a warning signal, a very intelligent.Most of microcontroller-based incubator temperature control system is in use in lab oratory, industrial, pharmaceutical, agriculture. In the laboratory especially biological labor atories, we have to get more accurate experimental data, for constant temperature test en vironment demanding. So for the laboratory, the role of the incubator is very important. In the industrial production process, we incubator for relatively more stringent requiremen ts, such as heat, cold treatment products, etc., directly affect the quality of the product. I n medicine medical incubator is mainly used for storing drugs and reagents, transport, vaccines, Refrigerated blood, warmed dialysate, saline warming the like. From the above we can clearly see the important role of the incubator. In agriculture greenhouse, the te mperature control system is essential for the growth of crops for agriculture, so that all aspects of life in the temperature control system is always in a very important position.Keywords: MCU—80C51; Incubator; Temperature control目录摘要..................................... 错误!未定义书签。
单片机的篮球24秒计时器开发设计及电路图
目录摘要 (I)1篮球计时器概述 (1)1.1 篮球竞赛24秒计时器功能 (1)1.2篮球计时器实物图 (1)1.3 主要参考器件 (2)1.4 单片机的概述 (2)1.4.1 AT89C51单片机简介 (2)1.4.2 AT89C51单片机引脚功能简介 (2)2 硬件设计 (4)2.1 设计原理 (4)2.2 硬件设计流程图 (4)2.2.1功能单元模块 (5)2.3 硬件设计电路图 (7)3 软件设计 (9)3.1 程序流程图 (9)3.2程序设计 (10)3.3 仿真及仿真结果 (13)4 课程设计体会 (15)参考文献 (16)摘要篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。
以下为一个篮球比赛计时器,该计时器采用按键操作、LED显示,非常实用。
此计时器也可作为其他球类比赛的计时器。
本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、6个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。
其功能主要有:一场篮球比赛共分四节,每节12分;每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、清零;当球员的持球时间超过24秒时,24秒倒计时减为零且有声光提示。
本次课程设计是采用单片机汇编语言实现倒计时24秒篮球比赛计时器。
关键词:AT89C51;LED数码管;按键;模块1 篮球计时器概述1.1 篮球竞赛24秒计时器功能随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分。
在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。
大多数篮球计时器的主控芯片为AT89C51,采用12MHz晶振,P0.0-P0.7作键盘输入。
24秒计时开始,A3为24S复位开启键(投篮或交换控球时按下此键); A4为24秒计时停止键(没有违例);A5为24秒计时同时启动键;A6为总计时和24S计时同时停止键。
基于51单片机蓝球比赛计时器程序设计
Count++; if(Count>=2) { Count=0; miao_01s--; Daojishi_01s--; if(miao_01s==255)miao_01s=9; if(miao_01s==0) { miao--; if(Flag_24s) { miao_01s=9; Daojishi_24s--; if(Daojishi_24s==0) { Flag_24s=0; Flag_over=1; Daojishi_24s=24; Daojishi_01s=0; TR0=0; } } if(miao==255) { TR0=0; Flag_over=1; miao=720; miao_01s=0; Daojishi_01s=0; } } } } void time1(void) interrupt 3
D1=R_C%10; D2=R_C%100/10; D3=R_C/100; D4=10; D5=L_C%10; D6=L_C%100/10; D7=L_C/100; B=0x7f; } switch(num) { case 0: P0=SEGMENT[D0];break; case 1: P0=SEGMENT[D1]&B;break; case 2: P0=SEGMENT[D2];break; case 3: P0=SEGMENT[D3];break; case 4: P0=SEGMENT[D4];break; case 5: P0=SEGMENT[D5]&B;break; case 6: P0=SEGMENT[D6];break; case 7: P0=SEGMENT[D7];break; } P2=SELECT[num]; num++; num%=8; } void time0(void) interrupt 1 { static UINT8 Count=0; TH0=0x3c; TL0=0xb0; //50ms if((miao==720)&&(miao_01s==0))//时间初始化 { miao=719; miao_01s=9; Daojishi_24s=23; Daojishi_01s=9; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 51 单片机的篮球24 秒倒计时器
#include <>
#define uchar unsigned char
sbit wei0=P1^0;
sbit wei1=P1^1;
sbit wei2=P1^2;
sbit gnd=P2^5;
sbit key2=P2^0;
uchar count;//用于记录发生了多少次中断的计数器
uchar sec=240;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
// 注:用 code 是把后面的数据存在程序存贮器中,如果不用code,数据就会存在随机存贮器中。
void delayms(int x)
{
int y,z;
for(y=x;y>0;y--)
for(z=110;z>0;z--);
}
void display(int dat)
{
uchar bai,shi,ge;
bai=dat/100;
shi=dat%100/10;
ge=dat%10;
wei0=0;
P0=table[bai];
delayms(1);
wei0=1;
wei1=0;
P0=table[shi]&0x7f;
delayms(1);
wei1=1;
wei2=0;
P0=table[ge];
delayms(1);
wei2=1;
P0=0xff; //这一句和下一句是为了降低数码管亮度,同学们不必写。
delayms(20);
}
void keyscan()
{
if(key2==0)
{
delayms(5);//延时消抖
while(!key2);//松手检测
TR0=~TR0;
}
}
void main()
{
gnd=0;
TMOD=0x01;// 启用定时器0 的工作方式 1
TH0=(65536-50000)/256;//装初值
TL0=(65536-50000)%256;//装初值
EA=1;//打开总中断
ET0=1;//打开定时器0;
TR0=0;//启动定时器0;
while(1)
{
keyscan();
/*if(count==2)
{
count=0;
sec--;
if(sec==0)
sec=240;
}
*/ display(sec);
}
}
void timer0 () interrupt 1// 定时器0 的中断优先等级是 1 {
TH0=(65536-50000)/256;// TL0=(65536-50000)%256;// 重新装初值重新装初值
count++;
if(count==2)
{
count=0;
sec--;
if(sec==0)
sec=240;
}
//display(sec); }。