51单片机按键控制LED灯状态

Posted 梨花压海棠.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机按键控制LED灯状态相关的知识,希望对你有一定的参考价值。

前言

今天更新按键模块的编程

先看电路图

可以看到,K1,K2,K3未按下时,KEY1,KEY2,KEY3三个接口处与vcc联通,处于高电平状态。
当K1,K2,K3按下时,vcc与大地接通,KEY1,KEY2,KEY3处都为低电平。
综上可知,按下开关接口处为0,松开开关为1。

我们的目的是要用开k1,k2,k3分别控制LED灯L0,L1,L2的亮灭,按下开关对应的灯亮起,松开开关灯灭。

我们再看下LED的电路图

LED的详细介绍再上一篇文章中,这里就不过多介绍了。
下面看一下代码:

#include <STC15F2K60S2.H>
sbit LedSel=P2^3;
sbit Key1=P3^2;
sbit Key2=P3^3;
sbit Key3=P1^7;
void Init()
	P2M0=0x08;
	P2M1=0x00;
	
	P0M0=0xff;
	P0M1=0x00;
	
	LedSel=1;
	P0=0;


void main()
	Init();
	while(1)
		if(Key1==0)  
        P0=0x01;  
			else P0=0;
       
    if(Key2==0)  
        P0=0x02; 
			else P0=0;
       
    if(Key3==0)  
        P0 = 0x04; 
			else P0=0;
			 

	

代码也没什么晦涩难懂的地方,就是要注意一定要写else,不然灯亮了之后不会熄灭了。

下面是代码跑出来的效果:

VID_20220719_093750

后记
按键模块就到此为止了,如果有疑问欢迎来交流
未完待续······

以上是关于51单片机按键控制LED灯状态的主要内容,如果未能解决你的问题,请参考以下文章

51单片机独立按键控制LED灯(四种形式)

51单片机实现按键查询并灯闪烁时间实验

单片机一个接口怎么控制两个LED灯?!

求教如何用单片机控制LED灯的亮度

74HC595控制LED灯

3.3 51单片机-独立按键