2021-10-14 51蛋骗鸡1秒变动0-9按键控制并蜂鸣器响

缘由单片机程序设计与应用-Python-CSDN问答

#include "REG52.h"
sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;
sbit K4 = P3^3;
sbit bp=P3^4;
bit k=1,wk=0;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,255,64};//0-9.消隐-
unsigned char Js=0,miao=0,fen=0,shi=0,y=6,t=23,ls=0;//中断计时
unsigned int n=2021;
void smxs(unsigned char mz,unsigned char w,unsigned char d)
{unsigned char Xd=0;P1=~255;P1=~(255-(d==1?SmZiFu[mz]:(SmZiFu[mz]|0x80)));//小数点闪烁P2=~w;while(++Xd);
}
void sm(unsigned int n, unsigned char y, unsigned char t, unsigned char shi, unsigned char fen, unsigned char miao)
{smxs(k?miao%10:t%10,8,1);smxs(k?miao/10%10:t/10%10,4,1);smxs(k?255:y%10,2,0);smxs(k?fen%10:y/10%10,1,1);smxs(k?fen/10%10:n%10,128,k?1:0);smxs(k?255:n/10%10,64,k?0:1);smxs(k?shi%10:n/100%10,32,1);smxs(k?shi/10%10:n/1000,16,1);
}
unsigned char nyt(unsigned int n, unsigned char y)
{return (y == 2 ? (((!(n % 4) && n % 100) || !(n % 400)) ? 29 : 28) :(((y <= 7 && y % 2) || (y > 7 && !(y % 2))) ? 31 : 30));
}
void jw(unsigned int *n, unsigned char *y, unsigned char *t, unsigned char *shi, unsigned char *fen, unsigned char *miao)
{/*时间日期进位*/if(*miao>=60){*miao=0;++*fen;}if(*fen>=60){*fen=0;++*shi;}if(*shi>=24){*shi=0;++*t;}if(*t>nyt(*n,*y)){++*y;*t=1;}if(*y>12){++*n;*y=1;}
}
void JiShi(/*时间计算*/)
{if(Js>=20){Js=0;++miao;jw(&n, &y, &t, &shi, &fen, &miao);if(miao%5==0)k=~k;ls/=2;}
}
void wbzd(/*外部中断调用函数*/)
{unsigned char cs=10;unsigned int ys=0;wk=0;while(cs){if(++ys==0)--cs;if(cs%2==0)P1=1;else P1=128;}
}
void ZhongDuanSheZhi()
{TH0+=0X4c;/*定时器赋初值,定时50ms触发中断,自动补偿方式*/TL0+=0X00; TMOD=0X01;TR0=1;ET0=1; //开启定时器EA=1; //全局中断开关IT0 = 1;//下降沿触发EX0 = 1;//开外部中断
}
void main()
{unsigned char Xd=0,xz=0,cs=1,ss=0;unsigned int wei=0;P0=0;ZhongDuanSheZhi();while(1){if(K4==0&&++Xd==0)//经典按键{P0=k=~k;while(!K4)if(++ss==0)bp=~bp;//蜂鸣器响}if(Js==20)//设置定时器50毫秒{if(k)smxs(xz,128,1);//段数据,位数据,小数点选择if(k&&++xz>9)xz=0;Js=0;}
//		if(++xz<8)
//		{
//			smxs(xz,cs,1);//段数据,位数据,小数点选择
//			cs*=2;//数码管位
//		}
//		else
//		{
//			smxs(ss,cs,1);
//			xz=0;
//			cs=1;
//			if(++Xd==0&&++ss>9)ss=0;
//		}
//		if(++cs>9)cs=0;else;
//		if(K1==0&&++Xd==0){P1=0;while(K1==0);}
//		if(K2==0&&++Xd==0){P1=85;while(K2==0);}
//		if(K3==0&&++Xd==0){P1=15;while(K3==0);}
//		if(K4==0&&++Xd==0){P1=240;while(K4==0);}
//		if(K1==0&&++Xd==0)
//		{
//			k=~k;
//			if(xz>0)
//			{
//				TR0=1;
//				xz=0;
//			}
//			while(K1==0)smxs(xz,1,1);
//			Xd=240;
//		}//切换与确定
//		if(K2==0&&++Xd==0)
//		{
//			++xz;
//			while(K2==0)smxs(xz,1,1);
//			Xd=240;
//		}//xz值功能选择1年2月3天4时5分6秒7归零调节
//		if(xz)
//		{
//			TR0=0;
//			if(xz<4)
//				k=0;
//			else
//				k=1;
//			if(K3==0&&++Xd==0)
//			{
//				xz==1?++n:xz==2?++y:xz==3?++t:xz==4?++shi:xz==5?++fen:xz==6?++miao:0;
//				jw(&n, &y, &t, &shi, &fen, &miao);
//				while(K3==0);
//				Xd=240;
//			}
//			if(K4==0&&++Xd==0)
//			{
//				xz==1?--n:xz==2?--y:xz==3?--t:xz==4?--shi:xz==5?--fen:xz==6?--miao:0;
//				jw(&n, &y, &t, &shi, &fen, &miao);
//				while(K4==0);
//				Xd=240;
//			}
//			if(xz==1)
//				sm(n, 0, 0, 0, 0, 0);
//			else if(xz==2)
//				sm(0, y, 0, 0, 0, 0);
//			else if(xz==3)
//				sm(0, 0, t, 0, 0, 0);
//			else if(xz==4)
//				sm(0, 0, 0, shi, 0, 0);
//			else if(xz==5)
//				sm(0, 0, 0, 0, fen, 0);
//			else if(xz==6)
//				sm(0, 0, 0, 0, 0, miao);
//			if(xz==7)n=y=t=shi=fen=miao=0;
//			if(xz>7){xz=0;TR0=1;}
//		}
//		else
//			sm(n, y, t, shi, fen, miao);
//		P1=~ls;
//		if(ls==0){if(++cs<=5)ls=128;else {ls=0;cs=7;}}
//		if(wk)wbzd();
//		JiShi();}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=0X4c;TL0+=0X00;        
}
void WaiBuZhongDuan0() interrupt 0//外部中断0=0,1=2,引脚P3.2,INT0
{wk=1; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/664953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习: 计算机视觉】如何改进计算机视觉数据集

【深度学习&#xff1a; 计算机视觉】如何改进计算机视觉数据集 训练模型并评估性能确定数据集需要改进的原因和位置收集或创建新的图像或视频数据重新训练机器学习模型并重新评估&#xff0c;直到达到所需的性能标准 机器学习算法需要大量数据集来训练、提高性能并生成组织所需…

基于SpringBoot+Vue的高校在线答疑管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

代码随想录算法训练营day38 || 509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

视频讲解&#xff1a; 手把手带你入门动态规划 | LeetCode&#xff1a;509.斐波那契数_哔哩哔哩_bilibili 带你学透动态规划-爬楼梯&#xff08;对应力扣70.爬楼梯&#xff09;| 动态规划经典入门题目_哔哩哔哩_bilibili 动态规划开更了&#xff01;| LeetCode&#xff1a;746.…

P8598 [蓝桥杯 2013 省 AB] 错误票据--2024蓝桥杯冲刺省一

点击跳转例题 思路: 直接进行模拟即可,需要注意的是有很多细节. 首先输入的问题:每个例子没有给出数量,那么我们怎么办呢? 当然是直接读入一整行! 那么我们如何分割呢?这里引入stringstream(知识总结); 利用getline()读入一整行,stringstream来过滤掉空格; #include <b…

springwebflux高性能服务

场景&#xff1a; 分别使用springwebmvc 使用tomcat &#xff08;tomcat 9&#xff09;和springwebflux 做一个简单的接口 &#xff0c;该接口返回一个随机数 压测环境&#xff1a; 4C 8G ECS 使用tomcat 压测结果 Max 抖动的厉害 保持压测的参数不变 使用webflux 压测结果 …

Power Designer的使用 创建数据库表模型

几年前用过PowerDesigner&#xff0c;好几年没用&#xff0c;有点忘记了&#xff0c;在这里记个笔记&#xff0c;需要的时候翻一翻 PowerDesigner版本16.5 下面的例子是以MySQL数据库为准 生成C#实体类 一 安装 1.1 安装 不让放网盘链接&#xff0c;审核通不过。。。。 …

【常见的Web前端框架——详细介绍】

常见的Web前端框架——详细介绍 常见的Web前端框架介绍 常见的Web前端框架介绍 Web前端开发工具和技术可以快速地发展和变化&#xff0c;但截至2023年&#xff0c;以下是一些常见和受欢迎的Web前端框架&#xff0c;每个都有自己独特的功能和用例。 React 由Facebook开发和维护…

react 之 zustand

zustand可以说是redux的平替 官网地址&#xff1a;https://zustand-demo.pmnd.rs/ 1.安装 npm i zustand2.基础使用 // zustand import { create } from zustand// 1. 创建store // 语法容易出错 // 1. 函数参数必须返回一个对象 对象内部编写状态数据和方法 // 2. set是用来…

Maven高级知识——分模块开发、继承与聚合

目录 一、分模块设计与开发 1.1 不分模块的问题 1.2 分模块设计 二、 继承与聚合 2.1 继承 2.1.1 继承关系 2.1.2 版本锁定 2.1.2.1 场景 2.1.2.2 介绍 2.1.2.3 实现 2.1.2.4 属性配置 2.2 聚合 2.2.1 介绍 2.2.2 实现 2.3 继承与聚合对比 三、Maven打包方式&#xff08;jar、w…

应对手机数据丢失的5大安卓数据恢复软件

我们都去过那里。您的手机上的数据丢失了&#xff0c;现在无法恢复。这尤其令人恐惧&#xff0c;因为我们的手机上都有如此多的信息。从图片、应用程序、个人信息&#xff0c;甚至是来自可能已不复存在的亲人的短信和语音邮件。这种情况确实发生了&#xff0c;而且也不仅仅是An…

Leetcode—382. 链表随机节点【中等】(水塘抽样法)

2024每日刷题&#xff08;一零九&#xff09; Leetcode—382. 链表随机节点 算法思想 我们可以在初始化时&#xff0c;用一个数组记录链表中的所有元素&#xff0c;这样随机选择链表的一个节点&#xff0c;就变成在数组中随机选择一个元素 实现代码 /*** Definition for si…

C++笔记(七)

递增运算符重载 //前置递增运算符重载&#xff1a; Integer& operator() { this->integer; return *this; } //后置递增运算符重载&#xff1a; Integer operator(int) { Integer temp *this; this->integ…

dns性能测试

一、DNS测速网站是一种通过测量DNS解析速度的工具,它提供了各种网络服务供应商和CDN厂商之间的服务比较,并帮助用户选择最快、最优的解析方案。下面是一些实测解析速度的DNS测速网站排行榜: DNSperf:它是由DNS性能测试工具Dnsperf支持的DNS测速网站之一。它的特点是数据来源…

STM32--USART串口(1)串口协议

一、通信接口 全双工&#xff1a;通信双方能够同时进行双向通信&#xff1b; 半双工&#xff1a;通信双方能够进行双向通信&#xff0c;但不能同时通信&#xff1b; 单工&#xff1a;只能从一个设备到另一个设备&#xff1b; 同步&#xff1a;接收方可以在时钟信号的指引下进…

线性代数:矩阵的秩

目录 一、矩阵的子式 二、矩阵的秩 三、重要性质定理推论 一、矩阵的子式 二、矩阵的秩 三、重要性质定理推论

031-安全开发-JS应用WebPack打包器第三方库JQuery安装使用安全检测

031-安全开发-JS应用&WebPack打包器&第三方库JQuery&安装使用&安全检测 #知识点&#xff1a; 1、三方库-JQuery-使用&安全 2、打包器-WebPack-使用&安全 演示案例&#xff1a; ➢打包器-WebPack-使用&安全 ➢第三方库-JQuery-使用&安全 #为什么…

dubbo+sentinel最简集成实例

说明 在集成seata后&#xff0c;下面来集成sentinel进行服务链路追踪管理&#xff5e; 背景 sample-front网关服务已配置好 集成 一、启动sentinel.jar 1、官网下载 选择1:在本地启动 nohup java -Dserver.port8082 -Dcsp.sentinel.dashboard.serverlocalhost:8082 -Dp…

开源项目TARZAN-NAV | 基于springboot的现代化导航网站系统

TARZAN-NAV 导航网站 一个基于 Spring Boot、MyBatis-Plus、h2database、ehcache、Docker、websocket等技术栈实现的导航网站系统&#xff0c;采用主流的互联网技术架构、全新的UI设计、支持一键源码部署&#xff0c;拥有完整的仪表板、导航管理&#xff0c;用户管理、评论管理…

real-time-emotion-detection 排坑记录

real-time-emotion-detection 排坑记录 任务踩坑回顾CV2包版本问题症状描述解决方法 模型文件路径问题症状描述解决办法 tensorflow版本问题症状描述解决办法 其他 任务 我之前跑了一个CNN情绪识别的开源代码&#xff0c;现在我想尝试把他用到我的另一个项目里。但当时那个项目…

QT中的QImage与QPixmap区别

在Qt中&#xff0c;QImage和QPixmap都是用于处理图像数据的类&#xff0c;但它们在设计上有所不同&#xff0c;适用于不同的用途。 QImage&#xff1a; - QImage是一个用于处理图像数据的类&#xff0c;它提供了访问图像每个像素的接口&#xff0c;并且可以在图像上进行像素级别…