基于单片机的LCD百叶窗统设计

一、系统方案

本项目利用DS18B20传感器、AD加光敏电阻传感器,按键及对直流电机的控制实现智能百叶窗的控制。具体功能:LCD液晶显示器显示测量结果的光照强度和温度,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮,自动模式下,当光照强度或者温度过高的时候关闭百叶窗,反之光强降低且温度降低的时候才打开百叶窗。设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。
在这里插入图片描述
二、硬件设计
原理图如下:
在这里插入图片描述
三、单片机软件设计
1、首先是系统初始化:
//外部中断初始化
void EX_Init()
{
EA=1;
IT0=1;
EX0=1;

}
2、中断服务程序
//中断函数
void Int0() interrupt 0
{
flag=~flag; //模式变换
}

3、按键检测程序
//读取温度
unsigned int Get_Temperature()
{
unsigned char pt; //用来存放温度值,测温程序就是通过这个数组与主函数通信的
unsigned int real_tempure;
pt=ReadTemperature(); //读取温度
covert(pt);//转换温度
//把温度扩大10倍避免小数运算
real_tempure = ((TempBuffer[2]-0x30)10)+TempBuffer[3]-0x30;
real_tempure =(real_tempure
10) + TempBuffer[5]-0x30;
if(TempBuffer[1]==0x31) //说明此时有百位
{
real_tempure+=1000;
}
if(TempBuffer[0]==0x2d) //负温度
{
real_tempure
=-1;
}
return real_tempure;
}
4、核心算法程序
void Control_motor()
{
if(flag0) //自动模式
{
xianwei1=1;
xianwei2=1;
LED=0;
nop();
if((Light_val<30)&&(real_tempure<200)&&(xianwei1
1)) //0-30 ,温度小于20度
{IN1=1;IN2=0;} //正传
else if(((Light_val>50)||(real_tempure>300))&&(xianwei21)) //温度大于30度关窗帘
{IN1=0;IN2=1;} //反转
else
{IN1=1;IN2=1;}//30-50
}
if(flag
1) //手动模式
{
K3=1;
K2=1;
xianwei1=1;
xianwei2=1;
LED=1; //关指示灯
if((K20)&&(xianwei11)) //按键按下
{IN1=0;IN2=1;while(!K2);}
if((K30)&&(xianwei21))
{IN1=1;IN2=0;while(!K3);}
else
{IN1=1;IN2=1;} //电机停止
}
}

四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bbxyliyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值