找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 24723|回復(fù): 6
收起左側(cè)

CC2530控制人體紅外傳感器的程序與詳細(xì)教程

  [復(fù)制鏈接]
ID:244570 發(fā)表于 2017-11-1 22:44 | 顯示全部樓層 |閱讀模式
1.實(shí)驗(yàn)?zāi)康?/font>
20.人體紅外傳感器

1) 通過實(shí)驗(yàn)掌握 CC2530 芯片GPIO 的配置方法
2) 掌握 HC-SR501 人體感應(yīng)模塊的使用
2.實(shí)驗(yàn)設(shè)備
              硬件:PC 機(jī)  一臺(tái) EB2530(底板、核心板、仿真器、USB線) 一套 HC-SR501傳感器   一個(gè) 杜邦線   三條
              軟件:2000/XP/win7 系統(tǒng),IAR 8.10 集成開發(fā)環(huán)境,串口助手

3.實(shí)驗(yàn)相關(guān)電路圖




D-SUN PIR人體紅外感應(yīng)模塊 是基于紅外線技術(shù)的自動(dòng)控制產(chǎn)品。靈敏度高、可靠性強(qiáng)、 超低功耗,超低電壓工作模式。

接線方式:

1、VCC:接電源正極(5V)
2、OUT:檢測(cè)引腳

3、GND:接電源負(fù)極 自己購買的模塊請(qǐng)仔細(xì)核對(duì)一下引腳,確保連接正確。

更詳細(xì)介紹請(qǐng)參考廠家手冊(cè)或“ EEB2530\相關(guān)資料與軟件\芯片數(shù)據(jù)手冊(cè)\完整版 HC-SR501 資料包括原理圖”

注意:紅外模塊正常供電是 5v,仿真器輸出是 3.3v,用仿真器供電時(shí)勉強(qiáng)能用,可能造 成數(shù)據(jù)不準(zhǔn)確,調(diào)試時(shí)最好插上底板 usb 就好了并打開電源開關(guān)。

4.實(shí)驗(yàn)相關(guān)寄存器

實(shí)驗(yàn)中使用 P0_4 作為檢測(cè)引腳, 人進(jìn)入其感應(yīng)范圍模塊輸出高電平,點(diǎn)亮 LED1,人離開 感應(yīng)范圍 LED1 熄滅 P0.4 口為 HC-SR501 傳感器的輸入端。具體 HC-SR501 人體感應(yīng)模塊 OUT 輸出電平由模塊決定,不同廠家可能不一樣,不一樣關(guān)系也不大,改動(dòng)非常的小。

5.源碼分析

6.實(shí)驗(yàn)步驟
1.用杜邦線連接好傳感器,注意引腳一定要接正確哦

2.編譯調(diào)試下載程序

3.打開串口配置為 115200 8N1 ,D2 應(yīng)該長亮,這時(shí)你靠近傳感器檢測(cè)范圍,D1 燈亮延 時(shí)一段時(shí)間后熄滅,串口也有相應(yīng)的輸出。做這個(gè)實(shí)驗(yàn)傳感器方向很重要,不要將探頭對(duì) 準(zhǔn)自己,慢慢用手移動(dòng)到檢測(cè)范圍,觀察燈的變化。這實(shí)驗(yàn)不太好做,自己多摸索幾次相 信你會(huì)成功的!




單片機(jī)源程序如下:
  1. /****************************************************************************
  2. * 文 件 名: main.c
  3. * 作    者: Andy
  4. * 修    訂: 2013-01-10
  5. * 版    本: 1.0
  6. * 描    述: 人進(jìn)入其感應(yīng)范圍模塊輸出高電平,點(diǎn)亮LED1,人離開感應(yīng)范圍LED1熄滅,
  7. *           P0.4口為HC-SR501傳感器的輸入端 串口配置也115200 8N1
  8. ****************************************************************************/
  9. #include <ioCC2530.h>

  10. typedef unsigned char uchar;
  11. typedef unsigned int  uint;

  12. #define LED1 P1_0       //定義P1.0口為LED1控制端
  13. #define LED2 P1_1       //定義P1.1口為LED2控制端
  14. #define LED3 P1_4       //定義P1.4口為LED3控制端

  15. #define DATA_PIN P0_4        //定義P0.4口為傳感器的輸入端


  16. /****************************************************************************
  17. * 名    稱: DelayMS()
  18. * 功    能: 以毫秒為單位延時(shí) 16M時(shí)約為535,系統(tǒng)時(shí)鐘不修改默認(rèn)為16M
  19. * 入口參數(shù): msec 延時(shí)參數(shù),值越大,延時(shí)越久
  20. * 出口參數(shù): 無
  21. ****************************************************************************/
  22. void DelayMS(uint msec)
  23. {
  24.     uint i,j;
  25.    
  26.     for (i=0; i<msec; i++)
  27.         for (j=0; j<535; j++);
  28. }

  29. /****************************************************************************
  30. * 名    稱: InitUart()
  31. * 功    能: 串口初始化函數(shù)
  32. * 入口參數(shù): 無
  33. * 出口參數(shù): 無
  34. ****************************************************************************/
  35. void InitUart(void)
  36. {
  37.     PERCFG = 0x00;           //外設(shè)控制寄存器 USART 0的IO位置:0為P0口位置1
  38.     P0SEL |= 0x0c;           //P0_2,P0_3用作串口(外設(shè)功能)
  39.     P2DIR &= ~0XC0;          //P0優(yōu)先作為UART0
  40.    
  41.     U0CSR |= 0x80;           //設(shè)置為UART方式
  42.     U0GCR |= 11;                                       
  43.     U0BAUD |= 216;           //波特率設(shè)為115200
  44.     UTX0IF = 0;              //UART0 TX中斷標(biāo)志初始置位0
  45. }

  46. /****************************************************************************
  47. * 名    稱: UartSendString()
  48. * 功    能: 串口發(fā)送函數(shù)
  49. * 入口參數(shù): Data:發(fā)送緩沖區(qū)   len:發(fā)送長度
  50. * 出口參數(shù): 無
  51. ****************************************************************************/
  52. void UartSendString(char *Data, int len)
  53. {
  54.     uint i;
  55.    
  56.     for(i=0; i<len; i++)
  57.     {
  58.         U0DBUF = *Data++;
  59.         while(UTX0IF == 0);
  60.         UTX0IF = 0;
  61.     }
  62. }


  63. /****************************************************************************
  64. * 名    稱: InitGpio()
  65. * 功    能: 設(shè)置LED燈和P0.4相應(yīng)的IO口
  66. * 入口參數(shù): 無
  67. * 出口參數(shù): 無
  68. ****************************************************************************/
  69. void InitLed(void)
  70. {
  71.     P1DIR |= 0x13;           //P1.0、P1.1、P1.4定義為輸出
  72.     P0SEL &= ~0x10;
  73.     P0DIR &= ~0x10;          //P0.4定義為輸入口   
  74.     P2INP |= 0x20;
  75.    
  76.     LED2 = 0;                //點(diǎn)亮D2 提示程序已運(yùn)行
  77. }

  78. void main(void)
  79. {      
  80.     InitLed();                        //設(shè)置LED燈和P0.4相應(yīng)的IO口
  81.     InitUart();                       //調(diào)置串口相關(guān)寄存器

  82.     CLKCONCMD &= ~0x40;               //設(shè)置系統(tǒng)時(shí)鐘源為32MHZ晶振
  83.     while(CLKCONSTA & 0x40);          //等待晶振穩(wěn)定為32M
  84.     CLKCONCMD &= ~0x47;               //設(shè)置系統(tǒng)主時(shí)鐘頻率為32MHZ   
  85.       
  86.     InitUart();                       //調(diào)置串口相關(guān)寄存器
  87.         
  88.     while(1)                          //無限循環(huán)
  89.     {
  90.         if(DATA_PIN == 1)
  91.         {
  92.             LED1 = 0;                 //有人時(shí)LED1亮
  93.             UartSendString("ON ", 3); //串口發(fā)送數(shù)據(jù),提示用戶
  94.         }            
  95.         else
  96.         {
  97.             LED1 = 1;                  //無人時(shí)LED1熄滅
  98.             UartSendString("OFF ", 4); //串口發(fā)送數(shù)據(jù),提示用戶
  99.         }
  100.         
  101.         DelayMS(1000);
  102.     }   
  103. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

0.png

全部資料下載地址:
20.人體紅外傳感器.rar (635.55 KB, 下載次數(shù): 183)


回復(fù)

使用道具 舉報(bào)

ID:357452 發(fā)表于 2018-6-26 20:13 來自觸屏版 | 顯示全部樓層
能不能發(fā)完整的代碼啊
回復(fù)

使用道具 舉報(bào)

ID:587073 發(fā)表于 2019-7-31 16:54 來自觸屏版 | 顯示全部樓層
能不能發(fā)完整的代碼啊
回復(fù)

使用道具 舉報(bào)

ID:554992 發(fā)表于 2019-11-16 16:59 | 顯示全部樓層
可以給完整教學(xué)嗎
回復(fù)

使用道具 舉報(bào)

ID:755645 發(fā)表于 2020-5-19 13:49 | 顯示全部樓層
樓主,能不能發(fā)完整代碼
回復(fù)

使用道具 舉報(bào)

ID:755645 發(fā)表于 2020-5-19 14:10 | 顯示全部樓層
在最后加一個(gè)大括號(hào)就可以了
回復(fù)

使用道具 舉報(bào)

ID:510389 發(fā)表于 2020-5-20 02:21 | 顯示全部樓層
可以給完整代碼嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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