0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机的智能窗帘控制系统设计

白茶茶668 来源:白茶茶668 作者:白茶茶668 2023-08-01 00:47 次阅读

主要内容和基本要求

采用51单片机作为系统的控制芯片,设计一个窗帘升降器,并采用步进电机控制窗帘的升降,控制平稳,精度高。

基本要求:

1.系统设置窗帘升、降变速功能,可设置三种不同的速度,分别为快速、中速、慢速。

2.能够通过键盘设定窗帘上升或者下降的任意定点位置,通过光感应,还能够自动控制选择窗帘的升降,设置有全开、半开、全关三个位置。

3.能够对设置的状态发出语音提示,并用数码管显示电机转速与窗帘位置值,用点阵显示器显示上升“↑”、下降“↓”停止“Ⅱ”三个状态。

4.系统具有手动、红外线遥控、光感自控等功能。

wKgZomTH5aKAAiTMAAclamXJ8zk336.png

编辑切换为居中

添加图片注释,不超过 140 字(可选)

部分程序:

#include //库函数

#include //库函数//如果 实物 打开

#include //AD转换库函数


#define uchar unsigned char//宏定意

#define uint unsigned int//宏定意

#define ulong unsigned long //宏定意


sbit rs=P2^0;//LCD 1602 引脚定意

sbit rd=P2^1;//LCD 1602 引脚定意

sbit lcden=P2^2;//LCD 1602 引脚定意


sbit menu=P2^5; //主功能键

sbit add=P2^4;//加键

sbit dec=P2^3;// 减键

sbit open=P2^6;// 手动 开

sbit close=P2^7;// 手动 关

sbit IR=P3^5; //红外感 应

sbit BEEP=P3^1;// 报警




#define MOTORSTEP P1 //宏定义,定义P1口为步进电机驱动端口


uchar dsflj,kval,lofl,menusw,con,befl,zhenfl,fanfl,brigfl;// 各种变量标记 正返转标记

uint sudu,dwbrigfl,humfl; //电机速度 //光度下限/湿度标记

uchar count0,second,zhenzhuan,fanzhuan,timeflg,opensw,closesw,keysw;//时钟变量 正反转 变量

uint adc0,adc1;

uint upbrig,dwbrig,kwbrig,uphum,uptemp,upsmo; // 下限 亮度 上限湿度// 上限温度


uint hour,minit,secon,DSdat,VAldat ,time;//时钟变量


uint ONhour,ONminit,ONsecon; // 开窗时间变量

uint OFhour,OFminit,OFsecon; // 关窗时间变量

uchar U8T_data_H,U8RH_data_H;



#define Imax 14000 //此处为晶振为11.0592时的取值,

#define Imin 8000 //如用其它频率的晶振时,没

#define Inum1 1450 //要改变相应的取值。

#define Inum2 700

#define Inum3 3000


uchar f=0;

uchar Im[4]={0x00,0x00,0x00,0x00}; // 遥控码存储空间

uchar show[2]={0,0}; // 变量申明

ulong m,Tc; // 变量申明

uchar IrOK; // 变量申明




void delay(uint z);// 开窗时间变量


void write_rvalue(); // 显示函数

//**************以下是各种字幕提示语数组************************

uchar code logo1[]= "Welcome to use ";

uchar code logo2[]="window system ";

uchar code logo3[]="S=253T=85oCU=85%";

uchar code logo4[]="Br= 12:00:00 ";

uchar code logo5[]="window open ";

uchar code logo6[]="window close ";

uchar code logo7[]="GWbrig= LUX ";

uchar code logo8[]="UP-Hum= % ";

uchar code logo9[]="Please input... ";

uchar code logo10[]="Please wait... ";

uchar code logo11[]="UP-TEM= oC ";

uchar code logo12[]="SEtime 12:00:00";

uchar code logo13[]="ONtime 12:00:00";

uchar code logo14[]="OFtime 12:00:00";

uchar code logo15[]="UP-SMO= ";

uchar code logo16[]="KWbrig= LUX ";




void delaymoto() //步进电机每一步间延迟函数

{

uint y=sudu;

while(y--);

}




uchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //步进电机驱动值数组


uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //步进电机驱动值数组




xdata num1 [4] = {0x00,0x00,0x00,0x00,};

xdata num2 [4] = {0x00,0x00,0x00,0x00,};

xdata num3 [4] = {0x00,0x00,0x00,0x00,};

xdata num4 [4] = {0x00,0x00,0x00,0x00,}; // AD转换变量组组

xdata num5 [4] = {0x00,0x00,0x00,0x00,}; // AD转换变量组组





void delaylog(uint z)//延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=500;y>0;y--);

}





void delay(uint z)//延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=10;y>0;y--);

}







void SETP_MOTOR_FFW() //反转

{

uint i=0;


for(i=0;i<8;i++) //8步一个循环

{

MOTORSTEP=FFW[i]; //取值赋给P1驱动口

delaymoto();

}


}


void SETP_MOTOR_REV() //正转

{


uint i=0;


for(i=0;i<8;i++) //8步一个循环

{

MOTORSTEP=REV[i]; //取值赋给P1驱动口

delaymoto();

}


}

wKgaomTH5aKAJvgLAAOlC7DTBpM967.png

wKgZomTH5aKAchzFAAB55TzLrlw421.png

wKgaomTH5aOAfs0QAAHe3_T3AKg596.png

wKgZomTH5aOAYPtbAAGbUJYwC5E389.png

​审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4934

    浏览量

    139765
  • 控制系统
    +关注

    关注

    41

    文章

    6518

    浏览量

    110399
  • 51单片机
    +关注

    关注

    273

    文章

    5697

    浏览量

    123042
  • 智能窗帘
    +关注

    关注

    1

    文章

    35

    浏览量

    7354
收藏 人收藏

    评论

    相关推荐

    如何去实现一种基于单片机智能窗帘控制系统的设计?

    如何去实现一种基于单片机智能窗帘控制系统的设计?
    发表于 07-19 09:15

    怎样去设计一种基于51单片机的教室智能照明控制系统

    怎样去设计一种基于51单片机的教室智能照明控制系统的硬件电路?基于51单片机的教室
    发表于 07-19 06:36

    基于单片机控制智能窗帘控制系统的设计与实现 精选资料分享

    我的毕业论文,可以参考,以下给出毕业论文任务书毕业设计(论文)任务书I、毕业设计(论文)题目:基于单片机智能窗帘控制系统的设计与实现文件:590m.com/f
    发表于 07-19 07:18

    基于51单片机的自动窗帘控制系统设计

    1.简介自动窗帘控制系统核心采用的是单片机STC89C52,其次利用了光照传感器、按键、显示屏以及信号调理电路等外围电路,使整个系统在各模块的配合下可实现半自动
    发表于 07-19 09:40

    怎样去设计一种基于51单片机智能加湿器控制系统

    基于51单片机智能加湿器控制系统是由哪些部分组成的?怎样去设计一种基于51单片机
    发表于 11-02 08:29

    基于单片机智能窗帘控制系统的设计与实现

    基于单片机智能窗帘控制系统的设计与实现功能模块:光照检测控制模块按键控制模块时钟模块远程
    发表于 11-19 06:07

    基于AT89S51单片机的教室灯光智能控制系统_毕业设计(论文)

    基于AT89S51单片机的教室灯光智能控制系统
    发表于 11-02 16:05 91次下载

    基于单片机控制智能窗帘设计

    基于单片机控制智能窗帘设计基于单片机控制智能
    发表于 05-09 14:16 174次下载

    MCS-51单片机的温度控制系统

    MCS-51单片机的温度控制系统
    发表于 09-21 13:50 25次下载
    MCS-<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的温度<b class='flag-5'>控制系统</b>

    (毕业设计资料)基于单片机51单片机智能药盒控制系统设计

    (毕业设计资料)基于单片机51单片机智能药盒控制系统设计
    发表于 11-12 18:06 105次下载
    (毕业设计资料)基于<b class='flag-5'>单片机</b><b class='flag-5'>51</b><b class='flag-5'>单片机智能</b>药盒<b class='flag-5'>控制系统</b>设计

    715【毕设课设】基于51单片机智能刹车控制系统设计

    715【毕设课设】基于51单片机智能刹车控制系统设计
    发表于 11-23 16:51 21次下载
    715【毕设课设】基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>智能</b>刹车<b class='flag-5'>控制系统</b>设计

    基于单片机智能窗帘控制系统仿真设计-毕设课设资料

    基于单片机智能窗帘控制系统仿真设计-毕设课设资料
    发表于 11-23 17:21 29次下载
    基于<b class='flag-5'>单片机智能</b><b class='flag-5'>窗帘</b><b class='flag-5'>控制系统</b>仿真设计-毕设课设资料

    基于单片机自动窗帘控制系统设计(烟雾+灯控)-毕设课设资料

    基于单片机自动窗帘控制系统设计(烟雾+灯控)-毕设课设资料
    发表于 11-23 17:36 28次下载
    基于<b class='flag-5'>单片机</b>自动<b class='flag-5'>窗帘</b><b class='flag-5'>控制系统</b>设计(烟雾+灯控)-毕设课设资料

    基于单片机智能窗帘控制系统的设计

    本文基于 STC89C52 单片机,开发了一款低成本的智能窗帘控制系统。该系统使用光敏电阻和ADC0832模数转换芯片实现对光照的自动检测,
    发表于 10-20 11:27 43次下载

    基于51单片机智能窗帘控制系统设计案例

    采用51单片机作为系统控制芯片,设计一个窗帘升降器,并采用步进电机控制
    发表于 08-21 11:13 1354次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>智能</b><b class='flag-5'>窗帘</b><b class='flag-5'>控制系统</b>设计案例