历史上的今天
返回首页

历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2019年10月19日 | 基于51单片机的篮球计分器设计

2019-10-19 来源:51hei

这是我以前做的51单片机篮球计分器设计,
花了一个星期时间,
附件里面包括源代码;PCB原理图,
和proteus的仿真文件以及课程设计的相关文档,
都是自己原创的,大家多多指教

制作出来的篮球计分器实物图如下:
 

电路原理图如下:
 

篮球计分器仿真原理图如下
 

Altium Designer画的篮球计分器原理图和PCB图如下:
 

单片机篮球计分器程序源码:

#include//51单片机头文件

typedef unsigned char uchar;

typedef unsigned int  uint;

sbit K1=P3^2;//比赛倒计时开始/暂停

sbit K2=P3^3;//24s倒计时重新开始

sbit P20=P2^0;//乙队+1按键

sbit P21=P2^1;//乙队+2按键

sbit P22=P2^2;//甲队+1按键

sbit P23=P2^3;//甲队+2按键

sbit P24=P2^4;//甲队+3按键

sbit P25=P2^5;//乙队+3按键

sbit P26=P2^6;//预留按键

sbit P27=P2^7;

sbit beep=P3^6;//蜂鸣器接口  

sbit RS=P1^0;

sbit RW=P1^1;

sbit E=P1^2;

char second,minute,num,time,aa;

uchar dd,bb,cc;

uchar code table1[]={"H.T 000:000 T.H "};

uchar code table2[]={"12:00  SEC-1  24"};


//延时子函数

void delay(uint z)  

{

        uint x;

        uchar y;

        for(x=z;x>0;x--)

                  for(y=110;y>0;y--);

}

//LCD1602液晶写指令子函数

void write_com(uchar com)

{        

    RW=0;

    RS=0;

        P0=com;

        delay(5);

        E=1;

        delay(5);

        E=0;

}

//LCD1602液晶写数据子函数

void write_date(uchar date)

{

        RW=0;

        RS=1;

        P0=date;

        delay(5);

        E=1;

        delay(5);

        E=0;

}

//LCD1602液晶初始化子函数

void LCD1602_init()

{

        uchar i;

        bb=0;         //H.T分数初始化

        cc=0;         //T.H分数初始化

        time=0;

        TMOD=0x10;    //定时器1初始化

        TL1=0x00;

        TH1=0x4c;

        EA=1;         //开总中断

        ET1=1;        //开定时器1

        TR1=0;        //开中断0

        EX1=1;        //开中断1

        IT0=1;        //中断0为边沿触发

        IT1=1;        //中断1为边沿触发

        E=0; 

        beep=0;

        second=0;

        minute=12;

        num=1;

        aa=24;

        write_com(0x38);  //LCD设置初始化

        write_com(0x0c);

        write_com(0x06);

        write_com(0x01);

        write_com(0x80);  //LCD显示初始化

        for(i=0;i<16;i++)

        {

                  write_date(table1[i]);

        }

        write_com(0x80+0x40);

        for(i=0;i<16;i++)

        {

                  write_date(table2[i]);

        }

}

//分数更新子函数

void point_lcd(uchar add,uchar dat)

{

        write_com(0x80+add);

        write_date(0x30+dat/100);

        write_date(0x30+(dat%100)/10);

        write_date(0x30+dat%10);

        write_com(0x80+add);

}

//按键扫描子函数

void keyscan()

{

        P2=0xf0;

        if((P2&0xf0)!=0xf0)

        {

                delay(20);

        }

        if((P2&0xf0)!=0xf0)

        {

                P2=0xf7;

                        if(P24==0)

                        {

                                while(P24==0);         //P24按下H.T分数加1

                        bb++;

                          point_lcd(0x04,bb);  

                          if(P24==0)        

                                {

                                   while(P24==0);

                                    delay(20);

                                }

                        }

                        else if(P25==0)           //P25按下H.T分数加2

                        {

                                while(P25==0);

                                bb=bb+2;

                          point_lcd(0x04,bb);

                          if(P25==0)

                                {

                                 while(P25==0);

                                 delay(20);

                                }

                        }

                        else if(P26==0)       //P26按下H.T分数加3

                        {

                          while(P26==0);

                        bb=bb+3;

                          point_lcd(0x04,bb);

                           if(P26==0)

                                {

                                   while(P26==0);

                                   delay(20);

                                }


                        else if(P27==0)         //P27按下T.H分数加一

                        {

                         while(P27==0);

                       cc++;

                         point_lcd(0x08,cc);

                         if(P27==0)

                                 while(P27==0);

                                 delay(20);

                           }

                        }

                P2=0xfb;

              if(P24==0)           //P24按下T.H分数加2

                          {

                         while(P24==0);

                   cc=cc+2;

                         point_lcd(0x08,cc);

                         if(P24==0)

                           {

                                while(P24==0);

                                delay(20); 

                           }

                         }

                          else if(P25==0)      //P25按下T.H分数加3

推荐阅读

史海拾趣

Great American Electronics公司的发展小趣事

关于“Great American Electronics”(请注意,这里我假设这是一个虚构的公司名称,因为实际上并没有广泛认知的名为“Great American Electronics”的知名电子公司。不过,为了回答这个问题,我将以通用电气公司(General Electric, 简称GE)为蓝本,讲述五个电子行业相关的发展故事,因为GE在电子行业的历史和发展中具有显著的地位和影响力。)

1. 电气时代的开创者

故事背景:通用电气公司(GE)的起源可以追溯到美国发明家托马斯·阿尔瓦·爱迪生。1878年,爱迪生成立了爱迪生电灯公司,并在新泽西州的门洛帕克实验室发明了第一只商用白炽灯。1882年,爱迪生照明公司在纽约建造了美国第一个中央发电站,开启了电气时代。尽管爱迪生并未直接参与GE的成立,但他的贡献为GE的后续发展奠定了坚实的基础。

关键事件:爱迪生将电力商业化,使电力成为了一种可以广泛应用的能源形式。这一创举不仅改变了人们的生活方式,也为GE在电气行业的崛起提供了历史性的机遇。

2. 合并与转型的里程碑

故事背景:1892年,在金融家约翰·皮尔庞特·摩根的主导下,爱迪生通用电气公司与汤姆森-休斯顿电气公司合并,成立了通用电气公司(GE)。这一合并标志着GE从单一的电力业务向多元化发展的转型。

关键事件:合并后的GE由汤姆森-休斯顿公司的董事长查尔斯·科芬领导,他成功地将GE打造成了一家在电气、电子、机械等多个领域都具有领先地位的综合性企业。科芬的管理理念和组织结构设计为GE日后的长期发展奠定了坚实的基础。

3. 科研与创新的典范

故事背景:在查尔斯·科芬的领导下,GE建立了美国第一家研究实验室,并致力于推动科技创新和产品研发。这一举措使得GE在多个技术领域取得了重大突破。

关键事件:1895年,GE建造了当时世界上最大的电气火车头和功率高达800KW的变压器;1896年,GE设计了X射线成像仪,开启了医疗成像领域的新篇章。这些创新成果不仅展示了GE的技术实力,也为公司带来了丰厚的商业回报。

4. 战争与扩张的机遇

故事背景:两次世界大战为GE提供了巨大的发展机遇。在战争期间,GE凭借其强大的生产能力和技术实力,为军队提供了大量的电气设备和武器装备。

关键事件:第一次世界大战后,GE在新兴的电工技术部门——无线电方面居于统治地位;第二次世界大战则使GE的产量和利润额急剧增长。战争期间的扩张不仅增强了GE的市场地位,也为公司带来了丰富的技术积累和人才储备。

5. 全球化与多元化的战略

故事背景:进入20世纪后半叶,GE开始实施全球化和多元化战略,通过并购和合作等方式不断拓展业务范围和市场版图。

关键事件:在杰克·韦尔奇的领导下,GE从一家制造企业转变为以服务业和电子商务为导向的企业巨头。韦尔奇推行的“六西格玛”质量标准、全球化和电子商务战略几乎重新定义了现代企业。同时,GE还通过收购阿尔斯通、贝克休斯等知名企业进一步巩固了其在轨道交通、电力电网、油气等领域的领先地位。如今,GE已经成为全球最大的提供技术和服务业务的跨国公司之一,在电子行业中具有举足轻重的地位。

德力康(DLK)公司的发展小趣事

德力康(DLK)公司自1985年成立以来,最初专注于电视机用CRT插座的生产。凭借其卓越的产品质量和稳定的性能,逐渐在市场中树立了良好的口碑。随着电子行业的快速发展,DLK公司敏锐地捕捉到了连接器市场的巨大潜力,并开始逐步扩大产品线,涵盖D-SUB、DVI、HDMI、USB等多种连接器类型。通过不断的技术创新和市场拓展,DLK逐渐成为了国内连接器行业的重要供应商之一。

FERYSTER公司的发展小趣事

FERYSTER公司的创始人在一次国际电子展览会上,被一款新型半导体芯片技术深深吸引。他意识到这项技术将引领电子行业的新一轮革命。于是,他果断决定投入大量资金和资源,组建研发团队,对该技术进行深入研究。经过数年的努力,FERYSTER公司成功掌握了这项技术,并推出了基于该技术的全新产品系列。这些产品以其卓越的性能和稳定性,迅速在市场上取得了成功,为公司的快速发展奠定了坚实基础。

Capax Technologies Inc公司的发展小趣事

Capax Technologies Inc的成功还得益于与各大企业的紧密合作。公司与多家知名的电子设备制造商建立了长期稳定的合作关系,为其提供高品质的组件和技术支持。通过与合作伙伴的共同努力,Capax Technologies Inc的产品得以广泛应用在各类电子设备中,进一步提升了公司的知名度和市场份额。

CHERRY公司的发展小趣事

随着业务的不断发展,Cherry将目光投向了更广阔的市场。1967年,随着个人计算机的普及,Cherry看到了键盘市场的巨大潜力,于是决定引进键盘生产线。不久之后,Cherry建造了世界上第一个键盘工厂,开始生产高质量的键盘产品。这一决策为Cherry公司后来的发展奠定了坚实的基础。

Advanced Components Industries Inc公司的发展小趣事

在快速发展的过程中,ACI始终注重品质管理。公司建立了严格的质量检测体系,确保每一件产品都符合高标准的质量要求。同时,ACI还积极推行持续改进的理念,不断优化生产流程,提高生产效率。

这些努力使得ACI的产品在市场上赢得了良好的口碑。客户对公司的产品和服务给予了高度评价,纷纷表示愿意与ACI建立长期合作关系。这些正面的反馈进一步推动了ACI的发展。

问答坊 | AI 解惑

小猫,我知道你在线,帮我看一下这个

我现在想用变频器和变频电机作一个稳压的系统。 变频器和变频电机一样不一样。 用变频器还要变频电机吗。…

查看全部问答>

EVC 下图形界面开发(win CE)

那位大哥大姐有在EVC下图形界面开发的例子,小弟新手,一直用java 做东西,现在用c++,有点糊涂,对C++了解的不是很多,C++中有没有像java 中有专门的供参考的API文档呀? 那位好心人帮帮忙! 我的邮箱是:xjing1219@163.com…

查看全部问答>

如何在WM上显示文件扩展名出来?还有就是WM上有没有象UltraEdit之类的超级编辑器?

如何在WM上显示文件扩展名出来?还有就是WM上有没有象UltraEdit之类的超级编辑器?…

查看全部问答>

C51怎么和mp3连接的?急!急!急!!!!!

我现在做的毕业设计,到C51与mp3连接这不会了,想向各位高手求助一下,我做的是基于单片机的讲故事机器人的研究,我不会连接。问我的导师,他只给建议,说在mp3的开始按钮上搭个继电器,用C51控制。我不会画那个的原理图,要求是,焊好电路后,把他 ...…

查看全部问答>

有哪位用过STM32L的,仿真器选择哪一款

我用STM32L15XX的芯片,仿真器不知该选哪一个,请各位高手指点一下…

查看全部问答>

LED封装技术探讨

LED的封装有:支架排封装,贴片封装,模组封装几种,这些封装方法都是我们常见和常用的。  一,常规现有的封装方法及应用领域   支架排封装是最早采用,用来生产单个LED器件,这就是我们常见的引线型发光二极管(包括食人鱼封装),它适合做仪器 ...…

查看全部问答>

ADI技术指南合集

ADI技术指南合集 1.电路仿真和PCB设计 2.放大器 3.开关和基准源 4.模数转换器 5.射频及高速器件 6.数模转换器 下载链接:https://download.eeworld.com.cn/detail/chen8710/282754 https://download.eeworld.com.cn/detail/chen8710/282754 ...…

查看全部问答>

【学习心得+电源】充分认识常用的LDO(低压差线性稳压器)

刚开始接触LDO的时候,并不知道是什么意思,终于在偶然的一次参加TI组织的模拟产品研讨会上才开始对它有了比较全面的了解。那个时候是没有机会接触这个LDO的,最多的就是知道7805 7806 7812 7815 7824这些芯片,当时为了一次性买齐全这些型号,把自 ...…

查看全部问答>