我用的是stc89c52单片机,这是我写的程序和人体红外感应模块与单片机的连接。
为什么实现不了功能。求哪位大神帮我一下
#include
sbit DQ=P2^2;
#define uint unsigned int
void delayus(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=118;j>0;j--);
}
void main()
{
while(1)
{
if(DQ==1);
P1=0x00;
delayus(1000);
P1=0xff;
}
}
if(DQ==1); 这里直接加了分号,代表什么意思呢,如果你是想根据信号开关灯的进行指示的话,可以明确告诉你这个是不对的,再仔细看看书吧
if(DQ==1);这里不应该加了分号,如果只执行P1=0x00;的话,这句话要缩进,后面的顶行,这是书写规范