用51单片机实现按键控制LED灯亮灭

用51单片机实现按键控制LED灯亮灭

#include<reg51.h>//头文件
sbit LED=P2^0;//位定义LED灯
sbit k1=P3^1;//位定义按键
void delay()//延时函数
{
    unsigned char a,b;
	for(a=0;a<200;a++)
	for(b=0;b<200;b++);
}
void key()//按键处理函数
{
	if(k1==0)//判断按键是否按下(按键按下时k=0)
	{
		delay();//如果按下按键延时消抖
		if(k1==0)//如果按键仍然按下
		{
			LED=~LED;//对LED取反,原来亮则灭,原来灭则亮
		}
		while(!k1);//等待按键松开(松开时k=1,!k=0,跳出循环,
		           //未松开时,k=0,!k=1,执行while的分号空语句,一直等待)
	}
}
void main()//主函数
{
	while(1)
	{
		key();//调用按键处理函数
	}
}

注:

  1. 该单片机开发板按键K1接单片机P3口的1端口。
  2. LED灯接单片机的P2口

版权声明:本文为CSDN博主「小标电子生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51950774/article/details/116718008

生成海报
点赞 0

小标电子生

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

用51单片机做宿舍门禁系统(1)--1602显示

由于时间紧迫,还有其他考试,所以目前只能抽时间慢慢做慢慢更新了,本身就是一个练手项目。 1602显示 所谓的智能系统,没有显示是万万不能的,所以有一个显示的东西是很必要的

郭天祥的10天学会51单片机_第九节

开发板上的蜂鸣器下面是温度传感器DS18B20 DA转换器的下面是SPI总线(RFR、IOUT、DI0和GND) I2C总线和SPI总线用的多。 I2C总线仲裁:具有 C总线接口的设备都接在总线上

基于AT89C51的蓝牙循迹避障小车

基于AT89C51的蓝牙循迹避障小车 对标题的解读: AT89C51:在下使用的是STC89C52这款芯片,c51和c52在新手入门阶段是一样的,所以不必纠结于到底是哪个名字&#xff

51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示

51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示 在做这个实验的时候又一次被自己的不注意,掉坑里面去了,调试了好久都不出数据,结果在延时函数和引脚定义上被自己坑了一把。希望大家在写代码的时候多加注意。 LCD1602