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

百度网盘下载地址(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;//传感器正常标志

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值