【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);}
	}
}
相关推荐
指掀涛澜天下惊20 分钟前
强化学习进阶篇八 策略梯度算法
深度学习·学习·算法·强化学习
乌萨奇也要立志学C++25 分钟前
【洛谷】kmp算法
开发语言·算法
禹凕34 分钟前
Dijkstra算法详解与应用
python·算法
千谦阙听1 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
冬木家居1 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
YaraMemo1 小时前
元启发式算法框架
人工智能·算法·5g·信息与通信·启发式算法·信号处理
摇滚侠1 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
weixin_307779132 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN2 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
雾里看山3 小时前
源码目录、构建目录与 out-of-source build
c++·软件构建·cmake