T027基于51单片机的智能窗帘窗户控制系统proteus仿真原理图PCB

2023-11-05

功能:
0.本系统采用单片机STC89C52作为系统的主控芯片
1.系统采用LCD1602液晶实时显示当前时间/窗帘状态/光照强度
2.系统具有四个功能按键,支持手动按键/定时/遥控三种模式控制窗帘
3.系统采用一个轻触按键模拟限位开关,步进电机模拟窗帘窗户的运动
4.采用DC002作为电源接口可直接输入5V给整个系统供电

原理图:
在这里插入图片描述

PCB :
在这里插入图片描述

主程序:

/*************************************************************
                        智能窗帘

补充说明:
***************************************************************/
#include "reg52.h"
#include "LCD1602.h"
#include "DS1302.h"
#include "28BYJ48.h"
#include "eeprom52.h"
#include "tlc0832.h"
#include "infrared.h"
#include "delay.h"

#define uchar unsigned char //宏定义
#define uint unsigned int

/*******************引脚定义*********************/
sbit KEY_MODE    = P3^3;   //设置键
sbit KEY_ADD     = P3^4;   //加值键
sbit KEY_SUB     = P3^6;   //减值键
sbit KEY_ENTER   = P3^5;   //确定键
sbit BUZZER      = P2^0;   //蜂鸣器

sbit SW1      = P1^3;   //全开 限位开关
/*******************变量定义*********************/
uchar light_up = 80;
uchar light_down = 30; //存储光强上、下限值
uchar set_f = 0;            //设置选择标记,=0非设置,=1设置年,=2设置月,=3设置日,=4设置时,=5设置分,=6设置秒
                            //              =7设置定时-时,=8设置定时-分,=9设置定时-开关,=10设置窗帘打开/关闭
                            //				=11设置光强上限,=12设置光强下限,=13设置校准窗帘位置

unsigned char dis[10] = {
   '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
uchar num;   //计数变量
uchar ds[4] = {
   8, 30, 16, 20}; //定时控制开时、分、控制关时、分

uchar mode = 0; //模式标记。=0手动,=1定时,=2光控
uchar light;    //存储光强

uint moto_num = 0;                                        //记录窗帘位置
uchar motor_state = 0;                                     //窗帘状态,=0已经关闭,=1处于运转过程中,=2已经打开
bit moto_f = 0;                                           //标记当前控制状态,=0控制关,=1控制开
uchar code display_mode[3][3] = {
   "SD\0", "DS\0", "GK\0"}; //显示模式

void WriteData(void)
{
   
    SectorErase(0x2000);    //擦除扇区
    WriteByte(0x2000, ds[0]);  //写入【定时时间】数据保存
    WriteByte(0x2001, ds[1]); //写入【定时时间】数据保存存
    WriteByte(0x2002, ds[2]); //写入【定时时间】数据保存存
    WriteByte(0x2003, ds[3]); //写入【定时时间】数据保存存
    WriteByte(0x2004, light_up); //写入【光强上限值】数据保存
    WriteByte(0x2005, light_down); //写入【光强下限值】数据保存
    WriteByte(0x2006, mode); //写入【模式】数据保存
}

void ReadData(void)
{
   
    ds[0] = ReadByte(0x2000);      //读取存储的【定时时间】数据
    ds[1] = ReadByte(0x2001);      //读取存储的【定时时间】数据
    ds[2] = ReadByte(0x2002);      //读取存储的【定时时间】数据
    ds[3] = ReadByte(0x2003);      //读取存储的【定时时间】数据
    light_up = ReadByte(0x2004);   //读取存储的【光强上限值】数据
    light_down = ReadByte(0x2005); //读取存储的【光强下限值】数据
    mode = ReadByte(0x2006);       //读取存储的【模式】数据
}

/********************************************************
函数名称:void display(void)
函数作用:正常显示日期、时间、光强等函数
参数说明:
********************************************************/
void display(void)
{
   
    uint t[3];

    //显示时间
    LCD_DispOneChar(0, 1, dis[time[2] / 10]); //显示时【0:表示第1列,2:表示第2行,所有关于显示都一样】
    LCD_DispOneChar(1, 1, dis[time[2] % 10]);
    LCD_DispOneChar(2, 1, ':');
    LCD_DispOneChar(3, 1, dis[time[1] / 10]); //显示分【3:表示第4列,2:表示第2行,所有关于显示都一样】
    LCD_DispOneChar(4, 1, dis[time[1] % 10]);
    LCD_DispOneChar(5, 1, ':');
    LCD_DispOneChar(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

T027基于51单片机的智能窗帘窗户控制系统proteus仿真原理图PCB 的相关文章

  • 2023华为OD机试真题【同时出现的整数】

    题目内容 现有两个整数数组 需要你找出两个数组中同时出现的整数 并按照如下要求输出 1 有同时出现的整教时 先按照同时出现次数 整数在两人数组中都出现并目出现次数较少的那人 进行归类 然后按照出现次数从小到大依次按行输出 2 没有同时出现的
  • 攻防世界-level0

    攻防世界 level0 gdb peda run Starting program home giantbranch Desktop study level0 Hello World C Program received signal SI
  • 缓存与数据库的双写一致性

    背景 在高并发的业务场景下 系统的性能瓶颈往往是出现在数据库上 用户并发访问过大 压力都打到数据库上 所以一般都会用redis做缓存层 起到一个缓冲作用 让请求先访问到缓存层 而不是直接去访问数据库 减轻数据库压力 从而减少网络请求的延迟响
  • 你不知道的正则表达式理解

    正则表达式 Regular Expression 简称正则 一 什么是正则 在我们实际开发过程中经常会遇到 有查找符合某些复杂规则的字符串的需要 比如 我们要查找用户名 邮箱 手机号码等 这时候想匹配或者查找符合某些规则的字符串 就可以使用
  • ODS 、DW、 DM、CDC等名词解释

    Q ODS层 DW层 DM层是什么意思 A ODS层 DW层和DM层是数据仓库中的三个重要组成部分 它们分别代表了操作数据存储层 数据仓库层和数据集市层 ODS层 Operational Data Store 操作数据存储层 ODS层是数据

随机推荐

  • 金融ARQC、ARPC验证生成规则

    从2012年从事金融行业的IT开发和实施工作以来 接触最多的就是IC卡片的ARQC等安全验证 只从发行IC卡以来 行业里面安全验证就是使用ARQC来验证交易的安全性 最近在项目中实施改造的时候因为前段读卡上送过来的ARQC到我系统 我系统去
  • kafka对单分区重设偏移量

    一 整个kafka设置偏移量 对kafka整个集群设置偏移量大家使用较多 适合测试环境 丢弃整个消息队列中的数据 kafka consumer groups sh bootstrap server localhost 9092 group
  • arduino笔记28:使用TM1637四位数码管显示模块

    TM1637模块有四个引脚 相比于使用四位数码管的10个引脚 使用TM1637模块可以大大节省引脚数量 四个引脚的意义如下 GND 电源负级 VCC 电源正极 5V DIO 数据IO模块 可以接任意的数字引脚 CLK 时钟引脚 可以接任意的
  • yolo deepsort_基于YOLOv5和DeepSort的目标跟踪

    软硬件环境 windows 10 64bit pytorch yolov5 deepsort YOLOv5 前文 YOLOv5目标检测 和 YOLOv5模型训练 已经介绍过了YOLOv5相关的内容 在目标检测中效果不错 DeepSort S
  • 这可能是介绍Android UvcCamera最详细的文章了

    设备外接usb摄像头 进行基本的预览 拍照 录像 相信有些同学在工作中有遇到类似的需求 uvc camera 不管你之前有没用过 有没遇到过 相信看完这篇文章 一定会带给你一些收获 这篇文章将从下面几点展开讲解 一 什么是UVC 二 UVC
  • MySQL:MySQL8用户与角色管理

    文章目录 MySQL用户管理 创建用户 查看用户权限 添加 删除权限 查询表权限 使用新创建的用户登陆 修改密码 删除用户 mysql用户管理表 caching sha2 password插件 validate password组件的安装和
  • CSS3 连续向下循环播放动画

    向下动画是在 animate css 的基础上进行修改的 效果展示
  • Java加密工具类EncryptUtils

    Java 提供了一些常见的加密算法 如 MD5 SHA AES DES 现将这些实现方法放进加密工具类 EncryptionUtils 使用了 String format 来确保每个字节都能够正确的被转化为成十六进制字符串 而且不会因为缺少
  • 浏览器背后的运行机制

    浏览器背后的运行机制 从本章开始 我们的性能优化探险也正式进入到了 深水区 浏览器端的性能优化 平时我们几乎每天都在和浏览器打交道 在一些兼容任务比较繁重的团队里 苦逼的前端攻城师们甚至为了兼容各个浏览器而不断地去测试和调试 还要在脑子中记
  • vant-ui 按需引入

    我们在开发移动端的时候 在布局的过程中大部分会用到vant ui 方便快捷 也能更好的帮助我们快速的完成项目布局 首先 第一步 安装vant 在现有项目中使用 Vant 时 可以通过 npm 或 yarn 进行安装 Vue 2 项目 安装
  • 【华为OD机试】跳房子1【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 跳房子 也叫跳飞机 是一种世界性的儿童游戏 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格 跳房子的过程中 可以向前跳 也可以向后跳 假设房子的总格数是c
  • 无线地磁传感器更适合路边停车系统

    随着停车难问题日益严重 在有限的固定停车场外 路边停车就成为当下很常见的一种停车方式 早起国外采用电感线圈来作为车位的传感器 国内比较少见 而我国直接跨过了电感线圈 直接采用了无线地磁传感器作为车位的传感器 那么无线地磁传感器优势在哪 地磁
  • 程序员经常聚集的国内开发者社区总览表

    转载 http www iteye com topic 1135562 云盘 http yunpan 360 cn 不管是编程菜鸟还是程序员大牛 都需要有自己的交流圈和学习平台 根据我自己的经验总结分享一些开发者论坛 社区啊 有大牛聚集的地
  • Nginx完美解决前后端分离端口号不同导致的跨域问题

    笔者在做前后端分离系统时 出现了很多坑 比如前后端的url域名相同 但是端口号不同 例如前端页面为 http 127 0 0 1 后端api根路径为 http 127 0 0 1 8888 这样就导致跨域问题 前端设置的request he
  • 雷达辐射源调制信号仿真(代码)

    雷达辐射源调制信号仿真 说明 通过Matlab进行单载频 CW 线性调频 LFM 非线性调频 NLFM 二相编码 BPSK 四相编码 QPSK 二频编码 BFSK 四频编码 QFSK 七种雷达脉内调制信号的方仿真 环境 Matlab 直通
  • 【Web前端学习笔记】第一章 HTML常用标签

    Web前端学习笔记 第一章 HTML常用标签 文章目录 Web前端学习笔记 前言 一 HTML是什么 二 常见标签 1 文本标签 2 列表标签 3 图片标签img 4 超链接a 5 表格标签table 6 表单form 7 分区标签 总结
  • 开源软件收集

    http www 7 zip org 7 Zip 4 16 Beta 文件压缩工具 可与Windows资源管理器集成http a note sourceforge net A Note 4 2 1 可在Windows桌面放置便笺 并可提供闹
  • 大模型训练时,使用bitsandbytes报错的解决方法

    前言 在对大语言模型 LLaMa Chat GLM等 进行微调时 考虑到减少显存占用 会使用如下方式加载模型 from transformers import AutoModel model AutoModel from pretraine
  • 2021-07-31

    2周目总结 7 19 7 25 无事 打牌 7 26 8 1 河南加油 无事打牌 我似乎忘了什么 哦 还有作业没弄 作业qaq 正在补习ing
  • T027基于51单片机的智能窗帘窗户控制系统proteus仿真原理图PCB

    功能 0 本系统采用单片机STC89C52作为系统的主控芯片 1 系统采用LCD1602液晶实时显示当前时间 窗帘状态 光照强度 2 系统具有四个功能按键 支持手动按键 定时 遥控三种模式控制窗帘 3 系统采用一个轻触按键模拟限位开关 步进