基于51单片机的蔬菜大棚温度控制系统设计内容摘要:

样15~ 4511主机写1 时序主机写0 时序 图 33 写时序 9 写时序包括写 0 时序和写 1 时序。 所有写时序至少需要 60us,且在 2 次独立的写时序之间至少需要 1us 的恢复时间,都是以总线拉低开始。 写 1 时序,主机输出低电平,延时 2us,然后释放总线,延时 60us。 写 0 时序,主机输出低电平,延 时 60us,然后释放总线,延时 2us。 (3) 读时序 主机采样主机采样454511主机写 1时 序主机写 0时 序 图 3- 4 读时序 总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。 所有读时序至少需要 60us,且在 2 次独立的读时序之间至少需要 1us 的恢复时间。 每个读时序都由主机发起,至少拉低总线 1us。 主机在读时序期间必须释放总线,并且在时序起始后的 15us 之内采样总线状态。 主机输出低电平延时 2us,然后主机转入输入模式延时 12us,然后读取总线当前电平,然后延时 50us 2. DS18B20 的 测温原理 每一片 DSl8B20 在其 ROM 中都存有其唯一的 48 位序列号,在出厂前已写入片内 ROM 中。 主机在进入操作程序前必须用读 ROM(33H)命令将该 DSl8B20 的序列号读出。 程序可以先跳过 ROM,启动所有 DSl8B20 进行温度变换,之后通过匹配 ROM,再逐一地读回每个 DSl8B20 的温度数据。 DS18B20 的测温原理如图 36 所示,图中低温度系数晶振的振荡频率受温度的影响很小 ,用于产生固定频率的脉冲信号送给减法计数器 1,高温 度系数晶振随温度变化其震荡 频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,图中还隐含着计数门,当计数 门打开时, DS18B20 就对低温度系数振荡器产生的 10 时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将 55 ℃ 所对应的基数 分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在 55 ℃ 所对 应的一个基数值。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入 ,减法计数器 1 重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时, 停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图 中的斜率累加器用 于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值 . 预 置低 温 度 系 数 振荡 器高 温 度 系 数 振荡 器斜 坡 累 加 器减 法 计 数 器减 到 0计 数 比 较 器预 置温 度 寄 存 器减 法 计 数 器 减 到 0 图 35 测温原理内部装置 11 另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重 要。 系 统对 DS18B20 的各种操作必须按协议进行。 操作协议为:初始化 DS18B20(发复位脉冲 )→发 ROM 功能命令 → 发存储器操作命令 → 处理 数据。 预 置低 温 度 系 数 振荡 器高 温 度 系 数 振荡 器斜 坡 累 加 器减 法 计 数 器减 到 0计 数 比 较 器预 置温 度 寄 存 器减 法 计 数 器 减 到 0 图 36 测温原理内部装 3 .ROM 操作命令 当主机收到 DSl8B20 的响应信号后,便可以发出 ROM 操作命令之一,这些命令如表 37: ROM操作命令。 12 ROM 操作命令 : 表 37: 指令 约定代码 功 能 读ROM 33H 读 DS18B20 ROM 中的编码 符合 ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单线总线上与该编码相对应的 DS18B20 使之作出响应,为下一步对该 DS18B20 的读写作准备 搜索 ROM 0F0H 用于确定挂接在同一总线上 DS18B20 的个数和识别64 位 ROM 地址,为操作各器件作好准备 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令,适用于单片工作。 警告索 命令 0ECH 执行后 ,只有温度超过设定值上限或者下限的片子才做出响应 温度变换 44H 启动 DS18B20进行温度转换,转换时间最长为 500MS,结果存入内部 9 字节 RAM 中 读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的第 3, 4 字节写上、下限温度数据命令,紧跟读命令之后,是传送两字节的数据 复制暂存器 48H 将 E2PRAM 中第 3, 4 字节内容复制到 E2PRAM 中 重调E2PRAM 0BBH 将 E2PRAM 中内容恢复到 RAM 中的第 3, 4 字节 读供电 方式 0B4H 读 DS18B20 的供电模式,寄生供电时 DS18B20 发送“ 0”,外接电源供电 DS18B20 发送“ 1” 13 显示模块的设计 为了清楚地了解 DS18B20 的工作情况,设计了此显示模块,也有利于数据传输的准确性验证。 常用的数码管显示器为 8 段,每一段对应一个发光二极管,分为共阳和共阴两种。 共阴极 LED 显示的发光二极管的阴极连接在一起,通常此公共阴极接地。 当发光二极管的阳极为高电平时,发光二极管被点亮,相应的段被显示。 同样,共阳极 LED 的发光 二极管的样机连接在一起,通常此公共阳极接高电平,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。 2. 动态显示 常用的数码管显示器为 8 段,每一段对应一个发光二极管,分为共阳和共阴两种。 共阴极 LED 显示的发光二极管的阴极连接在一起,通常此公共阴极接地。 当发光二极管的阳极为高电平时,发光二极管被点亮,相应的段被显示。 同样,共阳极 LED 的发光二极管的样机连接在一起,通常此公共阳极接高电平,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。 14 图 38 显示部分 晶 振电路 单片机 XIAL1 和 XIAL2 分别接 30PF 的电容,中间再并个 12MHZ 的晶振,形成单片机的晶振电路。 晶体振荡器在固定频率振荡器中能够提供较高的精度,绝大多数 RTC 采用 的晶体,晶体振荡器输出经过分频后会产生 1Hz 的基准来刷新时间和日期。 RTC 的精度主要取决于晶振的精度,晶体振荡器在固定频率振荡器中能够提供较高的精度,绝大多数 RTC 采用 的晶体,晶体振荡器输出经过分频后会产生 1Hz 的基准来刷新时间和日期。 RTC 的精度主要取决于晶振的精度,晶振一般在特定的电容负载下,其 调谐振荡在正确的频点,而当晶振调谐于 15 负载的 RTC 电路中时,使用 6pF 负载的晶振将会使时钟变快。 Dallas Semiconductor提供的所有 RTC均采用内部偏置网络,因而晶振可直接连接到 RTC的 X X2 引脚,而不需要额外的元件。 由于 RTC 的晶振输入电路具有很高的输入阻抗,因此,它与晶振的连线犹如一个天线,很容易耦合系统其余电路的高频干扰。 而干扰信号被耦合到晶振引脚将导致时钟数的增加或减少。 考虑到线路板上大多数信号的频率高于 ,所以,通常会产生额外的时钟脉冲计数。 因此,晶振应 尽可能靠近 X X2 引脚安装,同时晶振、 X1/X2 引脚的下方最好布成地平面 图 39 晶振电路 复位电路 当 AT89S52 单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。 如果 RST 持续为高电平,单片机就处于循环复位状态。 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。 上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。 上电后, 由于电容的充电和反相门的作用,使 RST 持续一段时间的高电平。 当单片机已在运行当中时,按下复位键 K 后松开,也能使 RST 为一段时间的高电平,从而实现上电或开关复位的操作 16 图 310 复位电路 加热和制冷电路 图 311 加热和制冷电路 串行通信模块设计 1. MAX232 简介 MAX232芯片是美信公司专门为电脑的 RS232标准串口设计的单电源电平转 17 换芯片 ,使用 +5v 单电源供电。 主要特点: 符合所有的 RS232C 技术标准 只需要单一 +5V 电源供电 片 载电荷泵具有升压、电压极性反转能力,能够产生 +10V 和 10V 电压V+、 V 功耗低,典型供电电流 5mA 内部集成 2 个。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。