资料编号:182 下面是仿真功能视频演示:
182-基于51单片机智能路灯控制系统Proteus仿真
功能讲解:
采用51单片机作为控制CPU,可以通过设置开灯和关灯时间开自动控制路灯的打开和关闭,也可以通过光照强度来控制路灯的开关,采用LCD1602显示屏来显示相关内容,独立按键进行功能调节,相关功能调节如下:
模式1设置时间的时
模式2设置时间的分
模式3设置时间的秒
模式4设置光敏值要求光照达到一定程度才会亮灯
晚上时间无论设置多少的值都是常亮
现在时间设置为19点自动亮到凌晨6点自动关闭如设置光敏值低于白天亮度时可以亮路灯等,全套仿真资料齐全:
下面是仿真展示:
下面是相关程序展示:
void main()
{
uchar voldata; //用来接收AD值的中间变量
int0intal(); //定时计数器中断初始化
lcdintal(); //lcd初始化
while(1) //主循环
{ void key();
fmq=0; //避免蜂鸣器因上拉电阻响
voldata = iic_readvoldata(); //接收iic总线输出数据
vol = 1000-voldata*5/25.5*20; //将iic总线输出数据转换成百分比形式的数值(精确到0.1%)
key(); //调用按键函数(控制界面切换、选择及改变控制数值)
if(ms==0) dpy_T(sec,min,hou); //切换界面控制变量=0:界面a
else if(ms==1) dpy_TW(); //切换界面控制变量=1:界面b
else if(ms==2) display(); //切换界面控制变量=2:界面c
else if(ms==3) display_yhf(); //切换界面控制变量=3:界面d
//如果当前时间在常灭时间段内
if((hou>=warnh_Hh) && (min>=warnh_Hm) && (hou<=warnh_Lh) && (min<=warnh_Lm))
check_L(); //调用路灯最高点亮值检测函数
else //否则(当前时间在常灭时间段外)
{
LED1=0; //路灯常量
}
}
}
该资料的分享下载链接: