尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【51单片机篮球记分器+复合按键操作】2022-12-22 - 指南

【51单片机篮球记分器+复合按键操作】2022-12-22 - 指南
📅 发布时间:2026/6/19 23:16:40

【51单片机篮球记分器+复合按键操作】2022-12-22 - 指南

缘由51单片机蓝球计分器-编程语言-CSDN问答

#include "reg52.h"
//定义按键
sbit key0=P3^0;
sbit key1=P3^1;
sbit key2=P3^2;
sbit key3=P3^3;
//定义数码管位驱运位
sbit L1=P2^2;
sbit L2=P2^3;
sbit L3=P2^4;
sbit beep=P2^5;
unsigned char code ShuMaGuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0X80,64};//0~9隐.小数点-号
unsigned char Js=0, Miao=0, Fen=0, Shi=12, LQJF=0,LQ1=0,LQ2=0;//中断计时 秒 分 时 篮球倒计时 篮球1分数 篮球2分数
bit smk=0,bek=0;
void ShuMaXianShi(unsigned char s,unsigned char w,unsigned char d)
{
unsigned char YanShi=0;
P0=L1=L2=L3=0;
if(smk)
{
switch(w)
{
case 2:{L1=0;L2=L3=1;}break;//011
case 3:{L2=0;L1=L3=1;}break;//101
case 4:{L1=L2=0;L3=1;}break;//001
case 5:{L1=L2=1;L3=0;}break;//110
case 6:{L1=L3=0;L2=1;}break;//010
case 7:{L1=1;L2=L3=0;}break;//100
case 8:{L1=L2=L3=0;}break;//000
case 1:{L1=L2=L3=1;}break;//111
default:{L1=L2=L3=0;}break;
}
P0=ShuMaGuan[s]|ShuMaGuan[d];//d显示小数点11,10关闭
if(++YanShi>7)YanShi=smk=0;
}
}
void XianShi()
{
ShuMaXianShi(LQ1/10,1,10);
ShuMaXianShi(LQ1%10,2,10);
ShuMaXianShi(12,3,10);
ShuMaXianShi(LQJF/10,4,10);
ShuMaXianShi(LQJF%10,5,10);
ShuMaXianShi(12,6,10);
ShuMaXianShi(LQ2/10,7,10);
ShuMaXianShi(LQ2%10,8,10);
}
void JiShi(/*时间计算*/)
{
if(Js%50==0)smk=1;
if(Js>100)
{
Js=0;
if(LQJF==0)TR0=0;else --LQJF;
}
XianShi();
}
void ZhongDuanSheZhi()
{
TH0+=(65536-10000)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/
TL0+=(65536-10000)%256; /*11.0592MHz/12=921600Hz就是1秒921600次机器周期*/
TMOD=0X01;
TR0=1;
ET0=1; //开启定时器
EA=1; //全局中断开关
}
void ZhongDuan() interrupt 1
{
++Js;
TH0+=(65536-(9216+674))/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/
TL0+=(65536-(9216+674))%256; /*11.0592MHz/12=921600Hz就是1秒921600次机器周期*/
}
void main()
{
unsigned char Ys=0,jh=0;
ZhongDuanSheZhi();
while(1)
{
if(key0==0&&(key2==0||key3==0)&&++Ys==0)
{if(key3==0&&LQJF==0)LQ2+=2;	if(key2==0&&LQJF==0)LQ1+=2;
while(key0==0&&(key2==0||key3==0))JiShi();}//复合按键+2分
if(key1==0&&(key2==0||key3==0)&&++Ys==0)
{if(key3==0&&LQJF==0)LQ2+=3;	if(key2==0&&LQJF==0)LQ1+=3;
while(key1==0&&(key2==0||key3==0))JiShi();}//复合按键+3分
if(key0&&key1&&key2==0&&++Ys==0)
{jh=LQ1;LQ1=LQ2;LQ2=jh;while(key2==0)JiShi();}//配合按键+交换
if(key0&&key1&&key3==0&&++Ys==0)
{LQJF=20;TR0=1;while(key3==0)beep=~beep;}//倒计时+蜂鸣器/配合按键
JiShi();
}
}

相关新闻

  • WPS内部版
  • npm ERR! chromedriver@2.46.0 install: `node install.js`
  • jsoup解析本地html网页到本地——Document、Element、select应用

最新新闻

  • 2026襄阳2026正规漏水检测维修公司精选口碑榜TOP5权威推荐-精准定位检测漏水点-专业防水补漏堵漏维修、卫生间/厨房/屋顶/天沟/地下室/阳台防水漏水检测维修 - 安佳防水
  • 5步掌握FitGirl游戏启动器:高效管理压缩游戏的终极工具
  • 2026年西安评价高的玻璃门生产厂家哪家强 - 品牌鉴赏官2026
  • 江门报名 CPPM 注册采购经理哪家靠谱?机构选择避坑指南 - 众智商学院课程中心
  • 如何在OBS直播中添加实时语音识别字幕:免费开源插件终极指南
  • 如何快速掌握跨设备控制:终极多平台键鼠共享方案

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号