51单片机智能灯光控制系统 自动手动模式 源码Proteus仿真

[复制链接]
查看4 | 回复0 | 2021-4-20 13:48:40 | 显示全部楼层 |阅读模式
智能灯光晚上有人+晚上有声音防盗报警
部分源程序如下:
*硬件平台:光敏电阻+热释电
*显示模块: 检测到信号时对应的灯亮
*输入模块:读取对应传感器的IO口
*实现的功能:当没有检测到光,且检测到有人,则继电器吸合
1.png 2.png
部分C语言程序:
       /******定义头文件**************/
#include<reg52.h>
#include <INTRINS.H>
#include"lcd.h"
#include "ds1302.h"
/******类型重定义*************/
typedef unsigned char uchar;
typedef unsigned int  uint;
/******引脚定义***************/
sbit key_1 = P1^0;                        //定义4个按键
sbit key_2 = P1^1;
sbit key_3 = P1^2;
sbit key_4 = P1^3;
sbit key_5=P3^0;//手动/自动模式切换
sbit key_6=P3^1;//手动模式路灯开关

sbit led_1 = P1^4;
sbit Beep = P2^3;                                        //定义声光报警
sbit AD_clk = P3^4;                                        //定义ADC0832                
sbit AD_do = P3^5;
sbit AD_di = P3^5;
sbit AD_cs = P3^6;
sbit red_sr = P3^7;                                        //红外检测

/******定义变量***************/
char hour,min,sec;                                                //定义小时、分钟、秒变量
char time;
char work_time_Start = 16,work_time_End = 5;                //设定起始、结束时间
bit light_flag;
uchar light;                                                        //定义光照强度
uchar light_limit;                                                //定义光照阈值
uchar Data;
/******声明函数***************/
void delayms(unsigned int x);                        //延时函数
void display();                                                         //显示
void Read_time();
void set_work_time();                                        //设定工作时间
void set_limit_light();                                        //设定光照阈值
void work();                                                        //工作状态
void set_time();                                                //设定时间
void delay10ms(int d);
void InitTimer0(void);                                        //T0定时器初始化程序
uchar AD(bit Channel);                                        //ADC0832程序
3.png
智能路灯源码 仿真 原理图.zip (320.75 KB, 售价: 1 工控币)
回复

使用道具 举报

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

本版积分规则