基于AT89C51单片机的智能浇花系统设计

这篇具有很好参考价值的文章主要介绍了基于AT89C51单片机的智能浇花系统设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目 录
摘 要 I
ABSTRACT I
1 绪论 1
1.1 课题背景和意义 1
1.1.1选题背景 1
1.1.2研究意义 1
1.2 国内外发展现状及趋势 2
1.3研究主要内容 3
2 总体设计方案 5
2.1 浇灌系统设计的需求 5
2.2 总体设计方案选定 5
3 系统硬件设计 6
3.1 LCD1602显示接口线路 6
3.2 ADC0832简介 6
3.3 湿度传感器介绍 7
3.4 报警器模块 7
3.5 按键模块 8
4 软件设计 9
4.1 主程序模块 9
4.2 湿度传感器模块 9
4.3 显示模块 10
4.4 报警器模块 11
5 系统测试 13
5.1 硬件调试 13
5.2 硬件测试问题 13
5.3 软件调试 13
5.4 系统的测试 14
6 结论 15
参考文献 16
致 谢 18
附 录 19
附件1 实物图 19
附件2 原理图 20
附件3 PCB图 21
附件4 源代码 22
1.硬件模块包括按键参数设置模块、温湿度采集模块、液晶显示模块、继电控制模块以及报警模块。单片机通过采集 DHT11 温湿度传感器信息,完成室内环境信息的采集与处理,同时土壤湿度传感器采集的信息经过 AD 转换后传人单片机,并经过单片机分析处理后通过 LCD1602 进行显示。参数设置模块能够完成系统参数的设置,通过按键输入实现土壤湿度值上下限设置,单片机能够根据相应参数设置以及土壤湿度信息,及时控制继电装置工作,从而有效控制相关执行机构。
2.系统软件程序设计主要实现对环境温湿度信息以及土壤 湿度信息的采集与处理,并通过 LCD1602 进行显示,同时通 过控制单片机的相应引脚状态实现对继电器的控制以及声光报警的功能。软件程序设计主要包括系统主程序,液晶显示子程序,土壤湿度检测子程序等。
2 总体设计方案
2.1 浇灌系统设计的需求
此次设计是为了方便人们在繁忙的时候也能对盆栽、花圃进行浇灌,要求土壤的湿度、温度以数值的形式显示在LED屏上。具备报警功能,在检测到需要浇水的时候能报警提醒,并把该时刻的温度、湿度显示在LED屏上。需要浇灌的条件可以由人自己修改确定,通过按键调试,达到用户的浇灌需求。能达到抽水浇灌的功能,在湿度传感器(yl-69)检测到湿度,报警系统提醒以后,能抽水浇灌。 本文转载自http://www.biyezuopin.vip/onews.asp?id=13982按键能够调节浇灌的湿度、温度额定值,并且显示在LED屏上。
2.2 总体设计方案选定
本次设计采用的是STC89C51单片机,利用单片机编程灵活的特性实现了设计要达到的喷灌功能。在单片机的外围电路外接输入键盘用于设定喷灌的湿度值、温度值和一些功能的控制,外接LCD1602显示器用于显示湿度和温度。其原理如下图2-2所示。
基于AT89C51单片机的智能浇花系统设计

图2-2 单片机控制原理图

#include <reg52.h>	         
#define uchar unsigned char  //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535

#include <intrins.h>

sbit SCL=P1^4//SCL定义为P1口的第3位脚,连接ADC0832SCL脚
sbit DO=P1^5//DO定义为P1口的第4位脚,连接ADC0832DO脚
sbit CS=P1^3//CS定义为P1口的第4位脚,连接ADC0832CS脚

sbit beep = P3^3//蜂鸣器IO口定义
uint temperature,s_temp ;  //温度的变量
uchar shidu;     //湿度等级
uchar s_high = 70,s_low = 25//湿度报警参数

sbit dianji = P1^6//电机IO定义

bit flag_300ms ;
uchar key_can;		 //按键值的变量
uchar menu_1;        //菜单设计的变量

#define RdCommand 0x01 //定义ISP的操作命令
#define PrgCommand 0x02
#define EraseCommand 0x03 
#define Error 1
#define Ok 0
#define WaitTime 0x01 //定义CPU的等待时间
sfr ISP_DATA=0xe2//寄存器申明
sfr ISP_ADDRH=0xe3;
sfr ISP_ADDRL=0xe4;
sfr ISP_CMD=0xe5;
sfr ISP_TRIG=0xe6;
sfr ISP_CONTR=0xe7;
uchar a_a;

//这三个引脚参考资料
sbit rs=P1^0//1602数据/命令选择引脚 H:数据      	L:命令
sbit rw=P1^1//1602读写引脚	         H:数据寄存器  	L:指令寄存器
sbit e =P1^2//1602使能引脚          下降沿触发
uchar code table_num[]="0123456789abcdefg"/********************************************************************
* 名称 : delay_uint()
* 功能 : 小延时。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void delay_uint(uint q)
{
	while(q--)}

/********************************************************************
* 名称 : write_com(uchar com)
* 功能 : 1602命令函数
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
void write_com(uchar com)
{
	e=0;
	rs=0;
	rw=0;
	P0=com;
	delay_uint(3);
	e=1delay_uint(25);
	e=0}

基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计
基于AT89C51单片机的智能浇花系统设计文章来源地址https://www.toymoban.com/news/detail-445701.html

到了这里,关于基于AT89C51单片机的智能浇花系统设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于AT89C51单片机的温度计设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87773445 源码获取 主要内容: 设计一个简易温度计;要求电路实现如下功能: 设计通过单片机和数码管、led灯等组成,可以显示温度,并且可以显示大于零度的温度和小于零度的温度,还可以超出

    2024年02月05日
    浏览(22)
  • 基于AT89C51单片机的简易计算机设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87715642?spm=1001.2014.3001.5503 源码获取 主要内容: 本设计是以单片机AT89C51为核心的简易计算器设计,要通过芯片AT89C51实现计算器程序运行来完成加、减、乘和除的简单计算功能。 基本要求: 1、采

    2024年02月08日
    浏览(27)
  • 基于AT89C51单片机的电子万年历系统

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87708258 源码获取 主要内容: 电子万年历系统以实时时钟芯片DS1302和AT89C52单片机为主要研究对象,着重进行51单片机控制系统的设计研究和如何读取DS1302内部时钟信息的研究。以及运用18B20进行实

    2024年02月09日
    浏览(27)
  • 基于AT89C51单片机的电子秒表设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87775018添加链接描述 源码获取 主要内容: 设计一个电子秒表,至少具有以下功能:开始/暂停、记录、复位等。设计方案主要分为实验的系统分析,具体的设计方案,以及最终的测试,最终完成实

    2024年02月16日
    浏览(27)
  • 基于AT89C51单片机的倒数计时器设计

    1.设计任务 利用AT89C51单片机为核心控制元件,设计一个简易的数字电压表,设计的系统实用性强、操作简单,实现了智能化、数字化。 本设计采用单片机为主控芯片,结合 周边 电路组成 LED 彩灯的 闪烁 控制系统器,用来控制 红色 的LED 闪烁 发光,实现 LED灯在倒计时结束后

    2024年02月03日
    浏览(30)
  • 基于AT89C51单片机的电子时钟设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779867?spm=1001.2014.3001.5503 源码获取 主要内容: 使用DS1302芯片作为计时设备,用6个7段LED数码管或者LCD162作为显示设备,实现时钟功能; 基本要求: (1)可以分别设定小时、分钟和秒,复位后时

    2024年02月06日
    浏览(24)
  • 基于AT89C51单片机的电子琴设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87848430?spm=1001.2014.3001.5503 源码获取 主要内容: 设计一个简易的电子琴,至少具有可以弹奏并发出不同的音调。电子琴方案主要分为实验的系统分析,具体的实施方案,以及最终的实验检验,最终

    2024年02月07日
    浏览(25)
  • 基于AT89C51单片机的计算器设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87759134?spm=1001.2014.3001.5503 源码获取 主要内容: 本次设计所提出的一种基于单片机技术的简易计算器的方案,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它

    2024年02月03日
    浏览(16)
  • 基于AT89C51单片机的交通灯设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87763760?spm=1001.2014.3001.5503 源码获取 主要内容: 设计一个能够控制十二盏交通信号灯的模拟系统,:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。 基本要

    2024年02月08日
    浏览(26)
  • 基于AT89C51单片机的十字路口交通灯设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87849986?spm=1001.2014.3001.5503 源码获取 主要内容: 本项目中采用单片机 AT89C51为中心器件来设计交通信号灯控制器, 系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯

    2024年02月09日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包