单片机红外门铃
时间:10-02
整理:3721RD
点击:
我要做一个有物体遮挡蜂鸣器响,没有的时候不响的东西,由红外发射管发射个38KHZ的信号,物体遮挡时信号被反射回来由接受管接收,蜂鸣器响。可是我的程序不对,蜂鸣器不响。发射是对的,不知道是不是接收的程序没写对,各位大神指点一下。晚上就要交了
beep是蜂鸣器,IRIN是接受管的输出脚,out是发射#include <reg51.h>
#include <intrins.h>
sbit IRIN = P3^3; //接收
sbit out=P2^1;//发射
//uchar i,a,num1;
sbit beep=P2^0; //·蜂鸣器
void delay() //
{
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
void main(void)
{
unsigned int a;
while(1)
{
out = 0;
delay();
out = 1;
delay();
}
if(IRIN == 0)
{
beep = 0;
for(a=0;a<30000;a++)
{
;
}
beep = 1;
while(1);
}
}
beep是蜂鸣器,IRIN是接受管的输出脚,out是发射#include <reg51.h>
#include <intrins.h>
sbit IRIN = P3^3; //接收
sbit out=P2^1;//发射
//uchar i,a,num1;
sbit beep=P2^0; //·蜂鸣器
void delay() //
{
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
void main(void)
{
unsigned int a;
while(1)
{
out = 0;
delay();
out = 1;
delay();
}
if(IRIN == 0)
{
beep = 0;
for(a=0;a<30000;a++)
{
;
}
beep = 1;
while(1);
}
}
怎么没有电路图呢?
你的第一个while就已经卡在那里了,怎么往下走呢