基于单片机智能灯控制系统设计-毕设课设资料

百度网盘下载地址(1124):点击下载

基于AT89C51+LCD1602+DS1302+按键+LED组成设计了一个完整的智能控制系统。
P2.0-P2.3 4个LED等代表庭院内的4盏灯
P1.3-P1.7 5个开关,第一个代表光敏电阻传感器,后四个都是热释电红外传感器
P3.2、P3.4、P3.5、P3.6为四个按键开关,可设置万年历时间。
人性化地加入了时间和温度的LCD显示,并可以通过按键去设置时间日期等。
智能灯控制分为自动和手动控制。
逻辑功能:
当P3.0为0,也就是按下的时候为手动控制,反之则为自动控制。
手动:
按下开关P3.1,所有的灯都打开,按下开关P3.2,所有的灯都关闭。
自动:
一个光敏电阻传感器和四个红外热释电传感器,实现逻辑为:
当时间为晚上18点-早上6点之间或者光敏电阻传感器为0时,一旦有人,则点亮灯,一个灯附近安装一个红外热释电传感器,当走进灯时,灯亮。

 

 #include<reg51.h>
 #include<intrins.h>
  #include<string.h>
 #define uchar unsigned char
 #define uint unsigned int
 #define delayNOP() {_nop_();_nop_();_nop_();_nop_();}
 sbit SDA=P1^0;  // DS1302数据线
 sbit CLK=P1^1;  //	 DS1302时钟线
 sbit RST=P1^2;  // DS1302复位线
 //DS18B20数据端口定义
sbit DQ=P2^4;    //DS18B20数据端口
 sbit LCD_RS=P2^5;   // LCD寄存器选择
 sbit LCD_RW=P2^6;   // 	LCD读写/写控制
 sbit LCD_EN=P2^7;   //  LCD启用
 sbit K1=P3^2;   //  选择
 sbit K2=P3^3;   // 确定 
 sbit K3=P3^5;   // 加
 sbit K4=P3^6;  // 减

 
sbit key_1=P3^0;	//自动手动切换
sbit key_2=P3^1;	//关灯,按一下,关一个
sbit key_3=P3^4;	//开灯,按一下,开一个
uchar code zz[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};
uchar code fz[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};  
sbit R_LED=P2^0;   //红灯
sbit Y_LED=P2^1;   //黄灯
sbit G_LED=P2^2;   //绿灯
sbit B_LED=P2^3;   //蓝灯

sbit guangmin=P1^3;	  //光敏电阻传感器
sbit ren1=P1^4;		  //红外热释电传感器1
sbit ren2=P1^5;		  //红外热释电传感器2
sbit ren3=P1^6;		  //红外热释电传感器3
sbit ren4=P1^7;		  //红外热释电传感器4



//温度字符
 uchar code Temperature_Char[8]={0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00};
//温度小数对照表
 uchar code df_Table[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9};
 uchar CurrentT=0; //当前读取温度的整数部分
 uchar Temp_Value[]={0x00,0x00};	 //从DS18B20读取的温度值
 uchar Display_Digit[]={0,0,0,0};//待显示的各温度数位
bit DS18B20_IS_OK=1;//传感器正常标志

posted @ 2021-02-21 17:16  roadroad  阅读(217)  评论(0编辑  收藏  举报
电设屋
上千套电子毕设课设方案