基于单片机自动窗帘控制系统设计(烟雾+灯控)-毕设课设资料
【资源下载】下载地址如下1577:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
(1)自动窗帘设计总体设计方案是通过光电传感器来探测外界的光强,从传感器出来的信号经过信号调整电路的放大,滤波调理后输入到A/D转换器,由A/D转换器将模拟信号转换为数字信号,再送入单片机的特定单元,然后与设定值进行比较。由于系统要求根据环境光照度的变化对窗帘进行开关调节,与设定值比较后,系统将决定步进电机是否转动以及转动的方向来实现窗帘的开关。
(2)系统整体硬件电路包括, 光电传感器, 信号处理电路,A/D转换电路,检测电路,按键接口电路,步进电机控制电路等。
功能:
(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 "bujindianji.h"
sbit key_jia = P3^1; //加
sbit key_jie = P3^2; //减
/*************写单片机内部EEPOM*************/
void write_eepom()
{
SectorErase(0x2000);
byte_write(0x2000,flag_zd_sd);
byte_write(0x2001,k_shi%256);
byte_write(0x2002,k_fen%256);
byte_write(0x2003,g_shi%256);
byte_write(0x2004,g_fen%256);
byte_write(0x2005,t_high%256);
byte_write(0x2009,guanxian_set%256);
byte_write(0x2010,bjdj_value%256);
byte_write(0x2050,a_a);
}
/*************读单片机内部EEPOM*************/
void read_eepom()
{
flag_zd_sd = byte_read(0x2000);
k_shi = byte_read(0x2001);


浙公网安备 33010602011771号