欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5330|回復: 4
收起左側

如何用C51單片機人體紅外傳感器控制一個簡單的led燈

[復制鏈接]
ID:318976 發表于 2018-4-29 19:58 | 顯示全部樓層 |閱讀模式
如何用C51人體紅外傳感器控制一個簡單的led燈
回復

使用道具 舉報

ID:339212 發表于 2018-5-27 17:54 | 顯示全部樓層
思路應該是這樣的,首先你要清楚紅外傳感器的接法,這個的話你買的時候可以跟商家要資料,有詳細講解接法的。任何的傳感器,檢測到變化之后都會輸出一個變化的電平,當紅外傳感器檢測到人體發出來的紅外線后嗎,就會通過輸出管腳輸出一個電平,只要檢測到這個電平后,產生外部中斷,中斷服務函數設置為LED閃爍即可

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:157976 發表于 2018-4-30 09:58 | 顯示全部樓層
利用紅外模塊,檢測輸出電平即可
回復

使用道具 舉報

ID:238191 發表于 2018-5-27 14:22 | 顯示全部樓層
#include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char  sbit IR=P1^0;           //人體紅外信號輸入 sbit LAMP=P2^0;     //照明燈控制接口  bit fIR=0;            //人體紅外信號標志位  unsigned int times=0; unsigned char SetSecond=10; unsigned int SetTime=0;  void delayms(uint ms)        //延時xx毫秒 {     uchar i;     while(ms--)     {         for(i=0;i<123;i++);     } }  void Timer0() interrupt 1   //定時器0中斷,開啟定時器中斷后,每50ms中斷1次。 {     TH0  = (65535-50000)/256;     TL0  =(65535-50000)%256;   //定時器重新加載初始值     if(fIR==0)  //人體紅外信號標志位為0,人體已經離開房間     {         if(++times==SetTime)    //倒計時時間累計,每次中斷50ms,20次為1秒,200次為10秒         {                times = 0;  ////倒計時時間累計清0             TR0=0;      //停止計時             LAMP=1;     //照明燈熄滅         }     } }    void main(void) //主程序 {     P2=0xff;P3=0xff;P1=0xff;     SetTime=SetSecond*20;   //計算倒計時時間,每次中斷50ms,20次為1秒,200次為10秒     TMOD = 0x01;    //設置定時器0模式     TH0  =(65535-50000)/256;     TL0  =(65535-50000)%256; //定時器加載初始值     EA=1;   //允許中斷觸發     ET0=1;  //允許定時器0中斷     TR0=0;  //停止定時器0計時     while(1)     {         if(IR==0)   //有人體信號         {             delayms(20);    //延時,防止誤觸發             if(IR==0)   //有人體信號             {                 fIR=1;TR0=1;    //啟動定時器0,設置人體紅外信號標志位為1                 LAMP=0;     //照明燈點亮             }         }         else fIR=0; //沒有人體紅外信號,設置人體紅外信號標志位為0     } }
回復

使用道具 舉報

ID:488382 發表于 2019-3-11 18:13 來自觸屏版 | 顯示全部樓層
夢想天空 發表于 2018-5-27 14:22
#include #include #define uint unsigned int #define uchar unsigned char  sbit IR=P1^0;           // ...

可以將燈泡換成小風扇嗎?有啥注意事項嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表