智能窗户 AT89S52 1602显示 步进电机转动模拟开窗关窗
(1)手动控制:该功能是根据用户的需求通过按键进行窗帘的开关,此功能可以使窗帘的开闭处于任何一种状态;
(2)光照自动控制:系统可以根据用户设定的光照强度值通过感光器采集光照自动开关窗帘;
(3)时间控制:此功能是根据用户设定的时间一次性开关窗帘,并显示当前温度。
(4)温度报警系统:可以自行设置温度报警温度。
(5)时间显示及闹钟系统:可以自行设置闹钟时间。
(6)手动自动控制按键随时切换
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
bit flag_200ms;
sbit beep = P1 ^ 7; /* 蜂鸣器IO口定义 */
sbit LED = P2 ^ 7; /* 光敏模块 */
sbit yw = P2 ^ 6; /* 手动模块 */
bit flag_relay_en;
uchar flag_kaig_moshi = 0; /* 开关模式 */
bit flag_zd_sd; /* 自动 手动 模式 */
bit flag_lj_en; /*按键连加使能 */
bit flag_lj_3_en; /*按键连3次连加后使能 加的数就越大了 */
uchar key_time, flag_value; /* 用做连加的中间变量 */
bit key_500ms;
uchar menu_shudu = 20; /* 用来控制连加的速度 */
uchar value, i;
uchar k_shi = 1, k_fen = 2; /* 开窗帘时间 */
uchar g_shi = 3, g_fen = 4; /* 关窗帘时间 */
uint t_high; /* 高温报警值 */
sbit DO = P3 ^ 7; /* DO定义为P1口的第4位脚,连接ADC0832DO脚 */
sbit SCL = P3 ^ 6; /* SCL定义为P1口的第3位脚,连接ADC0832SCL脚 */
sbit CS = P3 ^ 5; /* CS定义为P1口的第4位脚,连接ADC0832CS脚 */
uchar guanxian, guanxian_set = 4; /* 光线 */
void write_eepom();
#include "eepom52.h"
#include "key.h"
#include "ds1302.h"
#include "lcd1602.h"
#include "18b20_2lu.h"
#include "motor.h"
sbit key_jia = P3 ^ 1; /* 加 */
sbit key_jie = P3 ^ 2; /* 减 */