找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4101|回復(fù): 0
收起左側(cè)

基于STM32F103ZET6 HC_SR501人體紅外感應(yīng)程序

[復(fù)制鏈接]
ID:797856 發(fā)表于 2021-6-17 20:17 | 顯示全部樓層 |閱讀模式
1.png

HC_SR501配置函數(shù)

先是頭文件,

#define HC_SR501 PAI(0)   PAI(0)是位綁定,方便操作用的,

void HC_SR(void);是HC_SR501的PA0配置函數(shù)

u8 HC_SR501_Statue(void);是為了判斷PA0輸入狀態(tài),如果被拉高了,說明有人進(jìn)入了

void HC_SR(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);//打開GPIOA時(shí)鐘

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//選中0引腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//配置為下拉輸入模式
GPIO_Init(GPIOA, &GPIO_InitStructure);
}


u8 HC_SR501_Statue(void)
{
  if(PAI(0)==1)//如果GPIOA_0 引腳輸入高電平,代表有人,返回1
  {
    return 1;
  }
  return 0;//沒人就返回0
}


部分主函數(shù)

int main(void)
{
delay_init(72); //滴答計(jì)時(shí)器配置函數(shù)
RCC_Configuration();//時(shí)鐘配置
GPIO_Configuration();//GPIO配置
HC_SR();//HC_SR501引腳配置
USART1_Configuration();//串口配置函數(shù)

while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_0);//證明系統(tǒng)成功進(jìn)入該循環(huán)


if(HC_SR501_Statue()==1)//如果返回狀態(tài)為1 ,則該判斷語句成立,輸出有人
  {
  printf("有人\r\n");
  }
  else printf("沒人\r\n");
  delay_ms(500); //防止輸出太過頻繁
}
}
工程文件和pdf: 紅外傳感器.7z (5.92 MB, 下載次數(shù): 85)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表