×
单片机 > 单片机程序设计 > 详情

HC-SR501热释电红外传感器驱动(STM32)

发布时间:2020-06-02 发布时间:
|

一、前期准备

单片机:STM32F103ZET6

开发环境:MDK5.14

库函数:标准库V3.5

HC-SR501热释电红外传感器模块:淘宝有售

二、实验效果




三、驱动原理

这个模块比较简单,当有人靠近时候其IO输出3.3V,STM32可以直接采集。

需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。


四、驱动代码

HC_SR501.h


#ifndef __HC_SR501_H__

#define __HC_SR501_H__

#include "stm32f10x.h"

#include "gpio.h"

#include "delay.h"



#define HC_SR501 PAin(0)

#define HC_SR501_Pin GPIO_Pin_0

#define    HC_SR50PORT         GPIOA

#define      HC_SR50CLKLINE      RCC_APB2Periph_GPIOA



extern void HC_SR501Configuration(void);

extern FunctionalState HC_SR501_Status(void);

#endif


HC_SR501.c


#include "hc_sr501.h"


void HC_SR501Configuration(void)

{

GPIO_InitTypeDef    GPIO;

    

    //Enable APB2 Bus

    RCC_APB2PeriphClockCmd(HC_SR50CLKLINE, ENABLE);

    

    //Register IO 

    GPIO.GPIO_Pin   = HC_SR501_Pin;

    GPIO.GPIO_Mode  = GPIO_Mode_IPD;

    GPIO_Init(HC_SR50PORT, &GPIO);

}


FunctionalState HC_SR501_Status(void)

{

if (HC_SR501 == 1)

{

return ENABLE;

}

else

{

return DISABLE;

}

}

关键字:HC-SR501  热释电  红外传感器  STM32 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于AT91M42800A的LED显示系统设计