




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称 课程名称 单片机课程设计单片机课程设计 设计项目 设计项目 基于单片机自动滴灌控制系统设基于单片机自动滴灌控制系统设 计计 专业班级 专业班级 姓名 学号 姓名 学号 实验时间 实验时间 批阅时间 批阅时间 指导教师 指导教师 成成 绩 绩 2 目目 录录 第一章第一章 绪论绪论 3 3 1 11 1 本设计任务和主要内容本设计任务和主要内容 3 3 第二章第二章 硬件电路设计硬件电路设计 3 3 2 12 1 单片机控制系统原理单片机控制系统原理 3 2 22 2 单片机主机系统电路单片机主机系统电路 4 2 2 1 时钟电路 4 2 2 2 复位电路 5 2 32 3 数据采集处理电路数据采集处理电路 5 2 42 4 LEDLED 显示系统电路显示系统电路 6 2 52 5 超限报警电路超限报警电路 7 第三章第三章 系统的软件设计系统的软件设计 8 8 第四章第四章 总结总结 1414 3 基于单片机的自动滴灌控制系统的设计 第一章 绪论 1 11 1 本设计任务和主要内容本设计任务和主要内容 本论文主要研究基于单片机的自动滴灌控制系统 分别对土壤湿度与灌水 量之间的关系 滴灌控制技术及系统设备的软 硬件各个部分进行了研究 主要内容如下 1 根据滴灌技术的特点 进行节水灌溉控制系统的整体研究与设计 2 土壤湿度变化使用 DHT11 型温湿度传感器采集 再对湿度传感器的输出信号 进行分析 3 数码管显示土壤湿度值 4 使用步进电机控制阀门的开启或关闭 5 当土壤湿度值低于设定的最低值时 系统可自动报警 第二章 硬件电路设计 2 12 1 单片机控制系统原理单片机控制系统原理 本系统的设计方案是基于微控 无线数据接收和传感器测量技术 采用湿度传感器采 集土壤的湿度信息 根据采集的相应数据及农作物生长所需水分的需求量的设置 及时 精确 高效地控制滴灌的水量 系统根据传感器反馈的数据的大小控制滴灌的水量 使农 作物及时的获得所需的水分 控制过程中当滴灌到作物所需的水量时 系统会及时的关闭 水源的流入 这样则避免水资源的浪费 有效的实现节水灌溉的设计要求 4 种植作物的土壤土壤湿度传感 90C51 单片机 数码管显示湿度LED 报警步进电机驱动阀门开启或关闭 图 1 单片机控制系统原理框图 2 22 2 单片机主机系统电路单片机主机系统电路 STC90C51 单片机是 STC 推出的新一代超强抗干扰 高速 低功耗的单片机 指令代码完全 兼容传统 8051 单片机 12 时钟 机器周期和 6 时钟 机器周期可以任意选择 片上集成 1280 字节或 512 字节或 256 字节 RAM 共 3 个 16 位定时器 计数器 其中定时器 0 还可以 当成 2 个 8 位定时器使用 外部中断 4 路 下降沿中断或低电平触发中断 通用异步串行 口 UART 还可用定时器软件实现多个 UART 内部集成 MAX810 专用复位电路 当时钟频 率在 6MHz 时 该复位电路是可靠的 当时钟频率在 12MHz 时 勉强可用 在要求不高的情 况下 可在复位脚外接电阻电容复位 图 2 单片机主机系统图 5 2 2 12 2 1 时钟电路时钟电路 单片机的时钟信号用来提供单片机片内各种微操作的时间基准 时钟信号通常用两种 电路形式得到 内部振荡和外部振荡 MCS 51 单片机内部有一个用于构成振荡器的高增益 反向放大器 引脚 XTALl 和 XTAL2 分别是此放大电器的输入端和输出端 由于采用内部方 式时 电路简单 所得的时钟信号比较稳定 实际使用中常采用这种方式 如图 2 所示在 其外接晶体振荡器 简称晶振 或陶瓷谐振器就构成了内部振荡方式 片内高增益反向放大 器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时 钟脉冲 图 3 中外接晶体以及电容 C2 和 C1 构成并联谐振电路 它们起稳定振荡频率 快 速起振的作用 其值均为 30P 左右 晶振频率选 6MHz 2 2 22 2 2 复位电路复位电路 为了初始化单片机内部的某些特殊功能寄存器 必须采用复位的方式 复位后可使 CPU 及系统各部件处于确定的初始状态 并从初始状态开始正常工作 单片机的复位是靠 外电路来实现的 在正常运行情况下 只要 RST 引脚上出现两个机器周期时间以上的高电 平 即可引起系统复位 但如果 RST 引脚上持续为高电平 单片机就处于循环复位状态 复位后系统将输入 输出 1 0 端口寄存器置为 FFH 堆栈指针 SP 置为 07H SBUF 内置为不 定值 其余的寄存器全部清 0 内部 RAM 的状态不受复位的影响 在系统上电时 RAM 的内 容是不定的 复位操作有两种情况 即上电复位和手动 开关 复位 本系统采用上电复位 方式 图 2 中 R9 和 Cl 组成上电复位电路 其值 R 取为 1KQ C 取为 1pF 2 32 3 数据采集电路 数字温湿度传感器数据采集电路 数字温湿度传感器 DHT11DHT11 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器 它应 用专用的数字模块采集技术和温湿度传感技术 确保产品具有极高的可靠性与卓越的长期 稳定性 传感器包括一个电阻式感湿元件和一个 NTC 测温元件 并与一个高性能 8 位单片 机相连接 因此该产品具有品质卓越 超快响应 抗干扰能力强 性价比极高等优点 每 个 DHT11 传感器都在极为精确的湿度校验室中进行校准 校准系数以程序的形式储存在 OTP 内存中 传感器内部在检测信号的处理过程中要调用这些校准系数 单线制串行接口 使系统集成变得简易快捷 超小的体积 极低的功耗 信号传输距离可达 20 米以上 使其 成为各类应用甚至最为苛刻的应用场合的最佳选则 产品为 4 针单排引脚封装 连接方便 特殊封装形式可根据用户需求而提供 测量分辨率分别为 8bit 温度 8bit 湿度 6 图 3 2 42 4 LEDLED 显示系统电路显示系统电路 微机化测控系统中常用的测量数据的显示器有发光二极管显示器 简称 LED 或数码管 和液晶显示器 简称 LCD 这两种显示器都具有线路简单 耗电少 成本低 寿命长等优 点 本系统输出结果选用 4 个 LED 显示 数码管有共阴共阳之分 本系统采用 8 段共阴型 LED 其原理图如图 6 所示 每位数码管内部有 8 个发光二极管 公共端由 8 个发光二极管 的阴极并接而成 正常显示时公共端接低电平 GND 各发光二极管是否点亮取决于 a dp 各引脚上是否是高电平 LED 数码管的外形结构如图 6 外部有 10 个引脚 其中 3 8 脚为公共端也称位选端 其余 8 个引脚称为段选端 当要使某一位数码管显示某一数字 0 9 中的一个 必须在这个 数码管的段选端加上与数字显示数字对应的 8 位段选码 也称字形码 在位选端加上低电 平即可 由于系统要显示的内容比较简单 显示量不多 所以选用数码管既方便又经济 LED 有共阴极和共阳极两种 如图 5 所示 二极管的阴极连接在一起 通常此公共阴极接地 而共阳极则将发光二极管的阳极连 接在一起 接入 5V 的电压 一位显示器由 8 个发光二极管组成 其中 7 个发光二极管构 成字型 8 的各个笔划 段 a g 另一个小数点为 dp 发光二极管 当在某段发光二极 管施加一定的正向电压时 该段笔划即亮 不加电压则暗 为了保护各段 LED 不被损坏 需外加限流电阻 7 符号和引脚 共阴极 共阳极 图 5 LED 数码管结构原理图 数码管显示器有两种工作方式 即静态显示方式和动态扫描显示方式 为节省端口及 降低功耗 本系统采用动态扫描显示方式 动态扫描显示方式需要解决多位 LED 数码管的 段控 和 位控 问题 本电路的通过 P1 口实现 而每一位的公共端 即 LED 数码管的 位控 则由 P3 口控制 这种连接方式由于多位字段线连在一起 因此 要想显示不同 的内容 必然要采取轮流显示的方式 即在某一瞬间 只让其中的某一位的字位线处于选 通状态 其它各位的字位线处于断开状态 同时字段线上输出这一位相应要显示字符的字 段码 在这一瞬时 只有这一位在显示 其他几位则暗 在本系统中 字位线的选通与否 是通过 PNP 三极管的导通与截止来控制 即三极管处于 开头 状态 2 52 5 超限报警电路超限报警电路 为了在某些紧急状态或反常状态下 能使操作人员不致忽视 以便及时处理 往往需 要有某种更能引起人们注意提起警觉的报警信号产生 这种报警信号通常有三种类型 闪光 报警 鸣音报警 语音报警 本系统采用简单易行的 LED 发光报警电路 如图 6 所示报警电路 报警设备选用 LED 发光二极管 图中接入的发光二极管 LED 为超高限与超低限报警器 在湿度低于最低湿度或高于最高湿度时 二极管发光报警 报 警设备选用 LED 发光二极管 图中发光二极管的一端接在高电平 5V 另一端分别接 P2 6 与 P2 7 当 P2 6 P2 7 端输出为低电平 0 时 二极管导通 灯亮发出报警信号 8 图 6 报警电路 第三章第三章系统的软件设计系统的软件设计 include include typedef unsigned char U8 无符号 8 位整型变量 typedef signed char S8 有符号 8 位整型变量 typedef unsigned int U16 无符号 16 位整型变量 typedef signed int S16 有符号 16 位整型变量 typedef unsigned long U32 无符号 32 位整型变量 typedef signed long S32 有符号 32 位整型变量 typedef float F32 单精度浮点数 32 位长度 typedef double F64 双精度浮点数 64 位长度 define uchar unsigned char define uint unsigned int define Data 0 time 4 sbit P2 0 P2 0 U8 U8FLAG U8 U8count U8temp U8 U8T data H U8T data L U8RH data H U8RH data L U8checkdata U8 U8T data H temp U8T data L temp U8RH data H temp U8RH data L temp U8checkdata t emp U8 U8comdata 9 U8 outdata 5 定义发送的字节数 U8 indata 5 U8 count count r 0 U8 str 5 0 0 0 0 0 U16 U16temp1 U16temp2 uchar LedOut 4 此表为 LED 的字模 共阴数码管 0 9 unsigned char code Disp Tab 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x40 段码控制 此表为 8 个数码管位选控制 共阴数码管 1 8 个 unsigned char code FFW 8 0 xf1 0 xf3 0 xf2 0 xf6 0 xf4 0 xfc 0 xf8 0 xf9 反转 unsigned char code FFZ 8 0 xf9 0 xf8 0 xfc 0 xf4 0 xf6 0 xf2 0 xf3 0 xf1 正转 uint K sbit LS138A P2 2 定义 138 译码器的输入 A 脚由 P2 2 控制 sbit LS138B P2 3 定义 138 译码器的输入脚 B 由 P2 3 控制 sbit LS138C P2 4 定义 138 译码器的输入脚 C 由 P2 4 控制 Motor sbit F1 P1 0 sbit F2 P1 1 sbit F3 P1 2 sbit F4 P1 3 sbit led1 P2 7 sbit led2 P2 6 void Delay U16 j U8 i for j 0 j for i 0 i 27 i void Delay 10us void U8 i i i i i i i 10 步进电机驱动 void motor ffw unsigned char i unsigned int j for j 0 j 12 j 转 1 n 圈 for i 0 i 8 i 一个周期转 30 度 if K 1 P1 FFW i 取数据 if K 2 P1 FFZ i Delay 10 调节转速 速度太快会使电机只震动不转动 void COM void U8 i for i 0 i 8 i U8FLAG 2 while P2 0 Delay 10us Delay 10us Delay 10us U8temp 0 if P2 0 U8temp 1 U8FLAG 2 while P2 0 超时则跳出 for 循环 if U8FLAG 1 break 判断数据位是 0 还是 1 如果高电平高过预定 0 高电平值则数据位为 1 U8comdata 1 U8comdata U8temp 0 rof 11 湿度读取子程序 以下变量均为全局变量 温度高 8 位 U8T data H 温度低 8 位 U8T data L 湿度高 8 位 U8RH data H 湿度低 8 位 U8RH data L 校验 8 位 U8checkdata 调用相关子程序如下 Delay Delay 10us COM void RH void 主机拉低 18ms P2 0 0 Delay 80 P2 0 1 总线由上拉电阻拉高 主机延时 20us Delay 10us Delay 10us Delay 10us Delay 10us 主机设为输入 判断从机响应信号 P2 0 1 判断从机是否有低电平响应信号 如不响应则跳出 响应则向下运行 if P2 0 T U8FLAG 2 判断从机是否发出 80us 的低电平响应信号是否结束 while P2 0 U8FLAG 2 判断从机是否发出 80us 的高电平 如发出则进入数据接收状态 while P2 0 数据接收状态 COM U8RH data H temp U8comdata COM U8RH data L temp U8comdata COM U8T data H temp U8comdata COM 12 U8T data L temp U8comdata COM U8checkdata temp U8comdata P2 0 1 数据校验 U8temp U8T data H temp U8T data L temp U8RH data H temp U8RH data L temp if U8temp U8checkdata temp U8RH data H U8RH data H temp U8RH data L U8RH data L temp U8T data H U8T data H temp U8T data L U8T data L temp U8checkdata U8checkdata temp fi fi void xianshi uchar a uchar i LedOut 0 Disp Tab a 1000 LedOut 2 Disp Tab a 100 LedOut 1 Disp Tab a 100 10 LedOut 0 Disp Tab a 10 for i 0 i 3 i 实现 4 位动态扫描循环 P0 LedOut i 将字模送到 P0 口显示 Delay 2 switch i 使用 switch 语句控制位选 也可以是用查表的方式 学员可以试着自 己修改 case 0 LS138A 0 LS138B 0 LS138C 0 break case 1 LS138A 1 LS138B 0 LS138C 0 break case 2 LS138A 0 LS138B 1 LS138C 0 break Delay 10 void time0 init 计数器初始化函数 13 TMOD 0 x01 计数器 0 工作在方式模式 1 TH0 65536 800 256 晶振是 11 0592 产生 PCA 时钟为 1 3824M TL0 65536 800 256 TH0 65536 6556 256 晶振是 11 0592 产生 PCA 时钟为 1 382
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025苏州工业园区租房合同范本
- 2025湖南科技学院招聘44人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年福建省福州市长乐区行政服务中心管理委员会招聘2人考前自测高频考点模拟试题及参考答案详解
- 2025湖南科技学院公开招聘44人模拟试卷及答案详解(历年真题)
- 2025江西抚州市城市建设集团有限公司拟聘用人员(人才引培)考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025关于企业劳动合同模板
- 2025企业如何审签订采购合同
- 2025船舶维护合同
- 2025年度上半年河北唐山市消防救援支队政府专职消防队员招聘113人考前自测高频考点模拟试题及答案详解(全优)
- 2025广西壮族自治区南宁生态环境监测中心招聘1人模拟试卷及参考答案详解
- 公司管理层奖惩管理制度
- 小学竹编教学课件
- 2025至2030年中国汽车轮胎压力监测系统(TPMS)行业市场运行态势及发展前景研究报告
- 2025年核电池项目分析及研究报告
- CJ/T 480-2015高密度聚乙烯外护管聚氨酯发泡预制直埋保温复合塑料管
- CJ/T 197-2010燃气用具连接用不锈钢波纹软管
- 食品加工项目商业计划书范文模板
- 儿科试题及答案泌尿感染
- 兰新线N857次旅客列车神突重大事故30课件
- 肥胖症诊疗指南(2024年版)解读
- 拼箱货海运出口流程操作指南
评论
0/150
提交评论