欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于C51单片机的大棚温度自动调控系统的.pdf

    • 资源ID:50826441       资源大小:1.35MB        全文页数:21页
    • 资源格式: PDF        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于C51单片机的大棚温度自动调控系统的.pdf

    基于基于 C51C51 单片机的大棚温度自动调控系统的设计单片机的大棚温度自动调控系统的设计【摘【摘要】要】本系统是一个自动测温控温系统。主要采用本系统是一个自动测温控温系统。主要采用ATB9C51ATB9C51 单片机,以及温度传感器单片机,以及温度传感器DS18B20DS18B20,将采集到的实时温度通过串口向单片机进行传输,将采集到的实时温度通过串口向单片机进行传输,对温度进行实时监测,对温度进行实时监测,并将通过键盘设定并将通过键盘设定的适合大棚植物生长最佳的温度。的适合大棚植物生长最佳的温度。最后将测得的结果发送到数码管显示出来。最后将测得的结果发送到数码管显示出来。该系统对所测得的温度值该系统对所测得的温度值进行分析,进行分析,自动驱动相应的降温或加热设备,自动驱动相应的降温或加热设备,以达到对温度智能控制。以达到对温度智能控制。在实际运用中我们就能够免除温在实际运用中我们就能够免除温度过高或过低给我们带来的经济损失。度过高或过低给我们带来的经济损失。1.前言1.1、系统的运用和实际意义在随着农业现代化的发展,名贵蔬菜栽培工程因其涉及学科广、科技含量高、与人民生活关系密切,己越来越受到世界各国的重视。这也为我国大型现代化温室的发展提供了极好的机遇,并产生巨大的推动作用。我国的现代化温室是在引进与自我开发并进的过程中发展起来的。温室是植物栽培生产中必不可少的设施之一,不同种类名贵蔬菜对温度生长所需条件的要求也不尽相同,为它们提供一个更适宜其生长的封闭的、良好的生存环境,根据市场的供求关系,提早或延迟最佳食用期,最终将会给我们带来巨大的经济效益。温室环境自动化控制系统在大型现代化温室的利用,是设施栽培高新技术的体现。随着现代科技的发展,电子计算机已用于控制温室环境。控制系统由中央控制装置、终端控制设备、传感器等组成。终端控制设备向中央控制装置输送检测信息,根据中央控制装置的指令输出控制信号,使电器机械设备执行动作,实现温室环境调节。1.2、系统设计任务及要求1.2.1、设计任务设计一个基于单片机可以自动监控、调控大棚内温度的智能系统。设计后的温度检测系统,通过外部设备控制设置温度,并能直接显示出来设置温度和当前温度。若温度没达到设定的温度,系统都能够自动的调节温度,当温度低于设定温度值时启动加热设备,当温度高于设定温度值时启动降温设备,使得菜棚可以控制有利于植物生长的最佳温度,实现智能恒温控制。1.2.2、设计要求(1)通过按键可以任意设置大棚内的温度。(2)能检测当前大棚内的实时温度。(3)能用数码管显示调节设置的温度值,和当前实时的温度值。(4)能智能调节大棚内的温度,使当前温度等于设置的温度值。(5)调节后的大棚内的温度与按键设置的温度,正负误差不能大于1 度。(6)温度显示的最小精度为1 度,升温、降温阶段的温度控制精度要求为1 度,保温阶段温度控制精度为 1 度。1(7)智能系统的温度的加热,散热系统。分别为电炉丝加热,开启风扇和打开大棚门窗通风散热。2 2、系统结构设计、系统结构设计2.1 系统框架系统框架本设计系统包括温度传感器,键盘输入控制模块,输出控制模块,温度显示模块和温度调节驱动电路五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控。系统由51系列单片机AT89C51、按键、DS18B20温度采集、数码管显示,电源,电动机散热,灯泡加热模块等部分构成。单片机部分包括时钟电路、复位电路;按键部分能够实现对温度的调整设定。四个按键的功能分别为:加10度、加1度、减10度、减1度。温度采集部分包括温度传感器、BCD码转换。经软件处理后送至7段共阴数码管显示。电源部分共输出5V电压给各个芯片提供电源。22 系统功能方框图 2-1DS18B20 温度采集键盘预设温度电源单单片片机机数码管显示继电器控制自动调节温度2-12-1 系统功能方框图系统功能方框图2.3系统功能说明(1)能够用数码管同时显示测量的温度和预设的温度,显示位数4 位,分别预设温度的十位,个位测量温度的十位,个位。(2)可以手动通过按键设置温度(3)超出温度设定值时启动降温设备(电动机自制的电风扇),温度低于设定值时启动加热设备(电灯泡)温度相等的时候把两继电器都关了。3、DS18B20功能介绍为了简化电路,经济实惠,自动测量等方面考虑,本系统采用DS18B20 温度传感器来测量系统温度,DS18B20 与单片机是单总线连接方式,它只定义了一根信号线,总线上的每个器件都能够在合适的时间驱动它,相当于把单片机的地址线、数据线、控制线、合为一根信号线对外进行数据交换,并且,它不再经 A/D 转换成数字量,直接测得为数字量,简化了许多工作量,电路也简单可靠的多。下面介绍温度传感器 DS18B20 的使用说明。23.1.DS18B201.DS18B20 简介(1)独特的单线接口方式:DS18B20 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0+5.5 V。(4)测温范围:-55+125。固有测温分辨率为0.5。(5)通过编程可实现 912 位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20 可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.2.DS18B20 的内部结构 DS18B20 采用 3 脚 PR35 封装或 8 脚 SOIC 封装,其内部结构框图如图3-1 所示。(1)64 b 闪速 ROM 的结构如下图 3-2:开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后 8 位是前 56位的 CRC 校验码,这也是多个 DS18B20 可以采用一线进行通信的原因。(2)非易市失性温度报警触发器TH 和 TL,可通过软件写入用户报警上下限。(3)高速暂存存储器DS18B20 温度传感器的内部存储器包括一个高速暂存RAM 和一个非易失性的可电擦除的E2RAM。后者用于存储 TH,TL 值。数据先写入 RAM,经校验后再传给 E2RAM。而配置寄存器为高速暂存器中的第 5 个字节,他的内容用于确定温度值的数字转换分辨率,DS18B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如下图3-3:3低 5 位一直都是 1,TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。在 DS18B20出厂时该位被设置为 0,用户不要去改动,R1 和 R0 决定温度转换的精度位数,即是来设置分辨率,如3-4 所示(DS18B20 出厂时被设置为 12 位)。由图 3-4 可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他 8 个字节组成,其分配如下图 3-5 所示。其中温度信息(第1,2 字节)、TH 和 TL 值第 3,4 字节、第68 字节未用,表现为全逻辑1;第9 字节读出的是前面所有 8 个字节的 CRC 码,可用来保证通信正确。图 3-5当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2 字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以00625/LSB 形式表示。温度值格式如下图3-6:对应的温度计算:当符号位S=0 时,直接将二进制位转换为十进制;当S=1 时,先将补码变换为原码,再计算十进制值。图3-7 是对应的一部分温度值。DS18B20 完成温度转换后,就把测得的温度值与TH,TL 作比较,若 TTH 或 TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只 DS18B20 同时测量温度并进行告警搜索。4(4)CRC 的产生在 64bROM 的最高有效字节中存储有循环冗余校验码(CRC)。主机根据 ROM 的前 56 位来计算 CRC 值,并和存入 DS18B20 中的 CRC 值做比较,以判断主机收到的ROM 数据是否正确。3.3.DS18B203.DS18B20 的测温原理DS18B20 的测温原理如图 3-8 所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1 和温度寄存器中,减法计数器1 和温度寄存器被预置在-55所对应的一个基数值。减法计数器1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到 0 时温度寄存器的值将加1,减法计数器1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 2 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20 的测温原理。另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM 功能命令发存储器操作命令处理数据。各种操作的时序图与DS1820 相同,。3.43.4、DS18B20DS18B20 与单片机的典型接口设计以 MCS51 单片机为例,图 3-9 中采用寄生电源供电方式,P1 1 口接单线总线为保证在有效的DS18B20 时钟周期内提供足够的电流,可用一个MOSFET 管和 89C51 的 P10 来完成对总线的上拉。当 DS18B20 处于写存储器操作和温度A/D 变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s。采用寄生电源供电方式是VDD 和 GND 端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制 DS18B20 完成温度转换必须经过3 个步骤:初始化、ROM 操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12 MHz,根据 DS18B20 的初始化时序、写时序和读时序,分别编写 3 个子程序:INIT 为初始化子程序,WRITE 为写(命令或数据)子程序,READ 为读数据子5程序,所有的数据读写均由最低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7 k,另外 2 个脚分别接电源和地。4系统硬件设计与方案选择4.1 单片机电路4.1.1 时钟电路时钟系统是单片机的心脏,各部分都以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片记得速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有内部时钟和外部时钟两种。CPU 的时钟振荡信号有两个来源:一是采用内部振荡器,此时需要在XTAL1 和 XTAL2 脚连接一只频率范围为 1.212MHZ 的晶体振荡或陶瓷振荡器及两只30pf 电容。二是采用外部振荡,此时应将外部振荡器的输出信号接至 XTAL1 脚,将 XTAL2 脚浮空。本次设计中采用的是内部振荡器,频率为 12MHZ 的晶体振荡器及 30pf 的瓷片电容。如图 4-1 所示。图 4-1 时钟电路4.1.24.1.2复位电路复位电路复位是指在规定的条件下,单片机自动将CPU 以及与程序运行相关的主要功能部件、I/O 口等设置为确定初始状态的过程。如果电路参数不符合规定的条件或干扰导致单片机不能正确的复位,系统将无法进行正常的工作,因此,复位电路除了要符合厂家规定的参数外,还要滤除可能的干扰。AT89C51 单片机内部有一个由施密特触发器等组成的复位电路。复位信号是从其9 脚,即 RST 脚输入的。AT89C51 单片机规定,当其处于正常工作状态,且振荡器工作稳定后,在RST 端有从高电平到低电平,且高电平时间大于两个机器周期的复位信号时,CPU 将完成对系统的复位。有两点需要注意:一、复位信号是高电平有效,二、高电平的保持时间必须大于两个机器周期,可见高电平保持时间与振荡频率有关。本次设计中采用上电复位电路,上电复位是指在系统上电时,RST 端自动产生复位所需要的信号将单片机复位,本次设计中的上电复位电路如图所示。上电时,RST 端高电平的维持时间取决于R(1k)和C(47uF)的值。要使单片机可靠的复位,设计中使其维持的时间足够长。电路如图 4-2.4.1.3 按键电路系统要能设置温度,就要有外部设备。这里我选用按键设备来完成调节所需的设备。因为本系统只需四个按键,所以采用独立式按键电路每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。按键一端接高电平后通过一个1K电阻直接接入单片机I/O口中分别接入单片机的P2.0,P2.1,P2.2,P2.3,四个I/O口中,另一端接地,按键响应是I/O从高电平变为低低频。电路如图4-3所示6图 4-2 复位电路图 4-3 键盘电路42 继电器控制电路为了能通过温度的变化来调节大棚的温度,这里我选用了继电器,单片机可以通过继电器实行低压控制高压,中压,低压电路。是一个很好的开关器件。本次系统采用的是5V 低电压控制 220V 的继电器。电路说明:继电器接电源控制的两端分别接上5V 电源,和一个三极管,通过单片机的I/O 电路的高低电平来控制 9012 的导通与截至,从而控制继电器的吸合,这里继电器与单片机的接口问P2.和,P2.5 两口电路如图 4-47图 4-4 继电器电路4.3 显示电路方案一:采用动态显示这种工作方式是分时轮流选通数码管的公共端,使得各个数码管轮流导通。当所有数码管依次显示一遍后,软件控制循环,使每位显示器分时点亮。这种方式不但能提高数码管的发光效率,并且由于各个数码管的字段线是并联使用的,因而大大简化了硬件线路。各个数码管虽然是分时轮流通电,但由于发光数码管具有余辉特性及人眼具有视觉暂留作用,所以适当选取循环扫描频率时,看上去所有数码管是同时点亮的,察觉不出有闪烁现象。方案二:采用静态显示数码管工作在静态显示方式下,共阴极或共阳极点连接在一起接地或高电平。每位的段选线与一个 8 位并行口相连。只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。该工作方式常采用串行口设定方式0 输出,外接 74LS164 移位寄存器构成显示电路。这里我选用静态显示方案 电路如图 4-5 所示44 AT89C51 单片机芯片方案一:采用 AT89C51 芯片,它具有体积小、功耗小,容量大。含有中断、定时/计数器。本次设计没有非常大的编程量,此芯片的容量已足够。方案二:采用 AT89S52 芯片,它比起 80C51 它增加了一个 16 位定时/计数器 T2。T2 与 T0 和 T1 有类似的功能,即可以作定时或计数器使用,同时还增加了扑捉等新的功能,它的功能比其他两个定时器更强,使用也比较复杂。8图 4-5 显示电路(1 个模块)图 4-6 AT89C51 芯片45 温度传感器方案一:热敏电阻。热敏电阻是用半导体材料制成的热敏器件,它测量温度是把电阻随温度的变化关系转化为电压随温度变化的关系,再把热敏电阻电压值经A/D 转换成数字量,然后通过软件方法计算得到温度值,再进行显示等处理。它的阻值与温度变化呈非线性关系,稳定性和互换性较差,因此使用中是要进行线性化处理的。线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。方案二:DS18B20 温度传感器。DS18B20 与单片机是单总线连接方式,它只定义了一根信号线,总线上的每个器件都能够在合适的时间驱动它,相当于把单片机的地址线、数据线、控制线、合为一根信号线对外进行数据交换,并且,它不再经 A/D 转换成数字量,直接测得为数字量,简化了许多工作量,电路也简单可靠的多。综合上述,为了简化电路,经济实惠,自动测量等方面考虑,采用方案二。如下图 4-79999gnd74LS164B74LS164Bp1.0p1.0A3B3C3D3gnd1 2 3 4 5 6 71413121110 9 8VCCH3G3F3E3VCC3clk1 2 3 4 5 6 71413121110 9 81 2 3 4 5 6 71413121110 9 81 2 3 4 5 6 71413121110 9 874LS1641B74LS1642B图 4-7 DS18B20 芯片B9p2.112mHZC130pF1S330pFAT89C5123456ALED2LED1A3B3C3D3E3F3G3H3gndgndgnd1 2 3 4 5 6 7 8101010LDE3A1B1C1D1E1F1G1H11 2 3 4 5 6 7 8LED4A2B2C2D2E2F2G2H21 2 3 4 5 6 7 8aNCbacfbdgeecfdgdpdpGND10A B C D E FG H1 2 3 4 5 6 7 8aNCbacfbdgeecfdgdpdpGNDaNCbacfbdgeecfdgdpdpGNDaNCbacfbdgeecfdgdpdpGND1 1A B C DgndVCCH GF EVCCclk2 2A1B1C1D1gnd1VCC1H1G1F1E1VCC1clk3 3A2B2C2D2gnd2VCC2H2G2F2E2VCC2clkB124.6、电路总图A综合以上各电路模块,及各模块电路的使用功能。绘制出本系统的电路总图,图见附录4-8。此电路配合 AT89C51 单片机芯片的编程可实现系统的全部功能,图 4-8 总电路原理图VCCDS18B20p2.51KR190123 2 1VCCGNDp1.2VCCS547uFC3RSTR01kD2SY-5-WVCCC2XTAL2p1.0clkP1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL2XTAL1GNDp1.0Vccp1.1P0.0p1.2P0.1p1.3P0.2p1.4P0.3p1.5P0.4p1.6P0.5p1.7P0.6RSTP0.7RXDVppTXDALEINT0PSENINT1p2.7T0p2.6T1p2.5WRp2.4RDp2.3XTAL2p2.2XTAL1p2.1Vssp2.0p2.4R11K9012VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCALEPSENP2.7P2.6P2.5P2.4P2.3P2.2p2.1p2.0XTAL1D1SY-5-WTitleSizeBDate:File:3452008-4-18G:毕业论文SHEET1.SCHDOCSheetofDrawnBy:6NumberRevision10CCVCCR31kR41kR51kR61kp2.3S1p2.2S2p2.0S4DD125软件设计说明51 DS18B20 器件读取温度流程序图DS18B20 测温程序DS18B20 复位跳过 ROM跳出测温程序温度转化把温度存入暂存器十位数据存入 R6个位数据存入 R7读取温度转化为 BCD 码高位放入 R6 低位放如 R7整数放入 R6数字整合1152 键盘处理流程序图A键盘处理判断哪个键按下按键 A按键 B按键 C按键 D调用加 10 度程序调用加 1 度程序调用减 10 度程序调用减 1 度程序数据写入 R4数据写入 R4数据写入 R5数据写入 R5记录数据1253 总程序流程图开始DS18B20 测温程序显示温度数据 R7 到 R4键盘扫描键盘设置值与实际温度值比较是温度是否相等否温度是否高于设置值否是打开降温系统打开加热系统主程序流程图1354 键盘消抖处理流程序图键盘扫描流程图键盘扫描读键盘状态否是否有键按下是调用延时消抖程序确定有键按下A A6 6系统仿真数据测试6.1 仿真系统介绍在农业生产的大棚温度调控中加热和散热的系统用的是大型电炉丝加热或用暖气管加热,散热系统为大型风扇或打开大棚密闭室让空气对流降温等等的方法。但做为调控系统接这些设备上出很难调试,所以我做了个简易的仿真系统。用60 瓦的灯泡加热,用自制的电动机风扇散热,再将灯泡,风扇及温度传感器装在一半密闭的纸箱中。6.2 操作步骤把系统接好电源,先用水银温度计测量下室温,记录下具体温度值。再和DS18B20 的测量温度值比较下,看系统测量的温度是否准确,再通过键盘调节设置的温度。让系统比较两温度的大小再让自动启动加热或散热系统,使纸箱内的温度达到预期设置的温度值。146.3 数据测量键盘设置的温度(度)25设置温度前的水银温度计测的温度(度)25.6设置温度后系统稳定时水银温度计测的温度(度)25.6设置温度前DS18B20 测的温度(度)25设置温度后系统稳定DS18B20 测的温度(度)25实验现象由于设置温度与当前的温度一样,系统不启动任何设备电路板上的发光二极管前四的亮后四个暗由于设置的温度比当前温度高,系统启动加热设备,继电器吸合,电灯泡亮,电路板上的发光二极管八个都亮,给系统加热。当温度一升高到35 时灯泡马上灭。电路板上的发光二极管变为前四的亮后四个暗。再等一会儿的时间温度自动下降到 34 度,这时继电器再次又吸合灯泡再次亮。发光二极管八个都亮。当显示温度再次到达 35 度灯泡再次灭。如次反复,不过跳变的频率不是很大。因为设计的比较温度,最小精确度为1 度,由于设置的温度比当前温度低,系统启动散热设备,继电器吸合,电动机转动,电路板上的发光二极管八个都灭,给系统散热。当温度一降低到24 时电动机停止转动。电路板上的发光二极管变为前四的亮后四个暗。再等一会儿的时间温度自动上升到25 度,这时继电器再次又吸电动机再次转动。发光二极管八个都灭。再次散热,当显示温度再次到达24 度电动机停止转动。如次反复,不过跳变的频率不是很大。因为设计的比较温度,最小精确度为 1 度,3525.635.225352435.224.935246、4 程序调试和最终实现的设计效果经过不断的实验,硬件和程序的配合调试最终完成了设计的预期效果,就是数码管上显示 4 位数从左到右分别是键盘设置的温度十位、个位。以及DS18B20 传感器测得的实际温度的十位、个位。还有4 个按键,分别是对设置的值十位加一,个位加一,十位减一,个位减一,当设置的数值和实际测量的值一样的时候在电路板上的发光二极管前四的亮后四个暗,两继电器都不吸合。当设置的数值比实际测量的值大的时候在电路板上的发光二极管八个都亮,而且有一继电器吸合启动加热系统(灯泡亮)。当设置的数值比实际测量的值小的时候在电路板上的发光二极管八个都暗,而且有一继电器吸合启动散热系统(电动机转动)。最终保持当前温度和设置温度一样。最终设计的效果达到了本次设计的设计要求,实现了要求设计的所以功能。15结束语本设计是以 AT89C51 单片机芯片和一种新型的可编程温度传感器(DS18B20)为主要芯片以及其他辅助电路,它不需复杂的信号调理电路和AD 转换电路能直接与单片机完成数据采集和处理,实现方便,温度值能直接在四位七段数码管直接显示出温度值。本设计应用性比较强,设计系统可以大棚里瓜果蔬菜的温度控制系统。如果稍微改装可以做生物培养液温度监控系统,热水器温度调节系统、实验室温度监控系统等等。课题主要任务是完成环境温度检测,利用单片机实现温度调节。设计后的系统具有操作方便,温度变化、调节显示效果明显,控制灵活等优点附录(1)温度调控程序;*;程序;*ORG 0000HMOVSP,#29HMAIN1:MOV R7,#30HLCALL GET_TEMPLCALL FENLILCALL BCDLCALL SSHOWLCALL BIJIAOLOOP:AJMP MAIN1;*;功能:从 DS18B20 中提取温度,并把高字节放在R6 中,低字节放在 R7 中;其中 R7 中的高四位放整数部分的低四位,R6 中的低四位放整数部分;的高四位,R7 的低四位为小数部分。;输出:R6、R7;*GET_TEMP:CLREA;使用 ds1820 一定要禁止任何中断产生LCALLRESET;调用初使化子程序MOVA,#0CCHLCALLWRITE;送入跳过 ROM 命令MOVA,#44H;LCALLWRITE;送入温度转换命令LCALLRESET;温度转换完全,再次初使化 ds18b20MOVA,#0CCHLCALLWRITE;送入跳过 ROM 命令MOVA,#0BEHLCALLWRITE;送入读温度暂存器命令LCALLREADMOVR7,A;读出温度值低字节存入R716LCALLREADMOVR6,A;读出温度值高字节存入R6SETBEARET;-RESET:;初始化 ds18b20 子程序LL0:CLRP1.2;复位:MOVR2,#149;4usLL1:DJNZR2,LL1;596usSETBP1.2;释放 ds1820 总线:MOVR2,#15;4usLL4:DJNZR2,LL4;60usCLRC;2us,清存在信号MOVC,P1.2;取存在信号:JCLL0;存在吗?不存在则重新来-001MOVR2,#125;有存在就拉高setbp1.2LL5:DJNZR2,LL5;500usRET;-WRITE:MOV r1,#08H;设置写位个数WLOP:RRC A;把写的位放到 CACALL WRBIT;调写 1 位子程序DJNZ r1,WLOP;8位全写完?RETWRBIT:MOV B,#15;设置时间常数CLR P1.2;写开始NOP;2usMOV P1.2,C;C 内容到总线,4usWDLT:DJNZ B,WDLT;60usSETB P1.2;释放总线RET;-READ:MOVr1,#8H;设置读位数RLOP:ACALL RDBIT;调读 1 位子程序RRCA;把读到位在 C 中并依次送给 ADJNZr1,RLOP;8 位读完?RETRDBIT:CLRP1.2;读开始图 2255 的 t0 时刻NOP;2usSETBP1.2;释放总线NOP;2us17MOVC,P1.2;P1.2 内容 CMOVB,#13;设置时间常数RDDLT:DJNZB,RDDLT;等待 52usSETBP1.2RET;*;作用:把小数部分同整数部分分开,R6 放整数 R7 放小数,F0 放符号位;输入:R6R7;输出:R6R7 F0;*FENLI:MOVA,R6MOVC,ACC.7MOVF0,C;符号位JCFENLI1SJMPFENLI2FENLI1:MOVA,R6CPLAMOVR6,AMOVA,R7CPLACLRCINCAMOVR7,AMOVA,R6ADDCA,#00HMOVR6,AFENLI2:MOV08H,R7ANL08H,#0FH;小数部分MOVR0,#12FENLI3:MOVA,R6RRCAMOVR6,AMOVA,R7RRCAMOVR7,AMOVA,09HRRCAMOV09H,A;整数部分DJNZR0,FENLI3MOVR6,09H;整数部份MOVR7,08H;小数部分RET;*;作用:将 R6R7 中的二进制数化作BCD 码的形式;输入:R6 R718;输出:R4R5R6 R7;*BCD:MOVA,R6;开始处理整数部分:MOVB,#100DIVABMOVR2,A;存整数高位MOVA,BMOVB,#10DIVABMOVR6,A;存整数中位MOVR7,B;存整数低位BCD1:RET;*;显示模块;*SSHOW:MOVDPTR,#TABLE;循环显示模块MOVR0,#07hSSHOW1:MOV R1,#08HMOV A,R0MOVC A,A+DPTRSSHOW2:RRC ACLRP1.1MOVP1.0,C;LCALL YSSETBP1.1DJNZR1,SSHOW2DECR0CJNER0,#03H,SSHOW1RET;*;温度比较模块;*BIJIAO:MOV 01H,R4MOV A,R6CJNE A,01H,CHA1;不相等转移 R6r4 时 C=0 散热MOV 02H,R5;测量的温度低位MOV A,R7;测量的温度低位-预设的温度低位CJNE A,02H,CHA1;不相等转移TING:CLR P2.5;温度相等时都不开CLR P2.4MOV P0,#0FHLCALL HH;跳转到扫秒程序CHA1:JC JIAREN1;C=0加热系统打开MOV P0,#0FFH19SETB P2.5;散热系统打开CLR P2.4LCALL HHJIAREN1:SETB P2.4;加热系统打开CLR P2.5MOV P0,#00HHH:LCALL SAOMIAO;*;键盘扫描模块;*SAOMIAO:CLRCMOVC,P2.0;取存在 P2.0 的信号:JCL1;C=1跳转下个键盘再次扫描、LCALLYS;C=0 有信号时延时一段时间MOVC,P2.0;键盘消抖再测一次;JNCjia10;C=0 说明有信号;调用加 10 子程序,没有信号就继续扫描其他键盘L1:CLRCMOVC,P2.1;取存在 P2.1 的信号:JCL2;C=1跳转下个键盘再次扫描、LCALLYS;C=0 有信号时延时一段时间MOVC,P2.1;键盘消抖再测一次;JNCjia1;C=0 说明有信号;调用加 1 子程序,没有信号就继续扫描其他键盘L2:CLRCMOVC,P2.3;取存在 P2.2 的信号:JCL3;C=1跳转下个键盘再次扫描、LCALLYS;C=0 有信号时延时一段时间MOVC,P2.3;键盘消抖再测一次;JNCjian10;C=0 说明有信号调用减 10 子程序,;没有信号就继续扫描其他键盘L3:CLRCMOVC,P2.2;取存在 P2.3 的信号:JCL4;C=1跳转下个键盘再次扫描、LCALLYS;C=0 有信号时延时一段时间MOVC,P2.2;键盘消抖再测一次;JNC jian1;C=0 说明有信号调用减 1 子程序,;没有信号就继续扫描其他键盘MOVP0,#0EEHDJNZ R7,SAOMIAO;在键盘扫描程序中扫描30 次L4:LCALL LOOP20;*;数码管加减子程序模块;*JIA1:INC R5;对继存器 R5 加 1CJNE R5,#0AH,GO;当 R5 不等于 10 时转移MOVR5,#00H;R5 为 10 时变为 0JIA10:INC R4;对继存器 R4 加 1CJNE R4,#0AH,GO;当 R4 不等于 10 时转移MOVR4,#00H;R4 为 10 时变为 0MOV P0,#0FEHAJMP LOOPJIAN1:DEC R5;对继存器 R5 减 1CJNE R5,#00H,GO;当 R5 不等于 0 时转移MOVR5,#09H;R5 为 0 时变为 9JIAN10:DEC R4;对继存器 R4 减 1CJNE R4,#00H,GO;当 R5 不等于 0 时转移MOVR4,#09H;R4 为 0 时变为 9MOV P0,#0EFHGO:AJMP LOOP;*;延时子程序模块;*YS:MOV R2,#062HYS1:MOV R1,#0AFHDJNZ R1,$DJNZ R2,YS1RETTABLE:db 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0h,0feh,0f6hEND21

    注意事项

    本文(基于C51单片机的大棚温度自动调控系统的.pdf)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开