用51单片机STC89C52、时钟芯片DS1302、液晶屏LCD1602、光敏电阻、红外对管、设计一个教室智能照明控制系统。使用4个LED灯模拟教室的照明灯,在符合条件开启时,人数小于10人亮一个灯,10-20人亮二个灯,20-30人亮三个灯,大于30人则全亮四个灯。
单片机默认使用STC89C52,可选择AT89S52。
系统分自动/手动模式,可以通过按键切换模式,并有LED指示当前所在模式,在自动模式下,可以设定定时时间段,在定时时间段内,当教室有人(人数大于0)的情况下,如果光线暗弱则自动打开照明灯,照明灯点亮个数根据人数而定,不在定时时间段或者教室无人的情况下,关闭所有照明灯,另外在手动模式下,可以通过手动开关控制照明灯的亮灭,人数统计部分仍然生效。
资料包含:仿真,程序,实物原理图,pcb,元器件清单等
#include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar time_data[7]; uchar code write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80}; //数据的地址 uchar code read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81}; uchar code table1[]="C: 00|2000/00/00"; uchar code table2[]="T: 00|00:00:00 0"; uchar code table3[]=" "; //清屏内容 uchar code table4[]=" Set Real Time "; uchar code table5[]=" Set Open Time "; uchar code table6[]=" Start Time: "; uchar code table7[]=" 00:00:00 "; uchar code table8[]=" End Time: "; uchar code table9[]="Date: 2000/00/00"; uchar code table0[]="Time: 00:00:00 0"; bit Adjust; //调节标志位,=1表示进入调节模式,=0是正常模式 bit Auto_flg; //自动模式标志位,=1表示手动模式,=0是自动模式 sbit rs=P1^0; //LCD1602 sbit rw=P1^1; //LCD1602 sbit e=P1^2; //LCD1602 sbit sck=P2^5; //时钟端口 sbit io=P2^6; //时钟端口 sbit rst=P2^7; //时钟端口 sbit SELT =P1^6; //选择键 sbit ENTER=P1^7; //确认键 sbit UP =P3^0; //加键 sbit DOWN =P3^1; //减键 sbit MODE =P3^2; //切换按键接口 sbit SWITCH=P3^3; //手动开关
【资源下载】下载地址:点击下载(752) 百度网盘