基于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)、全速执行等多种运行方式进行程序调试。
- 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); }。