【51单片机2个按键控制流水灯运行与暂停】2023-9-6

缘由捡钱活:按键控制流水灯51单片机_编程语言-CSDN问答

51单片机:

8个LED接在P1口,两个按键无所谓,随便接哪,

用C语言实现:

要求实现以下功能:

两个按键分别为KEY1(启动)和KEY2(停止)

1、当按下KEY1:流水灯正向流动一次后停止,不管流水灯走到哪,只要中途按下KEY2,流水灯立刻停止

2、流水灯走完一遍停止后,再次按下KEY1,流水灯能继续从头开始流动(必须是从头开始流动,不能从中间流)

cpp 复制代码
#include "reg52.h"
sbit k0=P3^0;
sbit k1=P3^1;
void main()
{//缘由https://ask.csdn.net/questions/7995942
	unsigned char ys=0,sy=0,xd=0,ls=0;
	bit t=0;
	while(1)
	{
		if(++ys==0)if(++sy==0)if(t){//延时
		if(ls==0)ls=1;else ls*=2;//流水灯方向
//		if(ls==0)ls=128;else ls/=2;//流水灯方向
		P1=255-ls;}
		if(k0==0&&++xd==0){t=1;ys=sy=0;while(k0==0);}//按键消抖与控制
		if(k1==0&&++xd==0){t=ys=sy=0;while(k1==0);}
	}
}
相关推荐
Halo_tjn1 小时前
Java Set集合相关知识点
java·开发语言·算法
sakiko_2 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
生成论实验室2 小时前
《事件关系阴阳博弈动力学:识势应势之道》第四篇:降U动力学——认知确定度的自驱演化
人工智能·科技·神经网络·算法·架构
AI科技星2 小时前
全域数学·72分册:场计算机卷【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算
Alice-YUE3 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽8083 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
科研前沿3 小时前
镜像孪生VS视频孪生核心技术产品核心优势
大数据·人工智能·算法·重构·空间计算
水蓝烟雨3 小时前
1931. 用三种不同颜色为网格涂色
算法·leetcode
AI进化营-智能译站3 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人