【51单片机】2-3【I/O口】震动传感器控制LED灯

1.硬件

2.软件

c 复制代码
#include "reg52.h"

sbit led1 = P3^7;//根据原理图(电路图),设备变量led1指向P3组IO口的第7口
sbit vibrate = P3^3;//震动传感器DO接P3.3口

void Delay2000ms()		//@11.0592MHz
{
	unsigned char i, j, k;

//	_nop_();
	i = 15;
	j = 2;
	k = 235;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
void main()
{
	//查询方式判断是否发生震动
	while(1){
		if(vibrate == 0)//震动时,D0输出低电平
		{
			led1 = 0;//亮灯
			Delay2000ms();//延时
			led1 = 1;
		}else{
			led1 = 1;//灭灯
		}
	}
}

3.实物效果

初始LED熄灭,发生震动时,LED点亮。

  • 硬件接线
51单片机 震动传感器 LED灯
P3.7 负极
5V 正极
P3.3 DO
5V VCC
GND GND
相关推荐
玄酒9 小时前
51单片机入门:模块化编程
单片机·嵌入式硬件·51单片机
慕容白 MU3 天前
新唐51单片机看门狗配置流程
c语言·单片机·嵌入式硬件·51单片机
F137298015573 天前
80V降5V,输出电流4A,应用于车载充电器WD5105
stm32·单片机·嵌入式硬件·51单片机
猫猫的小茶馆3 天前
【STM32】FreeRTOS 消息队列(五)
linux·stm32·单片机·嵌入式硬件·51单片机·智能硬件·pcb工艺
砖头拍死你4 天前
51单片机如何使用printf打印unsigned long的那些事
java·前端·51单片机
猫猫的小茶馆5 天前
【STM32】FreeRTOS 任务的删除(三)
java·linux·stm32·单片机·嵌入式硬件·mcu·51单片机
学不动CV了5 天前
单片机ADC采集机理层面详细分析(二)
c语言·arm开发·stm32·单片机·嵌入式硬件·开源·51单片机
学不动CV了5 天前
51核和ARM核单片机OTA实战解析(二)
c语言·arm开发·stm32·单片机·嵌入式硬件·51单片机
深圳安凯星单片机开发方案公司5 天前
用单片机怎么控制转速
单片机·51单片机
GalaxySinCos6 天前
08 51单片机之串口通信
单片机·嵌入式硬件·51单片机