人体感应模块stm32驱动_stm32f103rct6人体红外热释电感应(2)

d、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后延时,才变为低电平(即:感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。

模块的VOUT脚输出的是开关量,有人接近感应模块时,输出高电平,人离开后恢复成低电平。所以,可接单片机的任何一个IO脚都行,可采用查询法,查询所接引脚的状态,就知道VOUT脚是高电,还是低电平,从而判是否有人接近了。在这里插入图片描述

程序

main函数

#include "stm32f10x.h" // Ï൱ÓÚ51µ¥Æ¬»úÖÐµÄ #include <reg51.h>
#include "usart.h"
#include "bsp\_hc\_sr501.h"
#include "bsp\_led.h" 
#include "bsp\_systick.h"


//¶¨ÒåÒ»¸öÈ«¾Ö±äÁ¿a£¬½«#include "stm32f10x\_it.h"ÖеIJÎÊý´«Èë
extern int a;

int main(void)
{
	
	// À´µ½ÕâÀïµÄʱºò£¬ÏµÍ³µÄʱÖÓÒѾ­±»ÅäÖóÉ72M¡£
 USART\_Config();		
 LED\_GPIO\_Config();
	EXTI\_SR501\_Config();
	
printf("»¶Ó­Ê¹ÓÃÈËÌå¸ÐӦģ¿é\n");	
	

while(1)
{
	
printf("³É¹¦\n");
	SysTick\_Delay\_ms(1000);

}

	
	
	
	
}

.c

#include "bsp\_hc\_sr501.h"
#include "usart.h"




static void NVIC\_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  
  /\* ÅäÖÃNVICΪÓÅÏȼ¶×é1 \*/
  NVIC\_PriorityGroupConfig(NVIC_PriorityGroup_1);
  
  /\* ÅäÖÃÖжÏÔ´£º°´¼ü1 \*/
  NVIC_InitStructure.NVIC_IRQChannel = SR501_OUT_EXTI_IRQ;
  /\* ÅäÖÃÇÀÕ¼ÓÅÏȼ¶ \*/
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  /\* ÅäÖÃ×ÓÓÅÏȼ¶ \*/
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  /\* ʹÄÜÖжÏͨµÀ \*/
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC\_Init(&NVIC_InitStructure);
  
}


void EXTI\_SR501\_Config(void)
{
	GPIO_InitTypeDef GPIO_InitStructure; 
	EXTI_InitTypeDef EXTI_InitStructure;

	/\*¿ªÆô°´¼üGPIO¿ÚµÄʱÖÓ\*/
	RCC\_APB2PeriphClockCmd(SR501_OUT_GPIO_CLK,ENABLE);
												
	/\* ÅäÖà NVIC ÖжÏ\*/
	NVIC\_Configuration();
	
/\*--------------------------GPIOÅäÖÃ-----------------------------\*/
	/\* Ñ¡Ôñ°´¼üÓõ½µÄGPIO \*/	
  GPIO_InitStructure.GPIO_Pin = SR501_OUT_GPIO_PIN;
  /\* ÅäÖÃΪ¸¡¿ÕÊäÈë \*/	
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD ;
  GPIO\_Init(SR501_OUT_GPIO_PORT, &GPIO_InitStructure);

	/\* Ñ¡ÔñEXTIµÄÐźÅÔ´ \*/
  GPIO\_EXTILineConfig(SR501_OUT_EXTI_PORTSOURCE, SR501_OUT_EXTI_PINSOURCE);
  EXTI_InitStructure.EXTI_Line = SR501_OUT_EXTI_LINE;
	
	/\* EXTIΪÖжÏģʽ \*/
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
	/\* ÉÏÉýÑØÖÐ¶Ï \*/
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
  /\* ʹÄÜÖÐ¶Ï \*/	
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI\_Init(&EXTI_InitStructure);
}



.h文件

#ifndef \_\_BSPHC\_SR501\_H
#define \_\_BSPHC\_SR501\_H
#include "stm32f10x.h" 


//Òý½Å¶¨Òå
#define SR501\_OUT\_GPIO\_PORT GPIOA
#define SR501\_OUT\_GPIO\_CLK (RCC\_APB2Periph\_GPIOA|RCC\_APB2Periph\_AFIO)
#define SR501\_OUT\_GPIO\_PIN GPIO\_Pin\_4

## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/ab59c8d8426e617b1a2279e41424ed20.png)

![img](https://img-blog.csdnimg.cn/img_convert/1f7820dd92cca5f87fbd9b44194f53dd.jpeg)

![img](https://img-blog.csdnimg.cn/img_convert/149858b76b1df96ccc5e20137dc6a823.png)

 ![img](https://img-blog.csdnimg.cn/img_convert/60895348c7e38ca0d97724d210bca4c3.png)

![img](https://img-blog.csdnimg.cn/img_convert/5161ae1c70305bf100579490b2817aeb.png)

![img](https://img-blog.csdnimg.cn/img_convert/cf083136071f976b1e6367dd4a77d062.png)

![](https://img-blog.csdnimg.cn/img_convert/7a182f1d136abca44ba2a34d106fd5f4.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值