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


    一.硬件方案

    本设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩等功能。
    电路主要由STC89C52单片机+最小系统+数码管显示模块+数码管驱动模块+蜂鸣器模块+按键模块;

    二.设计功能

    (1)采用一个四位一体数码管显示比赛时间,时间格式如:15:00,两个三位一体数码管显示甲乙两对的比分,比分格式如:008;
    (2)比赛时间采用倒计时方式,以一秒的频率减时,上电时默认初值为15:00。在没有开始比赛时,“比赛时间”可以按键加减,比赛开始后不能修改;
    (3)甲乙队比分采用三位数,上电初值为000,最大值为999,满足常理要求,未开始比赛以及比赛结束后比分无法加减;
    (4)本设计加了24秒倒计时功能,可通过按键随时复位24秒。如果24秒违例,会启动蜂鸣器报警,同时比赛时间暂停,处理好后按一下24秒复位键,比赛继续;
    (5)比赛未开始之前,可以通过ADD1、DEC1键对比较时间的分钟进调时,通过ADD2、DEC2键对比较时间的秒进行调时;
    (6)可随时暂停/启动比赛时间;
    (7)比赛进行时,可以通过ADD1、DEC1键对甲队比分加、减,可以通过ADD2、DEC2对乙队比分加、减。每按一次键,加/减1分;
    (8)当一节比赛完后,可以通过(EXCHANGE)换场键换场,换场后,比分交换显示,交换后,下一节比赛开始时,相应的比分加减键也随之交换;
    (9)当比赛结束时,蜂鸣器发出声音报警,提示比赛结束。

    三.设计原理图

    (1)原理图主要采用AD软件进行设计,如图:
    在这里插入图片描述

    (2)Protues仿真图如下:
    在这里插入图片描述

    四.软件设计

    主程序源码

    //******************************主函数*************************************************
    void main(void)
    {
    	TMOD=0x11;
     	TL0=0xb0;
     	TH0=0x3c;
     	TL1=0xb0;
     	TH1=0x3c;
    	minit=min;				//初始值为15:00
    	second=sec;
     	EA=1;
    	ET0=1;
    	ET1=1;
     	TR0=0;
    	TR1=0;
    	EX0=1;
    	IT0=1;
    	IT1=1;
    //	EX1=1;
    	PX0=1;
    //	PX1=1;
    	PT0=0;
    	P1=0xFF;
    	P3=0xFF;
    	alam=1;
     	while(1)
     	{
    		keyscan();
    		display();			
        }
    }
    
    
    void PxInt0(void) interrupt 0
    {
    	Delay5ms();
    	EX0=0;
    	alam=1;
    	TR1=0;
    	if(timeover==1)
    	{
    		timeover=0;
    	}
    
    	if(playon==0)
    	{
    		playon=1;				//开始标志位
    		TR0=1;					//开启计时
    		
    		if((minit+second)==0)
    		{
    			sec24=24;
    			minit=min;			
    			second=sec;
    		}
    	}
    	else
    	{
    		playon=0;				//开始标志位清零,表示暂停
    		TR0=0;					//暂时计时
    	}	
    	EX0=1;						//开中断	
    }
    
    

    资料链接:https://pan.baidu.com/s/1oqKCxVHgPrdQDAvd80OFQg?pwd=i4hu

  • 相关阅读:
    7.elasticsearch字段类型列表
    刷新页面,记住页面内的列表查询参数——vue3实现
    多线程经典代码案例及手动实现
    SSM整合 Spring SprintMVC Mybatis
    从React源码分析看useEffect
    应届生找嵌入式工作难吗?
    学习Java编程入门书籍
    解决springboot项目启动jar包中的携带先行版本号问题
    Android 13.0 遥控器点击输入框 弹不出输入法
    Cortex-M3/M4之SVC和PendSV异常
  • 原文地址:https://blog.csdn.net/eletronicfish/article/details/139708710