06_独立按键

独立按键

image-20231102170335622

原理图

image-20231102170530370

控制LED单个灯的寄存器

image-20231102202149086

独立按键控制LED亮灭

#include <REGX52.H>

void main()
{
	while(1)
	{
		if(P3_1 == 0)
		{
			P2_0=0;
		}
		else
		{
			P2_0=1;
		}
	}
}

运行效果

VID_20231102_204428

按键的抖动

image-20231103145253108

消除抖动可以使用延迟20ms

消除按键抖动后的控制LED状态取反

#include <REGX52.H>

void Delay(unsigned int xms)	//@12.000MHz
{
	unsigned char data i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
	
}

void main()
{
	while(1)
	{
		if(P3_1==0)
		{
			//消除按键抖动
			Delay(20);
			while(P3_1==0);
			Delay(20);
			//LED D1取反
			P2_0=~P2_0;
		}
	}
}

LED移位亮灯

#include <REGX52.H>

void Delay(unsigned int xms)	//@12.000MHz
{
	unsigned char data i, j;

	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}

void main()
{
	int count = 0;
	while(1)
	{
		if(P3_1==0)
		{
			//消除抖动
			Delay(20);
			while(P3_1==0);
			Delay(20);
			
			//LED移位亮灯
			P2=~(0x01<<count++);
			if(count==8)
			{
				count=0;
			}
		}
	}
}

VID_20231104_141029

posted @   爱吃冰激凌的黄某某  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示