1.硬件
2.软件
#include "reg52.h"
sbit vibrate = P3^3;//震动传感器DO接到P3.3口
sbit switcher = P1^1;//继电器控制端IN接到P1.1
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输出低电平
{
//当发生震动适合,导通继电器,给继电器IN一个低电平
switcher = 0;//继电器低电平有效
Delay2000ms();
switcher = 1;//高电平,继电器N0和COM不通
}else{
switcher = 1;
}
}
}
3.实物效果
通上电后,继电器和震动传感器电源指示灯亮,发生震动时,继电器导通,指示灯亮。
- 硬件接线
51单片机 | 震动传感器 | 继电器 |
---|---|---|
P1.1 | IN | |
5V | VCC | |
GND | GND | |
P3.3 | DO | |
5V | VCC | |
GND | GND |