独立按键控制LED状态

   日期:2021-02-18     浏览:96    评论:0    
核心提示:独立按键控制LED状态所用到的电路图一,独立按键模块,JP1连接到P1口,接口一一对应的二,LED模块,J19到P2口,接口一一对应的按键的小问题代码如下:#include <REGX51,h>void Delay_ms(Xms) //延时函数(ms){ unsigned char i, j; while(Xms>0) { i = 2; j = 239; do { while (--j); } while (--i);

独立按键控制LED状态
所用到的电路图

一,独立按键模块,
JP1连接到单片机P1口,接口一一对应的

二,LED模块,
J19连接到单片机P2口,接口一一对应的

按键的小问题

解决方法: 在按下前面加个延时函数,渡过这时间段

代码如下:

#include <REGX51,h>

void Delay_ms(Xms)	  //延时函数(ms)
{ 
	unsigned char i, j;
	while(Xms>0)
	{ 
		i = 2;
		j = 239;
		do
		{ 
			while (--j);
		} while (--i);
		Xms--;
	}
}

void main()
{ 
	while(1)
	{ 
		if(P1_0 == 0)
		{ 
			//机械抖动,前后大约都是(5~10)ms,因此20ms肯定能够消抖
			Delay_ms(20);                //消除按下的抖动
			while(P1_0 == 0);             //判断手松开了没
			Delay_ms(20);                //消除松开的抖动
			
			P2_0 = ~P2_0;              //进行取反,~是非的意思
		}
	}
}
  实验现象:

按下K1,不会有任何反应,当松开K1,灯才会有反应,灯会从亮变灭,或者从灭变亮。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服