基于51单片机光照强度检测智能路灯系统Proteus仿真

资料编号:164   下面是相关功能视频演示:

164-基于51单片机光照强度检测智能路灯系统Proteus仿真(源码+仿真+全套资料)

功能讲解:

采用51单片机作为控制CPU,采用ADC0832采集光线强度,并且把光线强度数值显示到LCD1602显示屏上,可以通过独立按键设置光线强度的阈值,并且也显示到LCD1602的屏幕上,当判断实际测量的光线强度低于阈值,路灯自动打开(类似晚上路灯自动打开),当检测到光线强度高于设置阈值,路灯自动关闭(类似白天自动关闭路灯),全套仿真资料齐全:

基于51单片机光照强度检测智能路灯系统Proteus仿真_第1张图片

下面是该程序的部分展示:

void main()
{
     uchar B;
    uint d,v;
    int buf=100;
    Initialize_LCD();
    InitTimer();
    Delayms(10);
    v = 0x0100;
    StartTimer(0);
    B = 0;
    beep=0;
    while(1)
    {
        d = Get_AD_Result(vout);//读取传感器的AD值
        d &=0x00FF;    
        d = d*1000.0/255;
        #ifdef vmode
        if(d/1000)
        Display_Buffer[1]=d/1000+'0';        //显示测量值 
        else
        Display_Buffer[1]=' ';
        Display_Buffer[2]=d/100%10+'0';
        Display_Buffer[3]=d/10%10+'0';
        Display_Buffer[4]=d%10+'0';     

        if(KEY1==0)                         //按键值加
        {
            buf++;
            if(buf>995) buf=995;
        }
        if(KEY2==0)                        //按键值减
        {
            buf--;
            if(buf<5) buf=5;
        }

    
        Display_Buffer[12]=buf/100%10+'0'; //显示阈值
        Display_Buffer[13]=buf/10%10+'0';
        Display_Buffer[14]=buf%10+'0';    
        
        
        ShowString(0,0,Line1);
        ShowString(0,1,Display_Buffer);     
 
        
        
        if(d>buf)  //如果超过阈值
        {
            beep=1;
        }            
        else beep=0;
        
        Delayms(50);
    }
}

 

基于51单片机光照强度检测智能路灯系统Proteus仿真_第2张图片

 下面是该资料的分享下载链接:

https://pan.baidu.com/s/1Ivn8aQUM961hmTePcbPHfA?pwd=o5je

你可能感兴趣的:(51单片机,proteus,嵌入式硬件)