#include                          //WD代表与温度有关

#include                          //SD代表与湿度有关

#include                          //GZ代表与关照有关

#include                          //YJ代表与液晶有关

#define uint unsigned int          //   宏定义

#define uchar unsigned char

#define        SlaveAddress  0x46   //定义器件在IIC总线中的从地址

typedef unsigned char BYTE;

BYTE BUF[8];                          //光照接收数据缓存区

sbit lcdrs=P1^0;                  //数据或者命令选择端

sbit    RW=P1^1;                  //数据读写选择

sbit lcden=P1^2;                  //使能信hao

sbit  led1=P1^4;                //喜阳模式亮

sbit  led2=P1^5;                //喜阴模式亮

sbit   SCL=P2^5;            //IIC时钟引脚定义

sbit   SDA=P2^6;            //IIC数据引脚定义

sbit    DQ=P2^7;                  //DS18B20温度传感器的信号线

sbit zhuan=P3^0;                //继电器控制

sbit  beep=P3^1;                //蜂鸣器

sbit  key1=P3^2;                //按键1

sbit  key2=P3^3;                //按键2

sbit  led=P1^7;                        //湿度指示灯

uint data_GZ,data_SD,data_WD,SDH,SDL,GZ,WD,SD;                 //全局变量

uchar wanGZ,qianGZ,baiGZ,shiGZ,geGZ,shiSD,geSD,baiWD,shiWD,geWD;

uchar code num[]={"0123456879"};

uchar code type[]={"XIYINXIYANGWDSDGZ:%'C"};

//液晶,延时及判断模式的函数的声明

void write_com(uchar com);                   //液晶写命令

void write_data(uchar date);           //液晶写数据

void InitYJ();

void moshi();                                       //液晶初始化

void deal();                                           //判断温度。湿度,光照

void delay_us(uint);                           //延时一微妙

void delay_ms(uint);                           //延时一毫秒

//光照部分有关函数的声明

void BH1750_Start();                                                  //起始信号

void BH1750_Stop();                                                     //停止信号

void BH1750_SendACK(bit ack);                                  //应答ACK

bit BH1750_RecvACK();                                                  //读ACK

void BH1750_SendByte(BYTE dat);                                  //IIC单个字节写

BYTE BH1750_RecvByte();                                                  //IIC单个字节读

void Single_Write_BH1750(uchar REG_Address);//单个写入数据

void Multiple_read_BH1750(void)        ;                        //连续的读取内部寄存

uint getdata_GZ();                                                        //读取光照的数据

void show_GZ();                                                                //在液晶上显示光照

//湿度部分有关函数的声明

void initADC();                                                           //初始化AD转换

uint getdata_SD();                                                   //读取湿度的数据

void show_SD();                                                           //在液晶上显示湿度

//温度部分有关函数的声明

void Init_DS18B20();                                          //初始化DS18B20

uchar ReadOneChar();                                             //读一位数据

void WriteOneChar(uchar dat);                          //写入数据

void show_WD();                                                          //在液晶上显示温度

uint ReadTemp(void);                                          //读取温度数据

void main()                                                                   //主函数

{

InitYJ();                                                          //初始化液晶

while(1)

{

moshi();                                                          //模式选择

show_GZ();                                                  //光照显示

show_WD();                                                  //温度显示

show_SD();                                                  //湿度显示

deal();                                                           //处理函数

}

}

diy 单片机 自动浇花_基于51单片机的自动浇花装置(很详细)相关推荐

  1. 《电子DIY》之《单片机实践项目》之基于51单片机+光敏电阻的简易光照强度测量系统设计电路图绘制及讲解

    <电子DIY>之<单片机实践项目>之基于51单片机+光敏电阻的简易光照强度测量系统设计电路图绘制及讲解 添加链接描述

  2. 单片机多功能电子琴课设_基于51单片机的多功能电子琴设计.doc

    基于51单片机的多功能电子琴设计 基于51单片机的多功能电子琴的设计 摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器.它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编 ...

  3. 基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器

    基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器 基于51单片机的锂电池追光充电系统 具体功能:根据太阳光照方向改变光板朝向,利用太阳能给锂离子电池充电,实时显示上下左右四个方向不同 ...

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

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

  5. c语言51单片机湿度浇花器,基于51单片机的室内自动浇花系统的制作方法

    本实用新型涉及单片机应用领域,具体涉及一种基于51单片机的室内自动浇花系统. 背景技术: 随着科学技术不断进步,人民的消费水平和生活质量逐渐,物质水平已经满足不了人民的需求,精神上的需求越来越受人们的 ...

  6. 单片机c语言中p1asf,基于51单片机的蓄水池自动控制系统 毕业设计.doc

    基于51单片机的蓄水池自动控制系统 毕业设计 广西民族大学 第二次综合课程设计报告 论文题目: 基于51单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业: 自动化 年 级: 2007级 ...

  7. 智能窗帘研究制作_基于51单片机的智能窗帘的研究与设计.doc

    基于51单片机的智能窗帘的研究与设计 第 PAGE \* Arabic \* MERGEFORMAT 24 页第 PAGE \* Arabic \* MERGEFORMAT 24 页 目录 TOC \ ...

  8. 基于单片机的超市储物柜设计_基于51单片机对电子储物柜系统的设计

    电路描述: 安全是我们日常的生活中最关心的问题. 每个人都觉得安全问题是非常至关重要的,在家里的门和安全,可以尽可能多的安全. 为了对于门访问安全 因此,我们打算通过引进一个电子密码锁系统,该系统包括 ...

  9. 51单片机计算器_基于51单片机的倒计时温度检测报警器

    基于51单片机的倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目.起初,我设计和选择的是12864显 ...

  10. 51单片机 外部时钟_基于51单片机的LCD12864显示模拟时钟

    今天要分享的仿真和程序是基于51单片机的LCD12864显示模拟时钟.公众号之前也分享过数字时钟,但是那些时钟都是采用数字显示的形式来显示时间,而今天分享一个采用LCD12864显示的模拟指针式时钟. ...

最新文章

  1. ListView通过自定义的Adapter实现异步下载显示网络图片
  2. 实现DataGridView和DevExpress.GridControl表头全选功能
  3. 聚类分析基础知识总结及实战解析
  4. 启动oracle em命令
  5. hdu 2825 Wireless Password AC自动机+状态DP
  6. 如何逃离「信息茧房」?
  7. 300+Jquery, CSS, MooTools 和 JS的导航菜单资源
  8. docker nacos mysql nginx 集群一台
  9. 《Java 20年:道路与梦想》迷你书发布
  10. 减少HTTP请求(大型网站优化技术)
  11. 昨天刚招到一个程序员,第一天入职就离职了....因为不加班
  12. Spark Structured SQL : NumberFormatException: Zero length BigInteger
  13. python中的turtle如何运行_python中turtle库的简单使用教程
  14. petya勒索病毒解密方法
  15. 比较一下几款常用的SSH工具
  16. Jboot发布啦,如果你做微服务架构,你应该看看。
  17. java 改变图片某个坐标点的颜色,并返回给前台显示
  18. 使用VSCode中遇到的问题
  19. ubuntu22.04 安装优化(主题,软件,换源,插件扩展)
  20. 怎样在服务器上放自己写的网页

热门文章

  1. QQ自由幻想刺客加点
  2. 字符串的基本使用规则、推导式和常用的几种模块的应用(代码及简单解释)
  3. 1024程序员节,160元买400元图书专属优惠券,速来
  4. Python数据解析笔记+实战
  5. 【学习笔记】Android Fragments
  6. win10删除多余账户_Win10系统如何删除账户?Win10系统删除账户的方法
  7. ASP.NET2005各类教程实例1[视频下载]
  8. 24、将Div中的所有元素保存为图片 Html2Canvas
  9. 共阳极八段数码管 c语言显示,八段数码管的编码
  10. 树莓派驱动数码管c 语言,用树莓派驱动八段数码管实现倒计时