急求基于单片机的光控路灯的程序,要求: 1、天黑灯开,天亮灯灭 2、可防止打雷闪电天气路灯忽明忽灭

硬件图如下:
硬件图如下:

第1个回答  2011-05-31
你可以用定时控制
#include<AT89X51.h>
int s=0,s1,s2,k2,k3,i,f=0,y; //定义时间 时 分 秒
int k=10;
int a[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f ,0x6f};
void delay(unsigned int t); //定义延时
void xianshi();
sbit a1=P1^0; //定义数码管显示
//定义按键控制

/********************数码管显示**********************************/
void xianshi()
{

//四个数码管开启 m 1
s1=s/10;
P0=a[s1];
delay(1);

//第五个数码管开启 m 2
s2=s%10;
P2=a[s2];
delay(1);

}
/****************************************************************/

/*************************延时1ms*********************************/
void delay(unsigned int t)
{
unsigned int k;

while(t--)
{
for(k=0;k<125;k++);
}
}

/********************主函数************************************/
void main()
{

TR0=1;

EA=1;
ET0=1;
TMOD=0x01;
TH0= 0x3c;
TL0=0xb0;
while(1)
{

xianshi();

}

}

/*************************进数程序******************************/
void time(void) interrupt 1
{
TH0=0x3c;
TL0=0xb0;
i++;
if(i==20)
{

if((s>=0)&&(s<k))
{
a1=0;
}
else
a1=1;
s++;
if(s==60)
{
s=0;

}

i=0;
}
}
第2个回答  2011-05-31
用光敏二极管检测光线,单片机里设置延时,延时多少分钟如果还是黑天,然后亮路灯,相当于键盘程序里的去抖动
第3个回答  2011-05-31
可以利用光敏电阻的特性,检测电压或者得到高低电平用于单片机检测。
在抗干扰方面,建议采用多次采样,经过多次确认后才确定是白天或者晚上!
第4个回答  2011-05-31
我来帮搞定!!追问

好的,先谢啊!这是我qq:593024642。加我啊!

追答

我空间

本回答被提问者采纳
相似回答