历史上的今天

今天是:2024年09月30日(星期一)

正在发生

2021年09月30日 | 基于51单片机的羽毛球计分器设计

发布者:GoldenHarmony 来源: eefocus关键字:51单片机  LCD1602 手机看文章 扫描二维码
随时随地手机看文章

一.硬件方案

本设计采用单片机AT89C51作为核心元件。本设计由控制系统,显示模块,按键驱动模块3部分组成。主要编写了主程序,中断程序,显示程序功能模块程序等。实现羽毛球计分器功能。


主要由51单片机+最小系统+LCD1602液晶显示模块+LED指示灯模块+按键模块;如图:

二.设计功能

(1)采用按钮开关实现功能控制,按照设计的功能模块共选用8个按钮开关,分别实现启动、A队加分、A队减分、B队加分、B队减分、暂停、停止、清零功能。

(2)选用LCD1602液晶屏作为显示器件,用于记录两队的分数。

三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


void main()

{

EA = 1;           //开总中断

    ConfigTimer0(1);  //配置T0定时1ms

InitLcd1602();    //初始化液晶

    while (1)

    {

KeyDriver(); //调用按键功能

if(k==1)

LcdInit(); //显示字幕

    }

}


/* 按键驱动函数,检测按键动作,调度相应动作函数,需在主循环中调用 */

void KeyDriver()

{

   static bit star = 0;   //开始比赛

   unsigned char but = 0; //胜利标志

   static unsigned char cnt = 0; //比赛次数

   static unsigned char cnta = 0; //A胜利次数

   static unsigned char cntb = 0; //B胜利次数 

  if(KEY_IN_3 == 0) {   delay();  star = 1; TR0 = 1;k=1;} 

if(star == 1)

{

    LcdWriteCmd(0x0C);  //显示器开,光标关闭   

   if(KEY_IN_1 ==0)  { a++; delay();}

   if(KEY_IN_2 ==0)  { b++; delay();}

   if(KEY_IN_4 ==0)  { TR0 = 0; star=0; delay(); }

   if(KEY_IN_5 ==0)  { a--; if(a<0)a=0; delay();}

   if(KEY_IN_6 ==0)  { b--; if(b<0)b=0; delay(); }      

}

  if(KEY_IN_7 ==0)  { a=0; b=0; sec=0; minute=0; 

     TR0=0;star=0;cnta=0; cntb=0; cnt=0; LcdShowStr(0, 0, "                "); delay();}

  if(KEY_IN_8 ==0){ a=0;  b=0;   sec=0;   minute=0; LcdShowStr(0, 0, "                ");

     k=0;cnta=0;cntb=0;cnt=0;LcdWriteCmd(0x01); delay();}

  if(a>=21 && (a-b)>=2 ) {cnt++; cnta++; but = 1; a = 0; b = 0; }

  if(b>=21 && (b-a)>=2 ) {cnt++; cntb++; but = 2; a = 0; b = 0; }

  if(cnt==2&&(cnta==2||cntb==2)) {TR0 = 0; star = 0;}

    switch(cnt)

    {

     case 1: if(but==1) LcdShowStr(0, 0, "1Awin"); if(but==2) LcdShowStr(0, 0, "1Bwin");break;

case 2: if(but==1) LcdShowStr(5, 0, "2Awin"); if(but==2) LcdShowStr(5, 0, "2Bwin");break;

case 3: if(but==1) LcdShowStr(10, 0, "3Awin"); if(but==2) LcdShowStr(10, 0, "3Bwin"); TR0=0;star=0;break;

default: break;

}

}

关键字:51单片机  LCD1602 引用地址:基于51单片机的羽毛球计分器设计

上一篇:基于51单片机的蓝牙电子秤设计
下一篇:基于51单片机的全自动洗衣机设计

推荐阅读

IDC报告数据显示,2018年全球智能手机市场将再次下滑0.2%而来到14.62亿部,中国市场更是会再次大跌7.1%。 大环境遇冷,供应链也因此受到波及。 订单总量减少导致整个市场份额萎缩,供应链急需维持销量从而保障产线的利用率,不得不变本加厉的展开价格厮杀,使得企业竞争环境愈发恶劣。这一现象也反映在股票市场,供应链多数上市公司股价都上半年结束后齐...
据沃尔沃汽车公司高级副总裁(SVP)研究与发展(R&d)彼得·梅尔滕斯博士,全球汽车行业需要推出专门针对电动汽车(EV)做了一个标准的充电设施。与此相对应的是,沃尔沃汽车已将重点放在了充电接口计划上,该计划是由投资者组成的财团,旨在建立其联合充电系统(CCS)作为电动汽车充电的标准。作为插电式混合动力汽车的领先生产商之一,沃尔沃汽车计划在未来几年...
一加8T将于10月15日正式发布,该机的卖点之一就是搭载65W超级闪充,关于该特性,官方也特地发文进行了揭秘,具体表现为以下三点。图片来源:微博1.疾速闪充,根治电量焦虑:作为用户体验感知极强的一部分, 一加一直很重视快充技术的发展,经过了几年的技术积累与演进,在一加8T上第一次配备了65W的有线超级闪充,20分钟吃个早饭的功夫,就可以快速的将45...
准确的测量统计结果可为信号分析和故障诊断提供强有力的数据支撑,但遗憾的是绝大多数示波器测量统计的结果都不能真实反映信号的实际情况,利用这种不真实的测量与统计结果进行分析会灾难性地将测试人员引入分析误区,这是目前业内普遍存在的现象。所以作为一名电子工程师,深刻了解示波器参数测量、统计原理是非常必要的,它可为电路设计和测试带来重要价...

史海拾趣

问答坊 | AI 解惑

DSP控制彩色液晶屏

我司有CSTN、TFT液晶屏控制驱动板,能用51、PIC单片机、DSP控制,能显示256--65536色,价格低廉,编程简单,适合于点阵为320*240  640*480的数字屏,提供各种工控液晶屏,液晶屏驱动方案,控制IC,   QQ:191981784 …

查看全部问答∨

再见了,可恶的漏气误报

在04年刚刚毕业时,有幸进入了TPMS行业,和几个同时兴致勃勃的干了起来,当时并不知道TPMS是个什么东西,也不会象现在这样对行业有什么研究,只知道把工作做好,拿到应得的工资,但也是拉开了大干一场的架势,毕竟刚毕业,对技术也是很有神秘感,特 ...…

查看全部问答∨

一个MCU能否同时驱动两块LCD?

一个带LCD驱动的MCU. 我想用这个MCU驱动同样的LCD两块. 在电路中就是将两块同样的LCD并联在MCU的LCD驱动口. seg/com口上. 请问这样是否可以?…

查看全部问答∨

我想学习linux下电源管理,有没有前人知道acpi方面的资料,能全面点的最好

我想学习linux下电源管理,有没有前人知道acpi方面的资料,能全面点的最好啊…

查看全部问答∨

急聘:硬件研发工程师

1. 本科以上学历,计算机、电子相关专业 2. 善于沟通,工作认真负责并具备较强的分析和解决问题的能力,有独立工作能力 3. 良好的高速数字电路设计以及数字模拟混合电路设计基础,良好的高速PCB设计基础 5. 熟悉视频相关电路,熟悉FPGA开发与 ...…

查看全部问答∨

商业用嵌入式以太网协议栈有哪些????

好像lwip和ulP都是开源的据说不可靠,那么商业用嵌入式以太网协议栈有哪些????…

查看全部问答∨

哪位高手用DSP做过RF24L01的收发 求助啊

本人新手 题目是基本上就是用DSP控制无线模块nRF24L01 再用DSP实现算法 报警之类的,问哪位高手曾经做过这个,一起交流一下。QQ:13792650…

查看全部问答∨

stm32f107以太网PING大包死掉

如题:当ping 1000字节包的时候是正常的,当ping 10000字节包的时候,以太网死掉,此时ping 32字节的包也ping不通,我找到底层程序内的定义,最大包长为1500字节,但我能不能不改这个数,ping 10000字节包的时候ping不通过,但我通过ping通1500之内 ...…

查看全部问答∨

求解:AMS1117-3.3v输出居然接近等于输入!

原理图如下: 修改: LED灯前的电阻换成10K  1K的会烧坏LED 测试结果: 输入:(平均)8.2V  实际在Vin端只有7.8V左右 也可能是表的误差  最低为7.1V 输出:5.85~6.16V    检验:1、芯片输出脚与输 ...…

查看全部问答∨

求助:CCS5.2怎么通过点小锤子就能修改编译模式

最近在使用CCS5.2玩28069,发现CCS5.2的小锤子可以选RAM模式和Flash模式,在C2000 Launchpad的例程里找到了这样的用法,但是自己新建的工程怎么也弄不成,有没有弄过的说一下怎么配置的!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved