1理论分析
HC-SR501人体红外感应模块 是基于红外线技术的自动控制产品。灵敏度高、可靠性强、超低功耗,超低电压工作模式。广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
2实验详解
2.1实验目的
1)、通过实验掌握CC2530 芯片GPIO 的配置方法
2)、掌握红外传感器的使用
2.2实验设备
硬件:PC 机一台 ;ZB2530(底板、核心板、仿真器、USB 线) 一套 ;红外传感器一个
软件:win7 系统,IAR 8.20 集成开发环境
2.3实验相关电路图
图1
接线方式:
接线方式(实验是接到J10 上):
1)、VCC:接电源正极(5V)
2)、OUT:检测引脚
3)、GND:接电源负极
2.4实验相关寄存器
实验中使用P0_6 做为检测引脚,当浓度高于设定值时,P0_6 为低电平,平时正常状态时 为高电平。DO 输出电平和厂家有关,请参考具体模块的参数。相关寄存器如下:
表1 端口0的功能选择
表2 端口0的方向
配置P0_6 的方法:
P0DIR &= ~0x40; //配置与MQ-2 连接的P0.6 为输入口
#define DATA_PIN P0_6
//定义P0.6 口为传感器的输入端
2.5参考代码
#include
typedef unsigned char uchar;
typedef unsigned int uint;
#define LED1 P1_0
#define DATA_PIN P0_6
void DelayMS(uint msec);
void InitLed(void);
void main(void)
{
InitLed();
while(1)
{
if(DATA_PIN == 1)
{
DelayMS(10);
if(DATA_PIN == 1)
{
LED1 = 0;
}
}
else
LED1=1;
}
}
void DelayMS(uint msec)
{
uint i,j;
for (i=0; i<msec; i++)
for (j=0; j<535; j++);
}
void InitLed(void)
{
P1DIR |= 0x01;
P0SEL = 0x00;
P0DIR &= ~0x40;
P2INP |= 0x20;
}
2.6实验现象
人进入其感应范围模块输出高电平,点亮 LED1,人离开感应范围 LED1。
本章参考代码
点击进入