目录

一、项目需求

二、仿真

三、程序

四、资料清单

资料下载地址:基于51单片机的自动浇花系统

一、项目需求

1、自动检测土壤湿度、温度、光照强度;

2、土壤湿度过低驱动水泵进行浇花;

3、LCD1602显示当前土壤湿度、温度、光照强度;

4、当光强、温度超过一定范围后报警;

二、仿真

三、程序

部分程序

enum { TEMP,HUMI };
typedef union                   //定义共用同类型
{unsigned int i;float f;
}value;int display = 0;
void delay(uchar ms)
{  // 延时子程序
uchar i;
while(ms--)
{ for(i = 0;i<250;i++);
}
}char ShtWriteByte(unsigned char value)
{unsigned char i,error=0;for(i=128;i>0;i>>=1)  // 高位为1,循环右移{if (i&value)Data_P=1;           // 和要发送的数相与,结果为发送的位elseData_P=0;Sck_P=1;_nop_();                       // 延时3us_nop_();_nop_();Sck_P=0;}Data_P=1;                        // 释放数据线Sck_P=1;error=Data_P;                 // 检查应答信号,确认通讯正常_nop_();_nop_();_nop_();Sck_P=0;Data_P=1;return error;                 // error=1 通讯错误
}char ShtReadByte(unsigned char ack)
{unsigned char i,val=0;Data_P=1;                      // 释放数据线for(i=0x80;i>0;i>>=1)    // 高位为1,循环右移{Sck_P=1;if(Data_P)val=(val|i);        // 读一位数据线的值Sck_P=0;}Data_P=!ack;              // 如果是校验,读取完后结束通讯Sck_P=1;_nop_();                           // 延时3us_nop_();_nop_();Sck_P=0;_nop_();_nop_();_nop_();Data_P=1;                         // 释放数据线return val;
}void ShtTransStart(void)
{Data_P=1;Sck_P=0;_nop_();Sck_P=1;_nop_();Data_P=0;_nop_();Sck_P=0;_nop_();_nop_();_nop_();Sck_P=1;_nop_();Data_P=1;_nop_();Sck_P=0;
}void ShtConnectReset(void)
{unsigned char i;Data_P=1;                 //准备Sck_P=0;for(i=0;i<9;i++)     //DATA保持高,SCK时钟触发9次,发送启动传输,通迅即复位{Sck_P=1;Sck_P=0;}ShtTransStart();       //启动传输
}char ShtMeasure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
{unsigned error=0;unsigned int i;ShtTransStart();          // 启动传输switch(mode)             // 选择发送命令{case 1 :                      // 测量温度error+=ShtWriteByte(0x03);break;case 2 :                       // 测量湿度error+=ShtWriteByte(0x05);break;default:break;}for(i=0;i<65535;i++)if(Data_P==0)break;                     // 等待测量结束if(Data_P)error+=1;              // 如果长时间数据线没有拉低,说明测量错误*(p_value) =ShtReadByte(1);       // 读第一个字节,高字节 (MSB)*(p_value+1)=ShtReadByte(1);        // 读第二个字节,低字节 (LSB)*p_checksum =ShtReadByte(0);     // read CRC校验码return error;                                     // error=1 通讯错误
}void CalcSHT11(float *p_humidity ,float *p_temperature)
{const float C1=-4.0;              // 12位湿度精度 修正公式const float C2=+0.0405;            // 12位湿度精度 修正公式const float C3=-0.0000028;  // 12位湿度精度 修正公式const float T1=+0.01;              // 14位温度精度 5V条件 修正公式const float T2=+0.00008;      // 14位温度精度 5V条件 修正公式float rh=*p_humidity;              // rh: 12位 湿度float t=*p_temperature;           // t:  14位 温度float rh_lin;                              // rh_lin: 湿度 linear值float rh_true;                         // rh_true: 湿度 ture值float t_C;                                  // t_C : 温度 ℃t_C=t*0.01 - 40;                      //补偿温度rh_lin=C3*rh*rh + C2*rh + C1;                  //相对湿度非线性补偿rh_true=(t_C-25)*(T1+T2*rh)+rh_lin;       //相对湿度对于温度依赖性补偿*p_temperature=t_C;                 //返回温度结果*p_humidity=rh_true;               //返回湿度结果
}

四、资料清单

基于51单片机的自动浇花系统相关推荐

  1. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  2. 基于51单片机的智能浇花系统(可做毕设)

    基于51单片机的智能浇花系统(可做毕设) 一.系统介绍 二.仿真展示 三.实物展示 四.仿真过程 五.代码 1.ADC0832 2.LCD1602 3.按键 4.水泵 5.温湿度 6.定时器 7.ma ...

  3. 【51单片机】基于51单片机的智能浇花系统的设计与实现

    技术:C语言.单片机等 摘要: 本设计是基于51系列单片机而设计的智能浇花系统,本系统结合单片机编程技术.传感器技术以及GSM通信技术实现系统基本功能,使系统根据不一样的土壤湿度,能够相应的改变浇水要 ...

  4. 基于51单片机的自动浇花浇水系统LCD1602显示仿真

    硬件设计 基本框架 该电路的工作原理是由STC89C52单片机和ADC0832组成系统的核心部分,湿度传感器将采集到的数据直接传送到ADC0832的IN端作为输入的模拟信号.选用湿度传感器和AD转换, ...

  5. 基于51单片机的自动浇花系统设计

    引言 1 选题的目的和意义 随着社会的进步,人们的生活质量越来越高.在家里养养盆花可以陶冶情操,丰富生活.同时盆花可以通过光合作用吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚集较多,所以空 ...

  6. diy 单片机 自动浇花_基于单片机的自动浇花系统

    摘要 很多家庭都种植有令人赏心悦目的花卉,但是当主人外出几天时,为避免这些花卉处于无人浇水的境地,所以设计一种自动浇花器十分必要的.本系统采用51单片机STC12C5A60S2作为核心控制器,用土壤湿 ...

  7. 基于单片机的自动追日系统设计_基于单片机的自动浇花系统的设计

    龙源期刊网 http://www.qikan.com.cn 基于单片机的自动浇花系统的设计 作者:吴蓓 张阳 来源:<现代信息科技> 2018 年第 03 期 摘 要:为了解决人们生活中由 ...

  8. c语言数字植物管理系统,基于AT89C52单片机的智能浇花系统(包含程序代码)

    内容简介: 基于AT89C52单片机的智能浇花系统,毕业论文,共50页,18022字,附程序代码.实物图等. 摘要 伴随着经济的快速发展,人们的物质生活水平得到了极大的提高,生活质量越来越为人们关注. ...

  9. diy 单片机 自动浇花_基于单片机的自动浇花系统的设计

    中图分类号:TP368.12文献标识码:A 文章编号:2096-4706(2018)03-0000-03 Design of Automatic Watering System Basedon Sin ...

最新文章

  1. Google 多任务学习框架 MMoE
  2. TransG : A Generative Model for Knowledge Graph Embedding ACL 2016.Berlin, Germany.
  3. python【力扣LeetCode算法题库】289- 生命游戏
  4. Hadoop学习之Hadoop集群的定制配置(一)
  5. win7/WIN8.1(x64) 下使用MSDE WIN10不行
  6. 详述WebLogic反序列化远程命令执行漏洞的处理过程,云和恩墨技术通讯精选
  7. androidpn php,服务器推送消息到Android终端方法
  8. U盘美化(更换U盘logo和页面背景软件)
  9. 【python】QQ 空间照片下载器
  10. zip与rar的区别
  11. JavsScript
  12. 5.7 矩阵的逆的性质
  13. BSOJ 2927 -- 【模拟试题】保镖排队
  14. navicat for mysql 10.1.7下载破解(2017.12.30)
  15. 苹果手机微信聊天记录删除了怎么恢复?(基础操作版)
  16. 三星android pie,三星Galaxy系列Android 9.0 Pie
  17. AD18 PCB高亮
  18. 学生选课系统功能需求
  19. 我的创业你也可以复制:股权结构中常见的问题
  20. (转)理论经典:TCP协议的3次握手与4次挥手过程详解

热门文章

  1. 在什么情况下需要进行开眼角修复的手术
  2. uniapp 创建小程序使用云开发
  3. Pygame 官方文档 - pygame.display
  4. 物联网板开发入门指南
  5. Python做手写数字识别
  6. Java+SSM二手交易商城微信小程序源码【包调试运行】
  7. Jenkins 基础07 凭据管理
  8. URLOS实战入门—制作LAP网站环境
  9. windows10+ubuntu 16 04+双硬盘(SSD+HDD)分区(图文)
  10. Commands that may modify the data set are disabled, because this instance is configured to report er