各位好:
我想用单片机通过霍尔元件控制led灯的亮和灭,有磁铁靠近,检测到霍尔输出高电平led灯亮6分钟后熄灭;磁铁离开,霍尔输出低电平,当磁铁重新靠近霍尔输出高电平,led点亮6分钟后熄灭,如此循环。
#include
typedef unsigned int u16;
sbit led=P2^0;
sbit dianping=P2^2;
void timer0init()
{
TMOD=0X01;
TH0=0X3C;
TL0=0XBO;
ET0=1;
EA=1;
TR0=1;
}
void main()
{
while(1)
{
if(dianping==1)
{
led=1;
timer0init();
while();
}
else led=0;
}
}
void timer0() interrupt 1
{
u16 i;
TH0=0X3C;
TL0=0XB0;
i++;
if(i==7200)
{
i=0;
led=0;
}
}