1.硬件
2.软件
- main.c
#include "reg52.h"//头文件
sbit ledOne = P3^7;//位定义LED管脚
sbit key1 = P2^1;//位定义按键管脚
void Delay50ms() //延时函数@11.0592MHz
{
unsigned char i, j, k;
i = 3;
j = 26;
k = 223;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
ledOne = 0;
while(1){
if(key1 == 0)//KEY1位置和GND接通,表现为低电平,值为0
{
//感觉被按下,不知道是抖动还是人为,延迟50ms再判断一次
//软件消除抖动
Delay50ms();
if(key1 == 0)
{
ledOne = !ledOne;//灯亮,给一个P3.7低电平
}
}
}
}
3.实物效果
初始LED点亮,当按键按下时,LED的状态反转。
- 硬件接线
LED负—>P3.7
LED正—>5V
按键一脚—>P2.1
按键对脚—>GND