找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6402|回复: 3
打印 上一主题 下一主题
收起左侧

单片机智能路灯灯光控制系统(自动+手动模式)源程序Proteus仿真

  [复制链接]
跳转到指定楼层
楼主
智能灯光晚上有人+晚上有声音防盗报警
部分源程序如下:
*硬件平台:光敏电阻+热释电
*显示模块: 检测到信号时对应的灯亮
*输入模块:读取对应传感器的IO口
*实现的功能:当没有检测到光,且检测到有人,则继电器吸合
*操作描述:-----------------------------------------
*接口说明:-----------------------------------------
*/


LCD1602显示
DS1302系统时间
按键设定系统时间、工作时间、光照阈值(默认开始时间为16点,结束时间为5点)
工作时间内路灯点亮,凌晨12点后路灯关闭,有人或车通过是,路灯点亮10s
非工作时间光照强度低于阈值,路灯点亮
状态检测,路灯应亮未亮,声光报警(通过检测LED串联电阻的电压值,当有电压值时,证明线路正常,无电压值时,线路故障)
手动和自动模式可通过按键自己手动切换,手动模式下由开关控制路灯亮灭。(自动模式不再执行)
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


电路原理图如下:


单片机源程序如下:
#include "std_for_wym.h"

sbit Ji_D_Qi = P1^0;          //继电器接口
sbit Rsd     = P1^1;           //红外热释电接口
sbit Led     = P1^2;           //红外热释电信号指示接口
sbit Light   = P1^3;           //光敏电阻接口
sbit shengyin= P1^4;

#define TIMEMIN   6   //检测到一次吸合2分钟
sbit bufang=P3^0;      //布防按键
sbit beep = P3^1;           //蜂鸣器定义
sbit green = P1^5;           //绿色发光二极管定义
sbit yellow = P2^4;           //黄色发光二极管定义
sbit hw    = P1^6;           //红外热释传感器定义
bit flag_300ms = 0;

uchar flag_alarm ;     //报警标志位
uchar flag_bufang ;    //布防标志位
uchar flag_bufang_en; //布防标志位使能
uint  flag_value,flag_value2;      //用做定时器的变量
uchar flag_deng_en ;   //灯标志位使能
/*************定时器0初始化程序***************/
void time_init()         
{
        EA   = 1;                   //开总中断
        TMOD = 0X01;          //定时器0工作方式1
        ET0  = 1;                  //开定时器0中断
        TR0  = 1;                  //允许定时器0定时
}

/******************红外报警处理**********************/           
void hongwai_dis()
{
                if(flag_alarm == 1)           //报警
        {
                beep = ~beep;           //蜂鸣器报警
        }        
        if(flag_bufang_en == 1) //准备开始布防
        {
                green = ~green;           //绿灯闪
                        
        }  
        if(flag_bufang == 1)   //确认布防
        {
                green = 0;         //如果延时布防成功 绿灯长亮
                if(hw == 1)               //红外有输出
                {
                        flag_alarm = 1;        
                }
        }
        
//        if(flag_alarm == 1)           //报警
//        {
//                beep = ~beep;           //蜂鸣器报警
//        }        

}

void main(void)
{
        time_init();
        while(1)
        {         
          yellow = ~hw;         //红外热释电指示灯 有输出就亮黄灯
                if(bufang==0) //判断按键减是否按下
                {
                  DelayMs(50);//延时 防抖
                  if(bufang==0)        flag_bufang_en = 1;
                  
                }
                if(flag_300ms == 1)
                {
                        flag_300ms = 0;
                        hongwai_dis();           //红外报警函数
                }        
                if(Rsd == 1)Led = 0;          //热释电指示灯
                else Led = 1;
                if((Rsd == 1 && Light == 0)||(Light == 0&&shengyin == 0))   
                //        Light==0 光线暗  光线暗并且检测到人或者光线暗检测到声音
                {
                        Ji_D_Qi = 0;
                        flag_deng_en=1;
                }
               
        }
}

全部资料51hei下载地址 仿真与代码与AD电路图:
智能路灯.7z (202.86 KB, 下载次数: 254)

评分

参与人数 1黑币 +80 收起 理由
admin + 80 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏10 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:941186 发表于 2021-6-21 00:18 | 只看该作者
这是keil的工程文件吗?
回复

使用道具 举报

板凳
ID:975282 发表于 2021-10-26 23:56 来自手机 | 只看该作者
lilililimi 发表于 2021-6-21 00:18
这是keil的工程文件吗?

里面下载的文件有,可以自己创建工程
回复

使用道具 举报

地板
ID:975282 发表于 2021-11-7 04:06 来自手机 | 只看该作者
楼主您好,我想我一下在这个基础上怎么加一个蓝牙模块呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表