ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:1,017.51KB ,
资源ID:16611607      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16611607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AT89C51单片机的蔬菜大棚温度控制系统设计.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于AT89C51单片机的蔬菜大棚温度控制系统设计.docx

1、基于AT89C51单片机的蔬菜大棚温度控制系统设计摘要:3关键词: 4引言 : 5 1系. 统方案选择和论证 6 1.1任 务 6 1.2任 务要求 6 1.3系 统基本方案 6 1.3.1各 模块电路的方案选择及论证 61.3.2系统各模块的最终方案 92. 系统硬件设计 10 2.1单 片机型号选择 . 10 2.2单 片机最小系统电路设计 13 2.3温度采集部分设计 15 2.4按 键电路设计 24 2.3数码管显示电路设计 . 25 2.4温 度控制电路设计 . 29 2.5 报警电路设计 292.6 电源输入部分 303. 系统软件设计 32 3.1读 取 DS18B20温度模块子

2、程序 33 3.2数 据处理子程序 . 34 3.3键 盘扫描子程序 . 35 3.4主 程序流程图 36致谢 39参考文献 39附录 A : 本设计整体电路图 . 40附录 B : 程序清单 41摘要:本设计以 AT89C51 单片机为核心的温度控制系统的工作原理和设计方法。 温 度信 号由温度芯片 DS18B20采集, 并以数字信号的方式传送给单片机。 文中介绍 了该 控制系统的硬件部分 ,包括 :温度检测电路、温度控制电路、温度显示电路。单 片机通过对信号进行相应处理 , 从而实现温度控制的目的。 文中还着重介绍了软 件 设计部分 ,在这里采用模块化结构 ,主要模块有 :数码管显示程序、

3、键盘扫描 及按键 处理程序、温度信号处理程序、继电器控制程序、超温报警程序。通过对基于单片机的相对温度控制器设计 ,加深对传感器技术及检测技术的了 解 ,巩固对单片机知识的掌握 ,并系统的复习本专业所学过的知识。关键词:AT89C51 单片机 DS18B20温度检测芯片 温度控制Abstract :This design as the core of the AT89C51 temperature control system of the working principle and design method. Temperature signal chipDS18B20collection

4、 by the temperature, and the way to digital signal transfer to the microcontroller. The paper introduces the hardware part of the control system, including: temperature detection circuit, temperature control circuit, temperature display circuit. SCM through to signal processed, so as to achieve the

5、purpose of temperature control. This paper has mainly introduced the software design part, here the modularized structure, main module has: digital tube show program, keyboard scanning and key processing program, temperature signal processing program, relay control procedures, super temperature alar

6、ming program.Through to the relative temperature controller based on single chip design, deepen our understanding of the sensor technology and testing technology of understanding, consolidate the SCM grasp the knowledge and the system review this professional the learned knowledge.Keywords: AT89C51

7、single-chip microcomputer temperature detection chipDS18B20temperature control基于 AT89C51 单片机的蔬菜大棚温度控制系统设计09 级 机电一体化 田志营指导老师:马力 崔茂齐引言:蔬菜的生长与温度息息相关 , 对于蔬菜大棚来说 , 最重要的一个管理因素是温度 控制。 温度太低 , 蔬菜就会被冻死或则停止生长 , 所以要将温度始终控制在适合 蔬 菜生长的范围内。如果仅靠人工控制既费时费力 , 效率低,又容易发生差错 , 为此, 在 现代化的蔬菜大棚管理中通常有温度自动控制系统 , 来监控采集大棚内 各个角落的

8、温度变化情况 , 以控制蔬菜大棚温度 , 适应生产需要。 要时刻对蔬菜 大棚的温度进 行测量 ,就离不开温度传感器。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良 而影响正常工作。控制领域还大量采用传统的 PID 控制方式 , 但 PID 控制对象的 模型难以建立 , 并且当扰动因素不明确时 , 参数调整不便仍是普遍存在的问题。 而 采用数字温度传感器 DS18B20,因其内部集成了 A/D 转换器 ,使得电路结构更加 简 单, 而且减少了温度测量转换时的精度损失 , 使得测量温度更加精确。 数字温 度传 感器 DS18B20只用一个引脚即可与单片机进行通信 ,大大减

9、少了接线的麻 烦, 使得 单片机更加具有扩展性。 由于 DS18B20芯片的小型化 , 更加可以通过单 跳数据线 就可以和主电路连接 , 故可以把数字温度传感器 DS18B20做成探头 , 探 入到狭小的 地方,增加了实用性。1.系统方案选择和论证1.1任务设计一个大棚温度自动控制系统。 系统温度可以在一定范围内由人工设定 , 并 能 在环境温度降低时实现自动通风降温 , 在环境温度升高时实现自动加温 , 以保持 设定的温度基本不变。1.2任务要求设计基于 AT89C51 单片机的大棚温度温度控制器 , 用于控制温度。 具体要求 如下 :大棚温度控制在 15 -28之间。控制 10 台 50K

10、W 三相电阻炉为加热设备。采用 5台单相 100W 通风机作为通风散热设备易于操作 ,方便人机对话。1.3系统基本方案根据题目要求系统模块分可以划分为 :键盘模块, 温度测量模块 , 显示电路模块 , 升温降温模块 , 报警模块。 为实现各模块的功能 , 分别做了几种不同的设计方案 并 进行了论证。1.3.1各模块电路的方案选择及论证(一键盘模块方案一:采用 4*4 矩阵型按键在键盘中按键数量较多时 , 为了减少 I/O口的占用 , 通常将按键排列成矩阵形 式。 矩阵按键对应独立按键 , 可以节约数据线 , 但需要特定的键盘扫描程序 , 占用空 间较大。通常在按键大于 6 个的时候是用矩阵式按

11、键。采用独立按键 ,接线简单,易于理解 ,不需要特定的键盘扫描程序 ,占用空间比 较 少。在本设计中用到了 5个按键 ,所以选用独立按键比较合适。(二温度测量模块方案一 :利用热电阻传感器作为感温元件 , 热电阻随温度变化而变化 , 用仪表测量出热电 阻的阻值变化 , 从而得到与电阻值相应的温度值。 最常用的是铂电阻传感器 , 铂 电 阻在氧化介质中 , 甚至在高温的条件下其物理 , 化学性质不变。 由铂电阻阻值 的变 化经小信号变送器 XTR101 将铂电阻随温度变化的转换为 420mA 线形变化 电路, 再将电流信号转化为电压信号 , 送到 A/D转换器, 即将模拟信号转换为数 字信号。

12、电路结构复杂 ,误差较大。采用数字温度传感器 DS18B20。 DS18B20 为数字式温度传感器 ,无需其他外加 电 路, 直接输出数字量。 可直接与单片机通信 , 读取测温数据 , 电路简单。 DS18B20 的测温范围 -55 125, 分辨率最大可达 0.0625 。 DS18B20 是 Dallas 半导 体公司的数字化温度传感器 ,它是一种支持 “一线总线”接口的温度传感 器。 一线总线独特而且经济的特点 , 使用户可轻松地组建传感器网络 , 为测量系统 的 构建引入全新概念。 一线总线将独特的电源和信号复合在一起 , 并仅使用一条线 每个芯片都有唯一的编码 , 支持联网寻址 ,

13、简单的网络化的温度感知 , 零功耗等 待等 特点。DS18B20与传统的热敏电阻相比 , 他能够直接读出被测温度并且可根据实际要 求 通过简单的编程实现 912位的数字值读数方式。 并且从 DS18B20 读出的信息 或 写入 DS18B20的信息仅需要一根口线 (单线接口读写 , 因而使用 DS18B20可使 系统结构更趋简单 ,可靠性更高。他在测温精度、转换时间、传输距离、分辨率 等方面带来了令人满意的效果。所以比设计中选用 DS18B20温度传感器 ,节省了 A/D 转换器 ,同时也节省了 I/O 输出口 ,误差小,测量准确。(三显示电路模块使用静态显示 ,此方法不用另加外界驱动直接与单

14、片机输出口相连 ,不需 要单独 的程序来完成显示。但是占用 I/O 借口多。使用动态显示 ,节省了 I/O 输出口,但是此方法需加外加外部驱动以此增 加输出 电流来更好的驱动数码管显示 , 电路简单, 成本稍高 , 需要特定的编程来 完成动态刷 新。本设计中使用的是动态显示 , 因为没有太多的输出口来完成静态显示 , 故选动态 显示。(四升温降温模块根据题目 , 可以使用电热炉进行加热 , 控制电热炉的功率即可以控制加热的速 度。 当温度过高时 , 关掉电热炉打开通风机进行降温处理。 当需要加热时开启电炉 关 闭通风机。 由于电热炉和通风机的功率较大 , 考虑到简化电路的设计 , 我们直接 采

15、用 220V 电源。对升温降温模块有以下两种方案 :采用继电器控制。 使用继电器可以很容易实现地通过较高的电压和电流 , 在正 常 条件下 , 工作十分可靠。继电器无需外加光耦 ,自身即可实现电气隔离。这种电 路 无法精确实现电热丝功率控制 , 电热丝只能工作在最大功率或零功率 , 对控制 精度 将造成影响。应用了光耦合器 , 光耦合器一般由三部分组成 :光的发射、 光的接收及信号放 大。 输入的电信号驱动发光二极管 (LED ,使之发出一定波长的光 ,被光探测器接 收 而产生光电流 , 再经过进一步放大后输出。 这就完成了电 光 电的转换 , 从 而起 到输入、输出、隔离的作用。由于光耦合器

16、输入输出间互相隔离 ,电信号传 输具有单向性等特点 , 因而具有良好的电绝缘能力和抗干扰能力。 又由于光耦合 器的输入 端属于电流型工作的低阻元件 ,因而具有很强的共模抑制能力。所以 , 它在长线传输 信息中作为终端隔离元件可以大大提高信噪比。 在计算机数字通信 及实时控制中 作为信号隔离的接口器件 , 可以大大增加计算机工作的可靠性。 所 以选择光耦合器 更安全控制更准确。通过比较 ,我们选择方案二。(五报警模块按照设计要求 , 当温度低于下限或高于上限时 , 应具有报警功能。 这样就可以 用 一只蜂鸣器作为三极管 VT1 的集电极负载 , 当 VT1 导通时 , 蜂鸣器发出鸣叫声 ; VT

17、1 截止时 ,蜂鸣器不发声。1.3.2系统各模块的最终方案根据以上分析 ,结合器件和设备等因素 ,确定如下方案 :1. 采用 AT89C51 单片机作为控制器 , 分别对温度采集、 数码管显示、 温度设 定、 升温降温控制。2.温度测量模块采用数字温度传感器 DS18B20。此器件经软件设置可以实现 高 分辨率测量。3.电热炉和通风机控制采用光耦合器控制。4.显示用数码管显示实时温度值。系统的基本框图如图 1.1 所示CPU (AT89C51 首先写入命令给 DS18B20,然后 DS18B20 开始转换数据 ,转换后 通过 AT89C51 来处理数据。 数据处理后的结果就显示到数码管上。 另

18、外由键盘设 定温度值送到单片机 ,单片机通过数据处理发出温度控制信息到继电器。 2. 系统硬 件设计2.1 单片机型号选择单片机型号的选择是根据设计的内容而定的 , 并不是什么单片机都可以用。 一 方 面要考虑选用的单片机能否在不需要外扩的情况下就可以满足要实现的功能。 比 如 : 单片机的存储器空间的大小、单片机的 I/O 口数等。另一方面还要考虑单 片 机的性价比 ,是否容易买到等一些外部因素。由于实现该系统功能的程序不会超过 4K,而 AT89C51 单片机内部有 4K 的 FlASH 程序存储器和 2K 的数据存储器 , 因而不需要外扩程序存储器和数据存储 器。并且该型号单片机程序下载

19、方便、价格便宜的优点 ,因而被广泛的应用。 AT89C51 单片机引脚排列及功能见图 2-3 所示。由图可知该单片机共有 40个引脚 ,按其功能类别将他们分为三类 :1. 电源和时钟引脚。如 Vcc 、 GND 、 XTAL1 、 XTAL2 。2. 编程控制引脚。如 RST、 PSEN 、 ALE 、 EA/Vpp 。3.I/O 口引脚。如 P0、 P1、 P2、 P3, 4 组 8 位 I/O 口。管脚说明:VCC :供电电压GND :接地。P0口:P0口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部

20、程序数据存储器 , 它 可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口 , 当 FIASH 进行校验时 , P0输出原码 ,此时 P0 外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的 8位双向 I/O 口, P1口缓冲器能接收输 出 4TTL 门电流。 P1口管脚写入 1后,被内部上拉为高 ,可用作输入 , P1口被外 部下 拉为低电平时 , 将输出电流 , 这是由于内部上拉的缘故。 在 FLASH 编程和校 验时, P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的 8位双向 I/O 口, P2口缓冲器可接收 ,输出 4 个 TTL 门电

21、流,当 P2口被写“ 1时”,其管脚被内部上拉电阻拉高 ,且作为输 入。并因 此作为输入时 , P2口的管脚被外部拉低 ,将输出电流。这是由于内部 上拉的缘故。P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取 时, P2口输出地 址的高八位。在给出地址“ 1时”,它利用内部上拉优势 ,当对外部八位地址数据存储 器进行读写时 , P2口输出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时 接收高八位地址信号和控制信号。P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL 门 电流。当 P3口写入“ 1后”, 它们被内部上拉为高电平 , 并用

22、作输入。作为输入 , 由 于外部下拉为低电平 , P3口将输出电流(ILL 这是由于上拉的缘故。P3口也可作为 AT89C51 的一些特殊功能口 ,如下所示:P3.0 RXD(串行输入口P3.1 TXD(串行输出口P3.2 /INT0(外部中断 0P3.3 /INT1(外部中断 1P3.4 T0(记时器 0外部输入P3.5 T1(记时器 1外部输入P3.6 /WR(外部数据存储器写选通P3.7 /RD(外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST :复位输入。当振荡器复位器件时 ,要保持 RST 脚两个机器周期的高电平 时间。ALE/PROG:当访问外部存储器时

23、, 地址锁存允许的输出电平用于锁存地址的 地 位字节。在 FLASH 编程期间 ,此引脚用于输入编程脉冲。在平时 , ALE 端以不变的 频率周期输出正脉冲信号 ,此频率为振荡器频率的 1/6。因此它可用作对外 部输出 的脉冲或用于定时目的。然而要注意的是 :每当用作外部数据存储器时 , 将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执 行 MOVX , MOVC 指令是 ALE 才起作用。另外 , 该引脚被略微拉高。如果 微处理 器在外部执行状态 ALE 禁止 ,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取

24、指期间 ,每个 机器 周期两次 /PSEN有效。但在访问外部数据存储器时 ,这两次有效的 /PSEN 信 号将不 出现。/EA/VPP:当 /EA保持低电平时 , 则在此期间外部程序存储器 (0000H-FFFFH , 不 管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为 RESET ;当 /EA 端保持高电平时 ,此间内部程序存储器。在 FLASH 编程期间 ,此引脚也用于 施加 12V 编程电源 (VPP 。XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2: 来自反向振荡器的输出。2.2单片机最小系统电路设计单片机最小系统就是保证单片机能够正常工作的最

25、基本的硬件电路。 主要包 括时 钟电路、复位电路。单片机工作的时间基准是有时钟电路提供的。在单片机的 XTAL1 和 XTAL2管 脚,按图 2-4 所示接上晶振和电容就够成了单片机的时钟电路图中电容 C2、 C3对晶振频率有微调的作用 ,通常的取值范围为 (30+10pf。 石 英晶体选择 12MHz, 选择不同的石英晶体 ,其结果只是机器周期不同。单片机的复位方式有上电复位和手动复位两种。 本设计系统采用上电自动复 位和 手动复位组合电路 ,如图 2-5 所示复位电路。图 2-4 时钟电路图 2-5 复位电路图中可以看到单片机的 RST 引脚连接 R1(10K 、 C1(10uf ,按键

26、S2 可以选择专 用的复位按键 ,也可以选择轻触开关。只要 Vcc 上升时间不超过 1ms, 他们都能很好 的工作 。2.3温度采集部分设计本系统采用采用了 DS18B20单总线可编程温度传感器 , 来实现对温度的采集 和转 换,与单片机 P2.6口相连 ,直接与单片机通讯 ,大大简化了电路的复杂度。 DS18B20是美国 DALLAS 半导体公司推出的第一片支持 “一线总线 ”接口的温 度传 感器 ,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优 点,可直接将温度转化成串行数字信号供处理器处理。1.DS18B20 温度传感器特性1适应电压范围宽 , 电压范围在 3.0-5.5V

27、 , 再寄生电源方式下可有数据线供 电。 独特的单线接口方式 ,它与微处理器连接时仅需一条口线即可实现微处理器 与 DS18B20 的双向通信。3支持多点组网功能 ,多个 DS18B20 可以并联在唯一的三线上 ,实现组网多点 测温。4在使用中不需要任何外围元件 , 全部传感器元件及转换电路集成在形如一只 三极管的集成电路内。5测温范围 -55 -+125 ,在 -10 -+85时精度为 +0.5。6可编程分辨率为 9-12位 ,对应的可分辨率温度为 0.5 ,0.25 ,0.125和 0.0625,可实现高精度测温。7在 9位分辨率时 ,最多在 93.75ms 内把温度转换为数字 ; 12位

28、分辨率时 ,最 多 在 750ms 内把温度值转换为数字 ,显然速度更快。8测量结果直接输出数字温度信号 ,以“一线总线 ”串行传给 CPU ,同时可传 送 CRC 校验码 ,具有极强的抗干扰纠错能力。9负压特性。电源极性接反时 , 芯片不会因为发热而烧毁 ,但不能正常工作。 2. 应用范围 冷冻库、粮仓、储罐、电信机房、电力机房、电缆线槽等测温和控制领 域。 轴瓦、缸体、纺机、空调等狭小空间工业设备测温和控制。3汽车空调、冰箱、冷柜以及中低温干燥箱等。4供热、制冷管道热量计量、中央空调分户热量计量等。3.引脚介绍DS18B20 有两种封装 :三脚 TO-92直插式和八脚 SOIC 贴片式,

29、封装引脚见图 2-10 所示。列出了引脚定义图 2-10 DS18B20 引脚封装图DS18B20 引脚定义如下 :(1 DQ 为数字信号输入 /输出端;(2 GND 为电源地 ;(3 VDD 为外接供电电源输入端 (在寄生电源接线方式时接地。4.总线连接我们首先来了解 “单总线 ”的概念。 目前常用的单片机与外设之间进行数据传 输 的串行总线主要有 I2C 总线以同步串行二线方式进行通信 ( 一条时钟线 , 一条数 据线, SPI 总线则以同步串行三线方式进行通信 (一条时钟线 ,一条数据输入 线, 一条 数据输出线 , 而 SCI 总线是以异步方式进行通信的 (一条数据输入线 , 一条数据

30、输出 线。这些总线至少需要两条或两条以上的信号线 ,而 DS18B20 使用的单总线技术与 上述总线不同, 它采用单条信号线 , 即可传输时钟 , 又可传 输数据, 而且数据传输是 双向的, 因而这只中单总线技术具有线路简单 , 硬件开 销少,成本低廉,便于总线扩展 和维护等优点。单总线实用与单主机系统 ,能够 控制一个或多个从机设备。主机可以是微控制器 , 从机可以是单总线器件 , 他们之间的数据交换只通过一条 信号线。当只有一个从机设备时 ,系统可按单节点系统操作 ;当有从机设备时 , 系统 则按多节点系统操作。 设备 (主机或从机 通过一个漏极开路或三态端口连 至该数 据线,以允许设备在

31、不发送数据时能够释放出总线 , 而让其他设备使用总线。 单总线要求外接一个约 为 4.7k 的上拉电阻。本设计系统的温度采集电路图如图 2-12 所示。有图可以看出 , DS18B20和单片机的连接非常简单 ,单片机只需要一个 I/O 口就 可以控制 DS18B20。这个图的接法是单片机于一个 DS18B20 通信,如果要控制多 个 DS18B20进行温度采集 , 只要将所有的 DS18B20的 I/O 口全部连在一起就可以 了。 在具体操作时 , 通过读取每个 DS18B20内部芯片的序列号来识别。 本系统仅 操作一个 DS18B20 进行温度采集。5.工作原理硬件电路连接好后 , 单片机需

32、要怎样工作才能将 DS18B20中的温度数据读取出 来 呢 ?下面将给出详细的分析。首先我们来看控制 DS18B20的指令 :133H读 ROM 。读 DS18B20温度传感器 ROM 中的编码 (即 64位地址。 55H匹配 ROM 。发出此命令之后 ,接着发出 64位 ROM 编码,访问单总线上 与改 编码对应的 DS18B20 并使之做出响应 ,为下一步对该 DS18B20 的读 /写做准 备。3F0H搜索 ROM 。用于确定挂接在同一总线上的 DS18B20的个数 ,识别 64 位 ROM 地址 ,为操作各器件做好准备。4CCH跳过 ROM 。忽略 64位 ROM 地址,直接向 18B20发送温度变换命令 , 适 用

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2