51单片机(二十五)—— 独立按键控制LED

        在51单片机的前面的文章中,我们主要讲述了单片机IO口的输出功能的应用,如LED控制、数码管控制等。这篇文章我们来讲解如何用单片机的IO口读取按键的状态,并根据按键的状态来控制LED。关于51单片机按键输入功能的介绍可以参考文章《51单片机(二十四)—— 独立按键工作原理》

        在本文中,实例的代码如下所示。

#define KEY  P2  //定义按键输入端口
#define LED  P0  //定义LED输出端口

/********************************************************************/
/*                              主函数                              */
/********************************************************************/
void main (void)
{
	KEY=0xff; //按键输入端口电平置高
	for(;;)         //主循环
	{
		LED=KEY;
	}
}

代码很简单,主要代码只有for循环中的一行LED=KEY; 这一句代码的作用是将KEY的值赋值给LED。由程序的宏定义可知,KEY是P2,它是与独立按键连接的8个IO口的寄存器。LED是P0,它是与LED连接的8个IO口的寄存器。当某个独立按键按下时,则P2对应的IO口的电平状态被拉低,输入为0,当松开按键时,输入为1,在for循环中,将P2的值赋值给P0,当按键按下时,控制LED的IO口输出为0,则相应的LED点亮。松开按键时,控制LED的IO口输出为1,则相应的LED熄灭。由于赋值代码在for循环中,则LED的状态会实时更新。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值