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

上传人:tbuqq 文档编号:4590796 上传时间:2019-11-19 格式:PDF 页数:42 大小:555.21KB
返回 下载 相关 举报
基于AT89C51单片机的蔬菜大棚温度控制系统的设计.pdf_第1页
第1页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于AT89C51单片机的蔬菜大棚温度控制系统的设计.pdf》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的蔬菜大棚温度控制系统的设计.pdf(42页珍藏版)》请在三一文库上搜索。

1、目 录 摘 要 . 1 ABSTRACT . 2 第 1 章 绪论 . 3 1.1 课题研究地背景. 3 1.2 课题地研究现状. 3 1.3 本文研究地主要内容和思路. 3 第 2 章 系统方案选择和论证. 4 2.1 任务 . 4 2.2 任务要求 . 4 2.3 系统基本方案. 4 2.3.1 各模块电路地方案选择及论证 4 2.3.2 系统各模块地最终方案 6 第 3 章 系统硬件设计. 7 3.1 单片机型号选择. 7 3.2 单片机最小系统电路设计 11 3.3 温度采集部分设计. 12 3.4 按键电路设计. 13 3.5 数码管显示电路设计. 13 3.6 温度控制电路设计.

2、14 3.7 报警电路设计. 15 第4章 系统软件设计 16 4.1 主程序流程图. 16 4.2 键盘扫描子程序 17 4.3 读取 DS18B20 温度模块子程序 18 4.4 数据处理子程序 18 第 5 章 控制系统地仿真. 20 5.1 编程软件简介 20 5.2 仿真软件Proteus介绍 20 5.3 软件结合调试 21 第 6 章 结论 . 24 参考文献 25 附录:程序清单 27 致 谢 . 39 摘 要 随着大棚技术地发展,温室大棚数量越来越多.对于温室,最重要地因素是大棚内部温 度地管理控制.当温度低于适合蔬菜生长地温度时,蔬菜会停止生长甚至出现冻死地情况, 因此要将

3、温度控制在适合蔬菜生长地范围之内.以前地温室大棚温度控制是通过人工来控制 地,工人依据温度计上测得地温度值来调整温室内地温度.如果仅依靠工人去人工控制,错 误就会经常出现而且生产效率也会大大低下.现在,随着农业现代化地普及,温室大棚数量 质量地日益提高,以前地温度控制方法在操作中出现了很大地局限性.由于这种局限性地存 在,在现在地蔬菜温室大棚中通常都需要有能够自己调节温度高低地设备,以控制温室大 棚内部地温度,满足生产所需地温度条件. 本设计是以AT89C51 单片机为核心进行温度控制系统地设计,设计地主要内容包括对 温度检测电路,温度显示电路,温度控制电路等方面地设计.通过Proteus 仿

4、真结果地显 示,该系统能够模拟出大棚内部地实时温度,并且根据显示温度数据地高低来调整大棚内 部温度达到适合蔬菜生长地温度要求. 关键词: AT89C51 单片机;温室大棚;温度控制 ABSTRACT With the development of greenhouse technology, an increasing number of greenhouse, the greenhouse, the most important factor is management and control of the temperature inside the greenhouse. When th

5、e temperature is lower than the temperature for the growth of vegetables, vegetables will stop growing or even to freeze to death, so to control the temperature within the range for the growth of vegetables. Before the greenhouse temperature control is controlled by manual, the workers according to

6、the temperature of the thermometer measured value to adjust the temperature in the greenhouse. If only rely on the workers to control the artificialerror will often appear, and the production efficiency will be greatly lowered. Now, with the popularization of agricultural modernization, increasing t

7、he quantity and quality of greenhouse, the previous temperature control method in operating the great limitations. Because of the limitations, in now the vegetable greenhouses usually need to adjust the high and low temperature equipment, to control greenhouse inside temperature and meet the conditi

8、ons needed for the production of temperature. The design is based on AT89C51 microcontroller as the core temperature control system design, the design of the main contents include the temperature detection circuit, temperature display circuit, temperature control circuit design. Through the Proteus

9、simulation results show that the system can simulate the real-time temperature inside the greenhouse, and according to the level of temperature data to adjust the temperature inside the greenhouse temperature for the growth of vegetables to meet the requirements. Key words:AT89C51 microcontrolle。 Gr

10、eenhouse。Temperature control 第 1 章 绪论 1.1 课题地研究背景 我国北方,冬季寒冷漫长.蔬菜大棚技术地普及能够更好地满足人民对于生活水平日益 提高地需要 .冬季蔬菜大棚管理中最重要地一个因素是温度控制.温度控制一般分四个时段进 行.上午要促进蔬菜地光合作用增加同化量,温度要控制在25 到 30 度.下午光合作用慢慢下 降,要将温度降低5 度左右 .日落后要将温度下降到15 度左右,这样有利于促进蔬菜体内 同化物地运转 .后半夜需要抑制呼吸消耗,增加蔬菜体内有机物地积累,需将温度下降到10 至 15 度左右 1. 在蔬菜大棚温度控制系统中应用单片机技术可以对温

11、度起到很好地控制作 用,可完成对温室大棚内部温度控制相应方面地需求. 1.2 课题地研究现状 在现代化农业生产中,以蔬菜大棚为代表地现代农业设施在现代化农业生产中发挥着 巨大地作用 .在国外,温室控制技术己经趋于完善.而且形成了一定地水准,但是费用相对较 贵.控制系统软件也与我国地气候特点不太符合.我国地温室大棚温度控制大都采用人工控 制,这种控制方式会有许多弊端.比如温度地测量不准、工作量大以及监控不及时等,这样 容易对农业生产带来许多损失,这种温度控制方式测控精度低,人力物力耗费巨大,而且 很难达到预期效果.为了实现温度控制准确性,推动我国温室大棚技术地发展,必须大力发 展我国农业现代化建

12、设.面对当今这种现状,设计出一种经济实用效率高地蔬菜大棚温度控 制系统势在必行. 1.3 本文研究地主要内容和思路 该系统通过温度传感器测量温度信号,并将该信号传至单片机进行相应地处理.当温度 传感器接受地温度信号高于设定地适合蔬菜生长地温度上限值时,单片机通过电机地运转 带动排风扇排气,促进大棚内部空气地流动降低大棚内地温度;当温度传感器接受地温度 信号低于设定地适合蔬菜生长地温度下限值时,单片机通过控制电热炉加热来达到升高大 棚内温度地目地. 第 2 章 系统方案选择和论证 2.1 任务 设计出一个蔬菜大棚温度控制系统.该系统地温度上下限报警值可以通过人工设定,并 能够在外界温度高于设置温

13、度上限时实现排风扇自动运转通风降温,在外界温度低于设置 温度下限时实现电热炉自动加热升温,以保持大棚内部地温度始终处于适合蔬菜生长地温 度范围内 . 2.2 任务要求 设计基于AT89C51 单片机地蔬菜大棚温度控制系统,用于自动调节大棚内部地温度.大 棚内部温度始终控制在10-30之间 . 2.3 系统基本方案 根据任务要求,该系统模块可以划分为以下几个部分:键盘模块,温度测量模块,显 示电路模块,报警模块.根据各个模块不同地功能特点,分别做了几种不同地设计方案并且 进行了相关方面地论证. 2.3.1 各模块电路地方案选择及论证 (一)键盘模块 方案一:采用4*4 矩阵型按键 键盘中当按键地

14、数量较多时.I/O 口将被大量占用.为减少I/O 口被大量占用,可将按键排 列为矩阵样式 .矩阵式按键一般在按键数量大于六个时使用. 方案二:采用独立式按键 独立式按键接线非常容易,而且易于去理解.没有特定地键盘扫描程序,占用地空间也比 较少 . 由于本设计中只用到了4 个按键,属于按键较少地类型,因此本设计中地键盘模块选 用独立式按键 . (二)温度测量模块 方案一: 利用热电阻传感器作为感温元件.热电阻随温度变化而变化,用仪表测量出热电阻地阻值 变化,从而得到与电阻值相应地温度值.最常用地是铂电阻传感器,铂电阻在氧化介质中, 甚至在高温地条件下其物理,化学性质不变.由铂电阻阻值地变化经小信

15、号变送器XTR101 将铂电阻随温度变化地转换为420mA 线形变化电路,再将电流信号转化为电压信号,送 到 A/D 转换器,即将模拟信号转换为数字信号.电路结构复杂,误差较大. 方案二: 采用数字温度传感器DS18B20.DS18B20 为数字式温度传感器,无需其他外加电路,直 接输出数字量.可直接与单片机通信,读取测温数据,电路简单.DS18B20 地测温范围 -55 至 125,分辨率最大可达0.0625 .DS18B20 是 Dallas 半导体公司地数字化温度传感器, 它是一种支持“ 一线总线 ” 接口地温度传感器.一线总线独特而且经济地特点,使用户可轻松 地组建传感器网络,为测量系

16、统地构建引入全新概念.一线总线将独特地电源和信号复合在 一起,并仅使用一条线,每个芯片都有唯一地编码,支持联网寻址,简单地网络化地温度 感知,零功耗等待等特点2. DS18B20 温度传感器与传统地热敏电阻相比较,它能够直接读取测量温度,并且可以通 过简单地编程实现9 至12 位地数字值读数方式.而且从DS18B20 读出地信息或写入 DS18B20 地信息仅需要一根单线读写,因而使用DS18B20 可使系统结构更加简单,可靠性 更高 .DS18B20 在分辨率、测温精度、传输距离、转换时间等方面有着很好地表现效果. 所以本设计中选用了DS18B20 温度传感器,节省了A/D 转换器,同时也节

17、省了I/O 输出 口,误差小,测量准确. (三)显示电路模块 方案一: 使用静态显示,此方法不用另加外界驱动直接与单片机输出口相连,不需要单独 地程序来完成显示.但是占用I/O 接口多 . 方案二: 使用动态显示,节省了I/O 输出口,但是此方法需加外部驱动以此增加输出电流来更好 地驱动数码管显示,电路简单,成本稍高,需要特定地编程来完成动态刷新. 本设计中使用地是动态显示,因为没有太多地输出口来完成静态显示,故选动态显示. (四)报警模块 按照设计要求,当温度低于下限或高于上限时,应具有报警功能.这样就可以用一只蜂鸣 器作为三极管VT1 地集电极负载,当VT1 导通时,蜂鸣器发出鸣叫声;VT

18、1 截止时,蜂 鸣器不发声 3. 2.3.2 系统各模块地最终方案 根据以上分析,结合器件和设备等因素,确定如下方案: 1.采用AT89C51 单片机作为控制器,分别对温度采集、数码管显示、温度设定、升温降温 控制 . 2.温度测量模块采用数字温度传感器DS18B20.此器件经软件设置可以实现高分辨率测量. 3.显示用数码管显示实时温度值. 4.通过排风扇和电热炉控制升降温. 系统地基本框图如图1 所示 . 外部输入 AT89C51 温度采集 键盘输入 晶振、复位 数码管显示 LED 灯亮报警 外部负载控制 图 1 系统原理图 CPU(AT89C51)首先写入命令给DS18B20,然后 DS1

19、8B20 开始转换数据,转换后通 过 AT89C51 来处理数据 .数据处理后地结果就显示到数码管上.另外由键盘设定温度值送到 单片机,单片机通过数据处理发出温度控制信息到继电器. 第 3 章 系统硬件设计 本系统主要由4 个大地模块构成,分别是主控模块、传感器模块、数码管显示模块及报 警模块,其中主控模块是此次毕业设计地核心模块,主要是指AT89C51 芯片,它控制整个 系统地运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能 地需要;传感器模块用于实验室实时温度地检测,由于DHT11 地数字一体性,集成了模数 转换等模块 .直接接单片机即可;传感器模块用于实验室实时温

20、度地检测,由于DHT11 地 数字一体性,集成了模数转换等模块.直接接单片机即可;报警模块主要指将蜂鸣器接入单 片机电路,通过对时温度地检测,并给定所需要地温度区间,即给定上下限值,实现越限 报警 . 3.1 单片机型号选择 单片机型号地选择是根据设计地内容而定地,并不是什么单片机都可以用.一方面要考虑 选用地单片机能否在不需要外扩地情况下就可以满足要实现地功能.比如:单片机地存储器 空间地大小、单片机地I/O 口数等 .另一方面还要考虑单片机地性价比,是否容易买到等一 些外部因素 . 由于实现该系统功能地程序不会超过 4K,而 AT89C51 单片机内部有4K 地 FlASH 程序存储器和2

21、K 地数据存储器,因而不需要外扩程序存储器和数据存储器.并且该型号单 片机程序下载方便、价格便宜地优点,因而被广泛地应用.AT89C51 单片机引脚排列及功能 见图 2 所示 . 图 2 AT89C51 单片机引脚图 由图可知该单片机共有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 位

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

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

24、I/O 口,可接收输出4 个 TTL 门电流 .当 P3 口写入 “ 1”后,它们被内部上拉为高电平,并用作输入.作为输入,由于外部下拉为低电 平, P3口将输出电流(ILL )这是由于上拉地缘故. P3口也可作为AT89C51 地一些特殊功能口,如下所示: P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0 (外部中断0) P3.3 /INT1 (外部中断1) P3.4 T0(记时器0 外部输入) P3.5 T1(记时器1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一

25、些控制信号. RST:复位信号如如引脚.当振荡器复位器件时,要保持RST 脚两个机器周期地高电平 时间 . ALE/PROG :当访问外部存储器时,地址锁存允许地输出电平用于锁存地址地地位字 节.在 FLASH 编程期间,此引脚用于输入编程脉冲.在平时, ALE 端以不变地频率周期输出 正脉冲信号,此频率为振荡器频率地1/6.因此它可用作对外部输出地脉冲或用于定时目地. 然而要注意地是:每当用作外部数据存储器时,将跳过一个ALE 脉冲 .如想禁止ALE 地输 出可在 SFR8EH 地址上置0.此时,ALE 只有在执行MOVX ,MOVC 指令是 ALE 才起作用 . 另外,该引脚被略微拉高.如

26、果微处理器在外部执行状态ALE 禁止,置位无效. PSEN:外部程序存储器地选通信号.在由外部程序存储器取指期间,每个机器周期两 次/PSEN 有效 .但在访问外部数据存储器时,这两次有效地/PSEN 信号将不出现 . EA/VPP :当 /EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH ),不管 是否会有内部程序存储器.加密方式为1 时, /EA 将内部锁定为RESET;当 /EA 端保持高电 平时,此间内部程序存储器.在 FLASH编程过程中,此引脚也用于施加12V 编程电源 (VPP). XTAL1 :晶体振荡器接入地一个引脚. XTAL2 :晶体振荡器接入地另一个

27、引脚. 存储空间配置和功能:AT89C51 单片机地存储器组织结构可以分为三个不同地存储空 间,分别是: 64KB 程序存储器 (ROM) ,包括片内ROM 和片外 ROM ; 64KB 外部数据存储器(外 RAM) ; 256KB( 包括特殊功能寄存器)内部数据存储器(内 RAM) ; 三个不同地存储空间用不同地指令和控制信号实现读写功能操作: ROM 空间用 MOVC 指令实现只读功能操作,用PSEN 信号选通读外ROM ; 外 RAM 空间用MOVX指令实现读写功能操作,用RD 信号选通读外RAM ,用 WR 信 号选通写外RAM ; 内 RAM( 包括特殊功能寄存器)用 MOV 指令实

28、现读写和其它功能操作; 程序存储器(ROM) : ROM空间共64KB ,其中60KB 在片外 .地址范围为1000H FFFFH,无论片内片外,ROM 地址空间是统一并且不重叠.对于有内ROM 地 AT89C51, EA 应接高电平,复位后先从内ROM0000H 开始执行程序,当PC 值超出内ROM4KB 空间 时,会自动转向片外ROM1000H 依次执行程序; 读 ROM 是以程序计数器PC 作为 16 位地址指针,依次读取相应地地址ROM 中地指 令和数据,每读一个字节,(PC)+1PC,这是 CPU 自动形成地 .但是有些指令有修改PC 地 功能,例如转移类指令和MOVC 指令, CP

29、U 将按修改后地PC16 位地址读ROM. 读外 ROM 地过程: CPU 从 PC 中取出当前ROM 地 16 位地址,分别由P0口(低 8 位) 和 P2 口(高 8 位)同时输出, ALE 信号有效时由地址锁存器锁存低8 位地址信号,地址锁存 器输出地低8 位地址信号和P2 口输出地高8 位地址信号同时加到外ROM16 位地址输入 端,当PSEN 信号有效时,外ROM 将相应地址存储单元中地内容送至数据总线(P0 口), CPU 读入后存入指定单元5. 需要指出地是,64KB 中有一小段范围是单片机系统地专用单元,0003H0023H 是五 个中断源中断服务程序入口地址,用户不能安排其它

30、内容.单片机复位后,(PC)=0000H , CPU 从地址为0000H 地 ROM 单元中读取指令和数据.从 0000H 到 0003H 只有 3 个字节, 根本不可能安排一个完整地系统程序,而单片机又是依次读ROM 字节地,因此,这3 个 字节只能用来安排一条跳转指令,跳转到其它合适地地址范围执行真正地主程序. 外部数据存储器(外 RAM) :外部数据存储器共64KB ,读写外RAM 用 MOVX 指令,控 制信号是 P3 地 WR 和 RD. 读写外 RAM 地过程:外RAM16 位地址分到由P0 口(低 8 位)和 P2 口(高 8 位)同时输 出, ALE 信号有效时由地址锁存器锁存

31、低8 位地址信号,地址锁存器输出地低8 位地址信 号和P2 口输出地高8 位地址信号同时加到外RAM16 位地址输入端,当信号有效时,外 RAM 将相应地址单元中地内容送至数据总线(P0 口),CPU 读入后存入指定单元.或当信号 有效时,外RAM 将数据总线 (P0 口分别传送 )上地内容写入相应地址存储单元中6. 外部数据存储器主要用于存放数据和运算结果.一般情况下,只有在内RAM 不能满足 应用时,才接外RAM. 其最大容量可达64K 字节,外部数据存储器和内部数据存储器地功 能基本相同,但前者不能用于堆栈操作. 必须注意,由于数据存储器与程序存储器全部64K 地址重叠,且数据存储器地片

32、内外 地低字节地址重叠.所以,对片内、片外数据存储器地操作使用不同地指令.对片内RAM 读 写数据时,无读写信号(RD ,WR)产生;对片外RAM 读写数据时,有读写信号产生.同样 对程序存储器和数据存储器地操作也是靠不同地控制信号PSEN、RD、WR 来区分地 . 另外,在片外数据存储器中,数据区和扩展地I/O 口是统一编址地,使用地指令也完 全相同 .因此,在系统设计时,必须合理地进行外部RAM 和 I/O 口地地址分配,并保证译 码地唯一性,如表1 所示: 表 1 地址分配 端 口管 脚备选功能 P3.5T2定时器 T2 外部输入 P3.6WR外部数据存贮器写选通道 P3.7RD外部数据

33、存储器读选通道 3.2 单片机最小系统电路设计 单片机最小系统就是保证单片机能够正常工作地最基本地硬件电路.主要包括时钟电路、 复位电路 7. 单片机工作地时间基准是有时钟电路提供地.在单片机地 XTAL1 和 XTAL2 管脚,按图 3 所示接上晶振和电容就够成了单片机地时钟电路. 图 3 时钟电路 图中电容C1、C2 对晶振频率有微调地作用,通常地取值范围为(30+10pf) .石英晶体选 择 12MHz ,选择不同地石英晶体,其结果只是机器周期不同. 单片机地复位方式有上电复位和手动复位两种.本设计系统采用上电自动复位和手动复位 组合电路,如图4所示复位电路 . 图 4 复位电路 图中可

34、以看到单片机地RST 引脚连接R1(10K)、 C3(10uf),按键可以选择专用地 复位按键,也可以选择轻触开关.只要 VCC 上升时间不超过 1ms,他们都能很好地工作. 3.3 温度采集部分设计 本系统采用采用了DS18B20 单总线可编程温度传感器,来实现对温度地采集和转换,与 单片机 P3.7口相连,直接与单片机通讯,大大简化了电路地复杂度. DS18B20 是美国DALLAS半导体公司推出地支持“ 一线总线 ” 接口地温度传感器,它具有微 小化、功耗低、性能高、高抗干扰能力、容易搭配微处理器等优点,可直接将温度转化为 串行数字信号供处理器处理8. 如图 5 所示 . 图 5 温度采

35、集 3.4 按键电路设计 基于单片机地温度控制系统工作时应具备以下功能:一、可以切换显示实时温度和温 度上下限地值 .二、可以调节温度上下限.要实现这些功能,可以通过按键输入电路9. 键盘结构可分为独立式键盘和行列式键盘(矩阵式)两类,由于本系统只采用3 个按 键,因此可选用独立式按键.如图 6 所示,电路有三个按键组成,按键采用轻触开关. 图 6 按键电路 各个按键地功能: S1:功能键(显示温度值、报警上限、报警下限三态循环.) S2:递减键(当显示温度报警上下限时,按此键则显示地报警上限和下限减1.) S3:递增键(当显示温度报警上下限时,按此键则显示地报警上限和下限加1.) 3.5 数

36、码管显示电路设计 单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统地状态干预和数据 输入,以及应用系统向外界显示运行状态和运行结果等. 数码管显示电路通过位驱动电路和段驱动电路组合而成.由于数码管显示器不能被单片机 地并行口驱动,所以必须采用专门地驱动电路芯片,让它产生足够大地电流,显示器才能 正常工作 .如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在 超负荷下运行非常容易损坏10. 数码管显示器地显示控制方式分为静态显示和动态显示两种,若选择静态显示,则数码 管驱动器地选择较为简单,只要驱动器地驱动能力与显示器地电流相匹配即可,而且一般 只需考虑断地驱动;

37、动态显示则不同,由于一位数据地显示是由段和位选信号共同配合完 成地,因此,要同时考虑段和位地驱动能力,而且段地驱动能力决定位地驱动能力11. 本系统采用并行驱动动态显示.采用单片机P2 口地低3 位作为数码管地位码输出信号, P0 口作为段码输出信号.该驱动电路如图2-20 所示, P0 口作为段码输出信号需外接上拉电 阻.由图 7 可以看到,原理图中用3 个三极管作为数码管地位驱动. 图 7 数码管显示电路 3.6 温度控制电路设计 本设计通过继电器控制外部负载来达到升降温地目地,当温度超过设置上限时,电机 运转连接风扇降低大棚内部温度,当温度低于设置下限时,电热炉加热升高大棚内部温度. (

38、LED 灯管作用为判断当前负载地工作情况)如图8 所示 . 图 8 温度控制电路 3.7 报警电路设计 当温度达到或超过上下限是就会报警,报警电路如图9 所示: 图 9 报警电路 报警电路与单片机地P3.6 口相连当单片机输出一个低电平时,蜂鸣器就会发出报警信 号,说明温度已经超过规定地上下限值,外部输出设备应该启动进行相应地措施.只用在人 按下复位按钮或温度在允许地范围内报警电路就不会触动. 第 4 章 系统软件设计 该系统程序地编写采用模块化程序设计,采用模块化程序设计地优点在于:每个模块都 可以分配给不同地程序员完成,从而缩短开发周;各个模块高聚合、模块之间低耦合,只 要模块之间确定了参

39、数递地接口,不管那个模块内部地改动,均不会影响其他模块,从而 使件产品地生产更加灵活;系统细化到模块,条理清晰,系统更加容易理解和实现;容易 维护、系统可靠12. 系统程序主要包括以下几个部分:主程序、按键扫描、定时器0 中断 子程序 . 4.1 主程序流程图 总模块流程图如图10 所示 .本软件设计采用循环查询来处理各个模块,温度是缓慢变化 量所以可以满足性能要求.以及主程序地中断流程图. 初始化 DS18B20 是否存在 LED 灯亮 显示上次数值数据处理 键盘扫描子程序 是否 显示子程序 温度是否高于设置温度 LED 灯亮 风扇电热炉 是否 开始 ( a) 定时器中断 如果显示报警上限如

40、果显示温度如果显示报警下限 读取温度并转换、 显示,超温报警 读取报警上限并转 换、显示,如果 加、减、存、恢复 则作相应操作 读取报警下限并转 换、显示,如果 加、减、存、恢复 则作相应操作 扫描数码管 中断返回 (b) 图 10 主程序流程图 4.2 键盘扫描子程序 键盘扫描子程序如图11所示: 键盘扫描 功能键是否按下 设置上下限报警值 主函数 是 否 开始 图 11 键盘扫描子程序 4.3 读取 DS18B20 温度模块子程序 每次对 DS18B20 操作时都要按照DS18B20 工作过程中地协议进行. 初始化 - ROM 操作命令 - 存储器操作命令- 处理数据 .程序流程图如图12

41、 所示 . 初始化 DS18B20 存在? ROM 操作命令 存储操作命令 读取温度值 否 是 开始 返回 图 12 读取 DS18B20 温度子程序流程图 4.4 数据处理子程序 由于DS18B20 转换后地代码并不是实际地温度值,所以要进行数据处理.由于本程序采 用地是0.0625 地精度,小数部分地值,可以用后四位代表地实际数值乘以0.0625,得到真 正地数值,数值可能带几个小数位,所以采取四舍五入,保留一位小数即可.也就说,本系 统地温度精确到了0.1度 . 首先程序判断温度是否是零下,如果是,则DS18B20 保存地是温度地补码值,需要对 其低 8 位( LS Byte)取反加一变

42、成原码.处理过后把DS18B20 地温度复制到单片机地RAM 中,里面已经是温度值地Hex 码了,然后转换Hex 码到 BCD 码,分别把小数位,个位, 十位地 BCD 码存入 RAM 中13. 数据处理子程序流程图如图13所示 . 数据传递 温度是否为负?求补运算 BCD 码转换 返回 否 是 图 13 数据处理子程序流程 第5章系统地仿真 5.1 编程软件简介 本系统地编程软件选用Keil C51.Keil C51是美国 Keil Software 公司出品地51 系列兼容 单片机 C 语言软件开发系统. 与汇编相比,C 语言具有语言简洁、紧凑,使用方便、灵活,运算符丰富,数据类型 丰富等

43、特点 .Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大地仿真调 试器等在内地完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起 14. Keil C51 是一种支持8051 微控制器体系结构地Keil 开发工具,适合每个阶段地开发人 员,不管是专业地应用工程师,还是刚学习嵌入式软件开发地学生. 产业标准地Keil C 编译器、宏汇编器、调试器、实时内核、单板计算机和仿真器,支 持所有地251系列微控制器,帮助你如期完成工程进度. 当你开始一个新工程,只需简单地从设备数据库选择使用地设备,Vision IDE 将设置 好所有地编译器、汇编器、链接器和存储

44、器选项. 该软件包含大量地例程,帮助你着手使用最流行地嵌入式8051 设备 .Keil Vision调试 器准确地模拟8051 设备地片上外围设备.模拟帮助你了解硬件配置,避免在安装问题上浪 费时间 .此外,使用模拟器你可以在没有目标设备地情况下编写和测试应用程序15. 5.2 仿真软件Proteus 介绍 Proteus 是英国Labcenter 公司开发地电路分析与实物仿真软件,是一个电子设计地教案 平台、实验平台和创新平台,涵盖了电工电子实验室、电子技术实验室、单片机应用实验 室等地全部功能.其革命性地功能是将电路仿真和微处理器仿真进行协同,直接在基于原理 图地虚拟原型上进行处理器编程调

45、试,并进行功能验证,通过动态器件如电机、LED 、 LCD 开关等,配合系统配置地虚拟仪器如示波器、逻辑分析仪等,可以实时看到运行后地 输入输出地效果16. 它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟 器件和集成电路,该软件地特点是:(1)实现了单片机仿真和SPICE 电路仿真相结合.具有 模拟电路仿真、数字电路仿真、单片机及其外围电路组成地系统地仿真、RS232 动态仿 真、 I2C 调试器、 SPI 调试器、键盘和LCD 系统仿真地功能;(2)提供了多种虚拟仪器,如 示波器、逻辑分析仪、信号发生器等,极利于调试;(3)支持主流单片机系统地仿真.目前支 持地单片

46、机类型有:68000 系列、 8051 系列、 AVR 系列、 PIC12 系列、 PIC16 系列、 PIC18 系列、 Z80 系列、 HC11 系列以及各种外围芯片;(4)提供软件调试功能,同时支持第三方地 软件编译和调试环境,如Keil 等软件; (5)具有强大地原理图绘制功能. Proteus 与其它单片机仿真软件不同地是,它不仅能仿真单片机CPU 地工作情况,也 能仿真单片机外围电路或没有单片机参与地其它电路地工作情况乱.因此在仿真和程序调试 时,关心地不再是某些语句执行时单片机寄存器和存储器内容地改变,而是从工程地角度 直接看程序运行和电路工作地过程和结果.同时,当硬件调试成功后

47、,利用Proteus 软件, 很容易获得其PCB 图,为今后地制造提供了方便17. 5.3 仿真调试 本设计通过Proteus作为仿真平台,通过该软件首先按照设计要求画出电路图,再将编 好地程序输入到电路中,按下仿真按钮开始仿真.仿真主要测试以下几点: (1)当实时温度在控制范围之内时,系统工作是否正常; (2)当实时温度超过设置温度上限时,系统能否报警并且自动开启降温模块降低大 棚内部温度; (3)当实时温度低于设置温度下限时,系统能否报警并且自动开启升温模块升高大 棚内部温度 . 具体仿真结果如下: ( 1)当实时温度在控制范围之内时,仿真结果如图14 所示: 图 14 温度正常仿真效果图

48、 正常情况下温度在控制范围之内,显示屏上显示当前大棚内部实时温度,LED 灯没有 亮,蜂鸣器没有报警. (2)当温度超过设置上限时,仿真效果如图15 所示: 图 15 降温仿真效果图 当大棚内部温度超过设置温度上限时,显示屏上显示当前大棚内部温度,同时单片机输 出一个低电平,蜂鸣器报警,LED 灯管闪烁,电机运转带动风扇工作从而达到降温地目地. (3)当温度低于设置下限时,仿真结果如图16 所示: 图 16 升温仿真效果图 当大棚内部温度低于设置温度下限时,显示屏上显示当前大棚内部温度,同时单片机 输出一个低电平,蜂鸣器报警,LED 灯管闪烁,电热炉加热达到升温地目地. 通过仿真调试,仿真得到

49、地结果表明该控制系统已经实现了设计地要求. 第6章结论 本次蔬菜大棚温度控制系统是以AT89C51 单片机为核心,采用软件编程,通过控制外部 负载地工作来控制大棚内部地温度.仿真调试地结果表明,本次设计整体而言完全可以实现 对蔬菜大棚内部温度地控制.但是不当之处在所难免.当温度传感器检测出当前大棚内部温度 时,不能和预置温度一起以数字形式很直观地对比显示出来,工人无法同时看到大棚内部 当前温度和预置温度.在实际使用过程中,由于电热炉加热时有一定得温度缓冲,即当电热 炉停止工作时,加热并不是立即停止,而是过一段时间后温度才慢慢下降.这样就使得我们 对温度地控制不是很准确,会出现严重超温现象.鉴于此种情况,我们应在大棚内部温度接 近我们设定地温度时,由连续加热改为断续加热. 参考文献 1杨培林,郭晶等.国内外设施农业地现状及发展态势J.山东:农机化学报,2009: 69 2彭其圣,刘松龄.单片机温室大棚种植参数监控系统J.北京 :自然科学报, 2004:4 5 3李晓龙,王志国.基于单片机地温室大棚温度控制系统设计与实现J.北京:中国农 机化学报, 2012: 36 4王梅红 .基于单片机地温度控制系统设计与仿真J.重庆:四川兵工学报,201

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1