51单片机跟A/D转换器的连接实现光感使led灯点亮,仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- /*
- *************************************************************************
- *产品名称:智能灯光控制
- *硬件平台:光敏电阻+热释电
- *显示模块: 检测到信号时对应的灯亮
- *输入模块:读取对应传感器的IO口
- *实现的功能:当没有检测到光,且检测到有人,则继电器吸合
- *操作描述:-----------------------------------------
- *接口说明:-----------------------------------------
- */
- #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= P3^5;
- #define TIMEMIN 6 //检测到一次吸合2分钟
- void main(void)
- {
- int i,j;
-
- while(1)
- {
- if(Rsd == 1)Led = 0; //热释电指示灯
- else Led = 1;
- if((Rsd == 1 && Light == 0)||(Light == 0&&shengyin == 0))
- {
- Ji_D_Qi = 0;
- // Led = 0;
- for(i=0;i<TIMEMIN;i++)
- {
- for(j=0;j<10;j++) //执行完一次一分钟
- {
- DelayMs(1000);
- if(Rsd == 1)Led = 0;
- else Led = 1;
- }
-
- }
- // Led = 1;
- }
- else Ji_D_Qi = 1; //关闭继电器
- }
- }
复制代码
所有资料51hei提供下载:
智能灯光控制(光线人体声音).7z
(2.43 MB, 下载次数: 236)
求告知流程图 |