欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
原創單片機紅外反射開關源碼,有詳細注釋,可以做小便池前面的開關
[打印本頁]
作者:
lids
時間:
2018-3-8 08:43
標題:
原創單片機紅外反射開關源碼,有詳細注釋,可以做小便池前面的開關
51單片機源程序如下:
//紅外反射開關,接收頭HS0038B,發射管用pnp三極管驅動
//第一次上電,燈亮1秒后熄滅,
//有人在開關前面,延時約1秒,燈亮,人離開后,延時X 秒后燈滅
//如果燈還沒滅,人又來到開關前面,燈長亮,人離開后,延時X 秒后燈滅
//實驗板測試正常
//哪位大神有更好的方法來實現這個功能,也希望發出來
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit ir=P2^4; //紅外發射
sbit ir_in=P3^2; //紅外接收
sbit led=P1^7;
bit flag,flag2;
uint cont,cont1;
bit f1,f2;
void delay(uint z) //ms
{
uint x,y;
for(x=z; x>0; x--)
for(y=114; y>0; y--);
}
void fa_38k() //38k 載波 //接收頭前面有濾光片,發射管要用黑色熱縮套管套起來
{ //不是很準,沒有邏輯分析儀,搞不準,現在的反射距離在60厘米左右(發射管串100歐電阻)
ir=0; //如果有邏輯分析儀,把頻率調準,反射距離肯定要遠些
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
ir=1;
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();//_nop_();
}
void main()
{
uint i;
ir_in=1;
TMOD |= 0X01; //T0定時器,模式1, 16位計數
TH0 = (65536-10000)/256; //10ms初值 @12MHz晶振
TL0 = (65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
led=0;
delay(1000);
led=1;
while(1)
{
if(flag)
{
fa_38k(); //發38K
}
else ir=1; //停止發射
if(ir_in==0) //如果紅外接收的輸出端為0,表示前面有反射物體
{
i++; //這句起消抖的作用 ,i取大些,抗干擾能力強些
if((ir_in==0) && (i>15000)) //確認反射物體還在開關前面,這里i的延時燈點亮的速度
{ //i越小,燈點亮越快,i的數值如果設定20000,可以不要下面那句delay(2000);
i=0; //消抖計時變量清0
// delay(1000); //延時2秒后,這里不加延時也可以,看自己的喜好
led=0; //亮燈
f1=1; //延時計時標志置1
cont1=0; //延時計時變量清零
while(!ir_in); //判斷反射物體是否離開,如果沒離開,程序就停在這里,
//燈一直亮,相當于按鍵的松手檢測
}
}
if(cont1==1000 && ir_in==1) //松手+延時時間到后,這里是設定延時10秒
{
f1=0; //延時計時標志清0
cont1=0; //延時關燈計時變量清0
led=1; //關燈
}
}
}
void timer0() interrupt 1
{
TH0 = (65536-10000)/256; //重裝10ms初值
TL0 = (65536-10000)%256;
cont++;
if(cont==10)
{
cont=0;
flag=!flag; //發100ms 38K,停100ms
}
if(f1)
{
cont1++;
}
}
復制代碼
作者:
liuhailan5757
時間:
2020-3-10 12:05
能不能不用紅外接收頭,用紅外對管,程序能做到防太陽光。高手能不能搞
作者:
lids
時間:
2020-3-10 14:28
可以做的,紅外對管的反射距離比較近,只能做到10幾厘米
作者:
xhl-xy
時間:
2021-11-19 10:59
大神,能否發下紅外對管的參考點代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1