0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將PIR與PIC16F877A連接起來的教程

科技觀察員 ? 來源:circuitdigest ? 作者:潘卡伊·卡特里 ? 2022-11-16 16:12 ? 次閱讀

PIR(被動紅外)或運動傳感器用于檢測移動人體或物體的運動。每當有人進入 PIR 傳感器的范圍內時,它的輸出引腳都會發(fā)出高電平。

今天,我們將簡單地將PIR與PIC微控制器PIC16F877A連接。在此電路中,如果一些移動物體進入 PIR 傳感器的范圍內,蜂鳴器將開始發(fā)出蜂鳴聲。

所需材料

圖片套件 3

紅外傳感器。

PIC16F877A 集成電路

40 - 引腳 IC 支架

性能板

20 MHz 晶體 OSC

內螺紋和外螺紋伯格斯圖銷

33pf 電容器 - 2 個電容、100uf 和 10uf 電容。

680 歐姆、10K 和 560 歐姆電阻器

任何顏色的發(fā)光二極管

1 焊接套件

集成電路 7805

12V 適配器

蜂鳴器

連接線

面包板

紅外傳感器:

PIR 傳感器價格低廉、功耗低且易于使用的運動檢測 Sesnor。PIR 傳感器只接收紅外線,不發(fā)射,這就是為什么它被稱為被動。PIR 感應熱量的任何變化,如果有變化,它會在輸出時給出高電平。PIR 傳感器也稱為熱釋電或紅外運動傳感器。

pYYBAGN0m2eAcwaxAACs0MLxWBM736.jpg

每個物體在加熱時都會發(fā)出一定量的紅外線,類似于人體因體溫而發(fā)出紅外線。由于空氣和物體之間的摩擦,每個物體產生的紅外線。PIR傳感器的主要部件是熱釋電傳感器。除此之外,BISS0001(“微功率PIR運動檢測器IC”),一些電阻器,電容器和其他用于構建PIR傳感器的組件。BISS0001 IC從傳感器獲取輸入并進行處理,使輸出引腳相應地高或低。

您還可以調整距離靈敏度和持續(xù)時間,一旦檢測到運動,輸出引腳將處于高電平。它有兩個電位計旋鈕來調整這兩個參數(shù)

電路圖

poYBAGN0mrqAKEobAAGwkWVVRi4243.png

PIC微控制器:

為了對PIC微控制器進行編程以連接PIR,我們將需要一個IDE(集成開發(fā)環(huán)境),用于進行編程。一個編譯器,我們的程序被轉換為MCU可讀形式,稱為HEX文件。一個IPE(集成編程環(huán)境),用于將我們的十六進制文件轉儲到我們的PIC MCU中。

Microchip免費提供了這三個軟件??梢灾苯訌钠涔俜巾撁?a href="http://www.ttokpm.com/soft/special/" target="_blank">下載。為了您的方便,我還提供了鏈接。下載后,將它們安裝在您的計算機上。如果您在這樣做時遇到任何問題,可以查看最后給出的視頻。

要將我們的代碼轉儲或上傳到 PIC,我們需要PICkit 3。PICkit 3編程器/調試器是一種簡單、低成本的在線調試器,由在 Windows 平臺上運行 MPLAB IDE(v8.20 或更高版本)軟件的 PC 控制。PICkit 3編程器/調試器是開發(fā)工程師工具套件不可或缺的一部分。除此之外,我們還需要其他硬件,如 Perf 板、焊臺、PIC IC、晶體振蕩器、電容器等。但是,隨著教程的進行,我們會將它們添加到我們的列表中。

我們將使用MCU中提供的ICSP選項對PIC16F877A進行編程。

要刻錄代碼,請執(zhí)行以下步驟:

啟動 MPLAB IPE。

將 PicKit 3 的一端連接到 PC,另一端連接到性能板上的 ICSP 引腳。

通過單擊連接按鈕連接到您的 PIC 設備。

瀏覽閃爍十六進制文件,然后單擊程序。

代碼和說明
首先,我們需要在 pic 微控制器中設置配置位,然后從 void main 函數(shù)開始。

在下面的代碼中,“XC.h”是包含引腳和外設的所有友好名稱的頭文件。此外,我們還在下面的代碼中定義了晶體振蕩器頻率、PIR 和蜂鳴器引腳連接。

#include
#define _XTAL_FREQ 20000000 //Specify the XTAL crystall FREQ
#define PIR RC0
#define Buzzer RB2
在空主()中,“TRISB=0X00”用于指示MCU將PORTB引腳用作輸出,“TRISC=0Xff”用于指示MCU將PORTB引腳用作輸入?!癙ORTB=0X00”用于指示MCU使RB3的所有輸出為低電平。

TRISB=0X00;
TRISC=0Xff;
PORTB=0X00; //Make all output of RB3 LOW
根據下面的代碼,每當 PIR 變高時,蜂鳴器就會變高,否則它就會保持關閉狀態(tài)。

while(1) //Get into the Infinie While loop
{
if(PIR ==1){
Buzzer=1;
__delay_ms(1000); //Wait
}
else{
Buzzer=0;
}
}
}

帶PIC微控制器的PIR傳感器的工作:

該項目沒有任何復雜的硬件設置,我們再次使用我們在LED閃爍教程中創(chuàng)建的相同PIC微控制器板(如下所示)。只需根據連接圖將 PIR 傳感器模塊與PIC 微控制器板連接即可。完成連接后,只需按照上一教程中的說明使用 PicKit 3 編程器轉儲代碼即可享受輸出。

pYYBAGN0m2mAYiFwAACibBrl5VM342.jpg

上傳程序后,PIR 傳感器已準備好提供輸出。每當發(fā)射 IR 的人或物體進入 PIR 范圍內時,它都會給輸出提供高電平。而且,基于該輸出,蜂鳴器將運行。如果 PIR 輸出為高蜂鳴器輸入,則輸出為高電平,反之亦然。

poYBAGN0m2uAUeMJAACzo4AYGz4419.jpg

您可以使用固定在 PIR 模塊上的兩個電位計來控制感應距離和時間延遲。

// 'C' source line config statements


// CONFIG

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)

#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)


// #pragma config statements should precede project file includes.

// Use project enums instead of #define for ON and OFF.


#include


#define _XTAL_FREQ 20000000 //Specify the XTAL crystall FREQ

#define PIR RC0

#define Buzzer RB2


void main() //The main function

{

TRISB=0X00; //Instruct the MCU that the PORTB pins are used as Output.

TRISC=0Xff; //Instruct the MCU that the PORTB pins are used as Input.

PORTB=0X00; //Make all output of RB3 LOW


while(1) //Get into the Infinie While loop

{

if(PIR ==1){

Buzzer=1;

__delay_ms(1000); //Wait

}

else{

Buzzer=0;

}

}


}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7336

    瀏覽量

    150125
  • PIC16F877A
    +關注

    關注

    2

    文章

    43

    瀏覽量

    21737
  • PIR
    PIR
    +關注

    關注

    0

    文章

    73

    瀏覽量

    17814
收藏 人收藏

    評論

    相關推薦

    PIC16F877A在proteus中讀寫AT24C512

    此時把I2C DEBUGGER的SCL線連接PIC16F877A和AT24C512的SCL線上,這樣PIC16F877A可以正常的寫AT24C512。當PIC16F877A發(fā)送啟動信
    發(fā)表于 12-30 16:09

    pic16f877a中文資料pdf

    pic16f877a中文資料
    發(fā)表于 07-15 13:20 ?4548次下載
    <b class='flag-5'>pic16f877a</b>中文資料pdf

    PIC16F877A開發(fā)板原理圖

    PIC16F877A開發(fā)板原理圖,有需要的可以瞧一瞧!
    發(fā)表于 08-22 15:16 ?86次下載

    PIC16F877A串口發(fā)送查詢方式

    PIC16F877A串口發(fā)送,查詢方式,就為了調出這個費了我一天時間,原來是串口芯片電壓問題,現(xiàn)總結如下
    發(fā)表于 09-01 11:03 ?10次下載
    <b class='flag-5'>PIC16F877A</b>串口發(fā)送查詢方式

    PIC16F877A串口芯片電壓問題

    PIC16F877A串口發(fā)送,查詢方式,就為了調出這個費了我一天時間,原來是串口芯片電壓問題,現(xiàn)總結如下
    發(fā)表于 09-01 11:15 ?9次下載
    <b class='flag-5'>PIC16F877A</b>串口芯片電壓問題

    PIC16F877A的UART通信和proteus仿真的資料合集免費下載

    本文檔的主要內容詳細介紹的是PIC16F877A的UART通信和proteus仿真的資料合集免費下載PIC877單片機進行UART測試
    發(fā)表于 12-29 08:00 ?29次下載
    <b class='flag-5'>PIC16F877A</b>的UART通信和proteus仿真的資料合集免費下載

    PIC16F877A的T0定時器制作的電子鐘程序

    經過努力,利用PIC16F877A的T0定時器制作的電子鐘實驗成功!
    發(fā)表于 05-15 09:42 ?1802次閱讀

    PIC16F877A開發(fā)板 數(shù)碼管動態(tài)掃描實驗

    //****************電子園PIC16F877A開發(fā)板 數(shù)碼管動態(tài)掃描實驗****************//////mcu: PIC16F877A 4MHz //2010年12月
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 數(shù)碼管動態(tài)掃描實驗

    PIC16F877A開發(fā)板 普通IO驅動74595實驗

    //*****************電子園PIC16F877A開發(fā)板 普通IO驅動74595實驗***************////PIC16F877A 實驗板////mcu
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 普通IO驅動74595實驗

    PIC16F877A 看門狗定時器實驗

    //*******************PIC16F877A 看門狗定時器實驗******************* // //PORTA,PORTB,PORTC,PORTD,PORTE
    發(fā)表于 11-16 20:06 ?8次下載
    <b class='flag-5'>PIC16F877A</b> 看門狗定時器實驗

    PIC16F877A和TB6612FNG電機驅動的微型電路

    電子發(fā)燒友網站提供《用PIC16F877A和TB6612FNG電機驅動的微型電路.zip》資料免費下載
    發(fā)表于 08-15 11:17 ?4次下載
    用<b class='flag-5'>PIC16F877A</b>和TB6612FNG電機驅動的微型電路

    MCP4921與PIC16F877A接口進行數(shù)模轉換的方法

    在本教程中,我們DAC MCP4921 與 Microchip PIC16F877A 接口以進行數(shù)模轉換。
    發(fā)表于 09-06 17:40 ?1507次閱讀
    <b class='flag-5'>將</b>MCP4921與<b class='flag-5'>PIC16F877A</b>接口進行數(shù)模轉換的方法

    使用熱敏打印機連接PIC16F877A并使用輕觸開關實現(xiàn)打印的教程

    在本教程中,我們熱敏打印機 CSN A1 與廣泛使用的 PIC 微控制器 PIC16F877A 連接。在本項目中,熱敏打印機
    的頭像 發(fā)表于 11-04 15:10 ?2469次閱讀
    使用熱敏打印機<b class='flag-5'>連接</b><b class='flag-5'>PIC16F877A</b>并使用輕觸開關實現(xiàn)打印的教程

    PIC16F877A單片機代碼生成系統(tǒng)

    PIC16F877A單片機代碼生成系統(tǒng)V3.4_221214_1035
    發(fā)表于 12-20 17:00 ?7次下載

    PIC16F877A開發(fā)板原理圖

    PIC16F877A開發(fā)板原理圖免費下載。
    發(fā)表于 03-21 15:47 ?12次下載