基于51单片机智能节能灯自动调节系统设计(毕设课设)
本设计是基于51单片机制作的一款节能灯。节能灯分为两种模式:自动节能模式和手动模式。自动模式下通过人体热释电检测有无人体靠近,当有人靠近时打开灯光,离开时灯光关闭。手动模式下灯光常亮。在两种模式下可以通过k1和k2按键调节亮度,k3按键做模式切换使用,k4按键查看年月日周的时间信息(显示时间2s)。在lcd1602主页面中显示灯光亮度档位(Gear)分为六档,显示当前模式(Mode)分为:自动节能(Auto)和手动模式(ManR)。实时显示当前时间和温度信息。可用毕业设计和学习使用。
【资源下载】下载地址如下(896):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
#include"temp.h"
/*******************************************************************************
* 函 数 名 : Delay1ms
* 函数功能 : 延时函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Delay1ms(uint y)
{
uint x;
for( ; y>0; y--)
{
for(x=110; x>0; x--);
}
}
/*******************************************************************************
* 函 数 名 : Ds18b20Init
* 函数功能 : 初始化
* 输 入 : 无
* 输 出 : 初始化成功返回1,失败返回0
*******************************************************************************/
uchar Ds18b20Init()
{
uchar i;
DSPORT = 0; //将总线拉低480us~960us
i = 70;
while(i--);//延时642us
DSPORT = 1; //然后拉高总线,如果DS18B20做出反应会将在15us~60us后总线拉低
i = 0;
while(DSPORT) //等待DS18B20拉低总线
{
i++;
if(i>5)//等待>5MS
{
return 0;//初始化失败
}
Delay1ms(1);