




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 摘要 ABSTRACT 第一章 绪论 3 1 1 研究背景 3 1 2 温湿度综合检测系统 4 1 2 1 温度和湿度检测 4 1 2 2 温湿度检测的国内外研究动态 5 1 2 3 温湿度检测技术的发展方向 6 1 3 课题研究内容和意义 7 第二章 温湿度综合检测仪的整体设计 7 2 1 系统方框图 7 2 2 温湿度检测仪的整体设计过程 8 2 2 1 温湿度 8 2 2 2 数字式温度传感器 DS18B20 9 2 2 3 单片机 AT89C51 11 2 2 4 共阴极显示驱动 MAX7219 12 2 3 软件语言的选取 13 第三章 温湿度检测仪主要硬件电路设计 14 3 1 单片机主机系统电路 14 3 1 1 时钟电路 15 3 1 2 复位电路 15 3 2 1 WIRE单总线技术 16 3 3 显示电路 18 第四章 温湿度检测仪软件设计 21 4 1 系统软件设计 21 4 1 1 系统流程图 21 4 1 2 系统主程序 21 4 2 DS18B20 温度数据采集 22 4 2 1 数据采集流程图 22 4 2 2 数据采集子程序 23 4 3 MAX7219 驱动 8 位以下 LED 显示器 24 4 3 1 MAX7219 工作流程图 24 4 3 2 MAX7219 工作子程序 24 第五章 系统的调试 可靠性和抗干扰技术 27 5 1 系统的调试 27 5 2 可靠性设计 27 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 2 5 3 抗干扰技术 28 5 3 1 硬件抗干扰 28 5 3 2 软件抗干扰 28 5 4 本系统对干扰的预防 29 结束语 30 致谢词 31 参考文献 32 附录 33 第一章第一章 绪论绪论 1 1 1 1 研究背景研究背景 粮食储藏是国家为防备战争 灾荒及其它突发性事件而采取的有效措施 因此 粮食的安全储藏具有重要意义 目前 我国地方及垦区的各种大型粮库 都还存在着程度不同的粮食储存变质问题 根据国家粮食保护法规定 必须定 期抽样检查粮库各点的粮食温度和湿度 以便及时采取相应的措施 但大部分 粮库目前还是采取人工测量温度和湿度的方法 这不仅使粮库工作人员工作量 增大 且工作效率低 尤其是大型粮库的温度和湿度检测任务如不能及时彻底 完成 则有可能会造成粮食大面积变质 据有关资料统计 我国每年因粮食变 质而损失的粮食达数亿斤 直接造成的经济损失是惊人的 影响粮食安全储藏的主要参数是粮食的温度和湿度 这两者之间又是互相 关联的 粮食在正常储藏过程中 含水量一般在 12 以下 为安全状态 不会 产生温度突变 一旦粮库进水 结露等使粮食的含水量达到 20 以上时 由于 粮食受潮 胚芽萌发 新陈代谢加快而产生呼吸热 使局部粮食温度突然升高 必然引起粮食 发烧 和霉变 并可能形成连锁反应 从而造成不可挽回的损 失 因此设计出一种经济实用的粮库温湿度综合检测系统是非常有必要的 1 1 2 2 温湿度综合检测系统温湿度综合检测系统 1 1 2 2 1 1 温度和湿度检测温度和湿度检测 2 2 温度 其主要由热敏 数字式和光纤三种 一 热敏电阻 以温度变化导致阻值的变化为工作原理的热敏电阻 因其具有成本低 体 积小 简单 可靠 响应速度快 容易使用等特点 在多项温度测量应用中受 到广泛欢迎 热敏电阻的电阻温度系数较高 因此其自身发热较小 信号调节 较为简单 热敏电阻的缺点是互换性差 温度与输出阻值之间呈非线性关系 二 数字式温度传感器 数字式温度传感器的种类也不少 但用于粮情测控系统的温度传感器主要 是 Dallas 的 DS18x20 系列温度传感器 其温度检测范围为一 55 一 125 检测精度为士 0 5 C DS18x20 采用 1 WireTM 接口 输出是数字 封装形式 有 PR 35 和 SSOP 16 两种 粮情测控系统中采用的是 PR 35 封装 DS18x20 采 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 4 用 9 个位表示测温点的温度值 每个 DS 18x20 内部都设置有一个单一的序列 号 因此可以使多个 DS18x20 共存于同一根数据传输线上 三 光纤传感器 光纤温度传感器是近几年发展的新技术 也是工业中用的最多的光纤传感 器之一 目前研究的光纤温度传感器主要有辐射式温度传感器 半导体吸收式 温度传感器 光纤热色传感器等 光纤温度传感器的精度更高 但成本较贵 湿度 其主要类型由湿敏 集成两种 一 湿敏元件 湿敏元件是最简单的湿度传感器 湿敏元件主要有电阻式 电容式两大类 湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜 当空气中的水 蒸气吸附在感湿膜上时 元件的电阻率和电阻值都发生变化 利用这一特性即 可测量湿度 湿敏电容的主要优点是灵敏度高 产品互换性好 响应速度快 湿度的滞后量小 便于制造 容易实现小型化和集成化 其精度一般比湿敏电 阻要低一些 国外生产湿敏电容的主要厂家有 Humirel 公司 Philip 公司 Siemens 公司等 以 Humirel 公司生产的 HS1100 型湿敏电容为例 其测量范 围是 1 一 9 RH 在 55 1ZH 时的电容量为 180pF 典型值 湿敏元件的缺 点是线性度及抗污染性差 在检测环境湿度时 湿敏元件要长期暴露在待测环 境中 很容易被污染而影响其测量精度及长期稳定性 二 集成湿度传感器 目前 国外生产集成湿度传感器的主要厂家及典型产品分别为 Honeywe 公 司 HIH 3602 HIH 3605 HIH 3610 型 Humirel 公司 HM1500 HM1520 HF3223 HTF3223 型 Sensiron 公司 SHTI1 SHT15 型 这些产品可分成以 下三种类型 1 线性电压输出式集成湿度传感器 典型产品有 HIH3605 3610 HM1500 1520 其主要特点是采用恒压供电 内置放大电路 能输出与相对湿度成比例关系的伏特级电压信号 响应速度快 重复性好 抗污染能力强 2 线性频率输出式集成湿度传感器 典型产品为 HF3223 型 它采用模块式结构 属于频率输出式集成湿度传 感器 在 55 RH 时的输入频率为 8750Hz 典型值 当相对湿度从 10 变化到 95 时 输出频率就从 9560Hz 减小到 8030Hz 其中传感器具有线性度好 抗 干扰能力强 便于配数字电路或单片机 价格低等优点 3 频率 温度输出式集成湿度传感器 典型产品为 HTF3223 型 它除具有 HF3223 的功能以外 还增加了温度信 号输出端 利用负温度系数 NTC 热敏电阻作为温度传感器 当环境温度变化 时 其电阻值也相应改变并且从 NTC 端引出 纪上二次仪表即可测量出温度值 1 1 2 2 2 2 温湿度检测的国内外研究动态温湿度检测的国内外研究动态 粮情温湿度检测属监控系统范畴 近年来 由于传感器技术 计算机技术 超大规模集成电路技术和网络通信技术的发展 使监控系统广泛应用于工农业 生产等领域 因此 粮情温湿度检测技术的研究在软 硬件等方面都有了一定 的进展 早期粮情监测主要采用温度计测量法 它是将温度计放入特制的插杆中 根据经验插在粮堆的多个测温点 管理人员定期拔出读数 确定粮温的高 低 决定是否倒粮 这种方法对储粮有一定的作用 但由于温度计精度 人工读数 的人为因素等原因 温度检测不仅速度慢 而且精度低 抽样不彻底 局部粮 温过高不易被及时发现 导致因局部粮食发霉变质引起大面积坏粮的情况时有 发生 从 1978 年开始 随着科技的发展 采用电阻式温度传感器 采样器 模 数转换器 警报器等组成的储粮监测系统出现 它可对各粮库的各个测温点进 行巡回检测 检测速度 精度大大提高 降低了劳动强度 但由于电阻传感器 的灵敏度低 致使检测精度 系统可靠性还不够理想 至 1990 年 粮情检测 系统有了很大的改善和提高 系统在布线上采用矩阵式布线技术 简化了数据 采集部分的线路 在传感器方面应用了半导体 热电偶等器件 在线路传输上 采用了串行传输方式 从而减少了传输线根数 采用单板机进行数据处理 并 采用各种手段提高数据传输及检测速度 通过软硬件技术的结合 检测精度和 可靠性较以前有很大提高 但温度传感器的线性度差 系统的检测精度仍不理 想 无法大面积推广 近年来 随着单片机功能的日益强大和计算机的广泛应用 粮情检测的准 确性 稳定性要求越来越高 寻找最佳配置和最好的性价比成为粮情监测研究 的热点 国外在粮情温湿度监控技术上 己经达到了很成熟的地步 高科技数 字式传感器广泛应用于粮情温湿度检测系统 这种传感器采用了半导体集成电 路与微控制器最新技术 在一个管芯上集成了半导体温度检测芯片 数据信号 转换芯片 计算机接口芯片 存储芯片等 除完成温度检测功能外 还可完成 预置范围温度 报警 多路转换 温度补偿等功能 由于数字温度传感器直接 传出数字量 从而解决了温度信号长距离传输问题及传输过程中因干扰和衰减 而导致的精度降低等问题 目前 国内出现了丰富的数字传感器配套产品 如远程控制模块 中继器 接插器 分线器等 技术也比较成熟 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 6 1 1 2 2 3 3 温湿度检测技术的发展方向温湿度检测技术的发展方向 1 向高精度发展 随着自动化生产程度的不断提高 对传感器的要求也在不断提高 必须研 制出具有灵敏度高 精确度高 响应速度快 互换性好的新型传感器以确保生 产自动化的可靠性 目前能生产万分之一以上的传感器的厂家为数很少 其产 量也远远不能满足要求 2 向高可靠性 宽温度范围发展 传感器的可靠性直接影响到电子设备的抗干扰等性能 研制高可靠性 宽 温度范围的传感器将是永久性的方向 提高温度范围历来是大课题 大部分传 感器其工作范围都在 20 70 在军用系统中要求工作温度在 40 85 范围 而汽车锅炉等场合要求传感器的温度要求更高 因此发展新兴材料 如 陶瓷 的传感器将很有前途 3 向微型化发展 各种控制仪器设备的功能越来越大 要求各个部件体积能占位置越小越好 因而传感器本身体积也是越小越好 这就要求发展新的材料及加工技术 目前 利用硅材料制作的传感器体积已经很小 如传统的加速度传感器是由重力块和 弹簧等制成的 体积较大 稳定性差 寿命也短 而利用激光等各种微细加工 技术制成的硅加速度传感器体积非常小 互换性可靠性都较好 4 向微功耗及无源化发展 传感器一般都是非电量向电量的转化 工作时离不开电源 在野外现场或 远离电网的地方 往往是用电池供电或用太阳能等供电 开发微功耗的传感器 及无源传感器是必然的发展方向 这样既可以节省能源又可以提高系统寿命 目前 低功耗损的芯片发展很快 如 T12702 运算放大器 静态功耗只有 1 5A 而工作电压只需 2 5V 5 向智能化数字化发展 随着现代化的发展 传感器的功能已突破传统的功能 其输出不再是一个 单一的模拟信号 如 0 10mV 而是经过微电脑处理好后的数字信号 有的 甚至带有控制功能 这就是所说的数字传感器 1 1 3 3 课题研究内容和意义课题研究内容和意义 本文设计的是基于 89C51 型号单片机为核心 运用干湿球测湿计原理 间 接检测温度 湿度并显示的方案 系统主要由单片机 89C51 电路 时钟电路 复位电路 集成温度传感器 DS18B20 显示电路组成 软件选择汇编语言编程 其主要具有以下功能 通过干湿球测计原理检测 经过单片机处理 通过输出 控制电路 间接得到温度 湿度 并在显示电路的 LED 上分别显示 通过对系统大量的调试试验 系统检测 运行良好 另外 在输出控制电 路这块上 通过对硬件 软件的结合 还可以很容易地实现温湿度控制 报警 功能 总之 该系统灵活性强 易于操作 可靠性高 将会有广阔的开发前景 第二章第二章 温湿度综合检测仪的整体设计温湿度综合检测仪的整体设计 2 12 1 系统方框图系统方框图 被 测 物 体 传 感 器 组 单 片 机 电 源 时钟 复 位 显示 驱 动 显 示 图图 2 2 1 1 系统方框图系统方框图 本设计的主要系统组成 两片数字温度传感器 DS18B20 5V 直流电源 单片机 AT89C51 集成驱动 MAX7219 八个数码管 LED 2 22 2 温湿度检测仪的整体设计过程温湿度检测仪的整体设计过程 2 2 2 2 1 1 温湿度温湿度 温度和湿度检测 通常粮食温湿度检测系统主要选用热敏电阻 数字式温 度传感器 光纤温度传感器作为温度传感器 也有的选用其它温度传感器 例 如 PN 结型温度传感器 在第一章 1 2 1 温度和湿度检测已有讲述 此处省略 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 8 在实际应用中 相比较与日常生活中用的较多 技术也比较成熟的温度检 测技术方面 湿度检测确是很复杂的 在温度不变的情况下 空气绝对湿度愈大 相对湿度就愈高 绝对湿度愈 小 相对湿度就愈低 在空气中水蒸气含量不变的情况下 温度愈高 相对湿 度就愈小 温度愈低 相对湿度就愈高 湿度很久以前就与生活存在着密切的关系 但用数量来进行表示较为困难 湿度测量始终是世界计量领域中著名的难题之一 一个看似简单的量值 深究 起来 涉及相当复杂的物理 化学理论分析和计算 11 常见的湿度测量方法有 动态法 双压法 双温法 分流法 静态法 饱和盐法 硫酸法 露点法 干湿球法和电子式传感器法 双压法 双温法是基于热力学 P V T 平衡原理 平衡时间较长 分流 法是基于绝对湿气和绝对干空气的精确混合 由于采用了现代测控手段 这些 设备可以做得相当精密 却因设备复杂 昂贵 运作费时费工 主要作为标准 计量之用 其测量精度可达 2 RH 以上 静态法中的饱和盐法 是湿度测量中最常见的方法 简单易行 但饱和 盐法对液 气两相的平衡要求很严 对环境温度的稳定要求较高 用起来要求 等很长时间去平衡 低湿点要求更长 特别在室内湿度和瓶内湿度差值较大时 每次开启都需要平衡 6 8 小时 露点法是测量湿空气达到饱和时的温度 是热力学的直接结果 准确度 高 测量范围宽 计量用的精密露点仪准确度可达 0 2 甚至更高 但用现 代光 电原理的冷镜式露点仪价格昂贵 常和标准湿度发生器配套使用 干湿球法 这是 18 世纪就发明的测湿方法 历史悠久 使用最普遍 干 湿球法是一种间接方法 它用干湿球方程换算出湿度值 而此方程是有条件的 即在湿球附近的风速必需达到 2 5m s 以上 普通用的干湿球温度计将此条件 简化了 所以其准确度只有 5 7 RH 干湿球也不属于静态法 不要简单地认为 只要提高两支温度计的测量精度就等于提高了湿度计的测量精度 电子式湿度传感器法 电子式湿度传感器产品及湿度测量属于 90 年代兴 起的行业 近年来 国内外在湿度传感器研发领域取得了长足进步 湿敏传感 器正从简单的湿敏元件向集成化 智能化 多参数检测的方向迅速发展 为开 发新一代湿度测控系统创造了有利条件 也将湿度测量技术提高到新的水平 比较以上五种测湿方法 在通用性上 很显然 前三种是不适用的 现代湿度 测量方案最主要的有两种 干湿球测湿法 电子式湿度传感器测湿法 下面对这两种方案进行比较 电子式湿度传感器是近几十年 特别是近 20 年才迅速发展起来的 湿度 传感器生产厂在产品出厂前都要采用标准湿度发生器来逐支标定 电子式湿度 传感器的准确度可以达到 2 一 3 RH 在实际使用中 由于尘土 油污及有害气体的影响 使用时间一长 会产 生老化 精度下降 湿度传感器年漂移量一般都在 2 左右 甚至更高 一般 情况下 生产厂商会标明 1 次标定的有效使用时间为 1 年或 2 年 到期需重新 标定 所以电子式湿度传感器测湿方法更适合于在洁净及常温的场合使用 电子式湿度传感器的精度水平要结合其长期稳定性去判断 一般说来 电 子式湿度传感器的长期稳定性和使用寿命不如干湿球湿度传感器 干湿球测湿法的维护相当简单 在实际使用中 只需定期给湿球加水及更 换湿球纱布即可 与电子式湿度传感器相比 干湿球测湿法不会产生老化 精 度下降等问题 所以干湿球测湿方法更适合于在高温及恶劣环境的场合使用 考虑到粮库的高温 高灰尘的使用场合 系统工作的稳定性 寿命 生产 的成本价格 本系统选择干湿球测湿原理来设计温湿度综合检测仪 其具体操作方法 信息的采集放置两只数字化温度传感器 DS18B20 一只 置于被测物体所在空气中 测得的温度称为干球温度 另一只用纱布包裹 纱 布下端垂于一个蒸馏水器皿中 测得的温度称为湿球温度 根据干湿度温度计 测量原理 在得到温度 干球温度 的同时 只要计算出干球温度和湿球温度 的差值 通过查温差相对湿度表就可得出湿度 3 2 2 2 2 2 2 数字式温度传感器数字式温度传感器 DS18B20DS18B20 13 13 本系统选择的温度传感器是 数字式温度传感器 DS18B20 通常粮食温度的检测系统主要选用热敏电阻 数字式温度传感器 光纤温 度传感器作为温度传感器 也有的选用其它温度传感器 例如 PN 结型温度传 感器 1 热敏电阻作为温度敏感元件 热敏电阻主要优点是成本低 但需后续 信号处理电路 而且可靠性相对较差 准确度和精度都较低 2 光纤温度传感器的精度很高 但成本较贵 如果要求在多个点检测时 显然不实际 3 PN 结型温度传感器易受外界条件影响且精度低 4 DS18B20 数字温度计是美国 DALLAS 公司最新推出的 1 Wire 总线数字 式温度传感器 与传统的温度传感器不同 它能够直接读出被测温度 并且可 根据实际要求通过简单的编程实现 9 12 位的数字值读数方式 可以分别在 93 75ms 和 750ms 内将温度值转化 9 位和 12 位的数字量因而使用 DS18B20 可 使系统结构简单 可靠性更高 芯片的耗电量很小 最可贵的是这些芯片在检 测点己把被测信号数字化了 因此在单总线上传送的是数字信号 这使得系统 的抗干扰性好 可靠性高 传输距离远 1 Wire 单总线好处是 与 CPU 接口方便 可不必过多考虑前向通道中诸 如信号放大 A D 转换 多路开关选择 零点漂移 传感器供电和干扰等因素 可以在满足系统要求的前提下最大限度的减少系统开发成本和技术难度 出厂 时 DS18B20 片内 ROM 中都光刻了唯一的 64 位序列号 所以可以在一根总 线上挂接任意多个 DS18B20 单片机根据不同的序列号作为地址寻址可以对 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 10 不同的 DS18B20 进行监控 这样就可以很方便地构成单线多点温度测量系统 经过综合考虑 本文选择美国 DALLAS 的数字式温度传感器 DS18B20 下面介绍 DS18B20 的基本情况 1 DS18B20 的特点 1 只要求一个端口即可实现通信 2 在 DS18B20 中的每个器件上都有独一无二的序列号 3 实际应用中不需要外部任何元器件即可实现测温 4 测量温度范围在 55 C 到 125 C 之间 5 数字温度计的分辨率可以从 9 位到 12 位选择 测温精度为 0 5 度 6 内部有温度上 下限告警设置 2 DS18B20 的引脚介绍 名称引脚功能描述 GND 地信号 DQ 数据输入 输出引脚 开漏单总线接口引脚 当被用着在寄生电源 下 也可以向器件提供电源 VDD 可选择的 VDD 引脚 当工作于寄生电源时 此引脚必须接地 表 2 1 DS18B20 引脚 3 DS18B20 的操作 其操作分四个部分 初始化 ROM 操作命令 存储器操作命令 DS18B20 读写操作 一 初始化 总线上的所有操作前要初始化主机 先发复位信号 之后 从机发出在线 信号 后者通知主机 DS18B20 在线 并等待接收命令 二 ROM 操作命令 主机收到 DS18B20 在线信号后 就可以发送四个 ROM 操作命令中的一 个 这些命令字均为 8 位的 16 进制数 最低位在前 现将这些命令说明如下 1 读命令 33H 2 选择定位命令 SSH 3 跳过 ROM 序列号检测命令 CCH 4 查询命令 FOH 5 报警查询命令 ECH 三 存贮器操作命令 1 写入 4EH 2 读出 BEH 3 复制 48H 4 开始转换 44H 5 回调 B8H 6 读电源标志 B4H 四 DS18B20 的读写操作 1 复位 2 写操作 3 读操作 以上是 DS18B20 的操作过程 本文选择数字式温度传感器 DS18B20 完全满足 系统温度范围 5 60 精度 0 5 的设计要求 2 2 2 2 3 3 单片机单片机 AT89C51AT89C51 根据系统要求选择单片机 AT89C51 AT89C51 是 ATMEL 公司生产的一种带 4K 字节闪烁可编程可擦除只读存储 器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电 压 高性能 CMOS8 位微处理器 图 2 2AT89C51 引脚 1 AT89C51 的特点 1 与 MCS 51 兼容 2 K 字节可编程闪烁存储器 3 寿命 1000 写 擦循环 4 数据保留时间 10 年 5 全静态工作 0Hz 24Hz 6 三级程序存储器锁定 7 128 8 位内部 RAM 8 32 可编程 I O 线 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 12 9 两个 16 位定时器 计数器 10 5 个中断源 11 可编程串行通道 12 低功耗的闲置和掉电模式 13 片内振荡器和时钟电路 2 AT89C51 的引脚介绍 略 3 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置 为片内振荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应不接 有余输入至内部时钟信号要通过一个二分频触发器 因此对外 部时钟信号的脉宽无任何要求 但必须保证脉冲的高低电平要求的宽度 4 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合 并保 持 ALE 管脚处于低电平 10ms 来完成 在芯片擦操作中 代码阵列全被写 1 且在任何非空存储字节被重复编程以前 该操作必须被执行 此外 AT89C51 设有稳态逻辑 可以在低到零频率的条件下静态逻辑 支持两种软件可选的掉 电模式 在闲置模式下 CPU 停止工作 但 RAM 定时器 计数器 串口和中 断 系统仍在工作 在掉电模式下 保存 RAM 的内容并且冻结振荡器 禁止所用其 他芯片功能 直到下一个硬件复位为止 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 2 2 2 2 4 4 共阴极显示驱动共阴极显示驱动 MAX7219MAX7219 23 23 MAX7219 是美国 MAXIM 公司推出的三线串行 8 位 LED 可编程共阴极显示驱 动器 其片内包含有一个 BCD 码到 B 码译码器 多路复用扫描电路 段和数字驱 动器及存储每个数字的 8X8 固态 RAM 它不需要如同在传统的显示电路中 每 一个 LED 显示器需一个译码芯片 而每一段又需要一个限流电阻 这使电路变 得简单 节省了系统很多资源 从而降低了系统成本也减少了电路板空间的要 求 图 2 3 MAX7219 引脚 引脚介绍 DIN 串行数据输入线 DIG0 7 八位数字驱动线 它从显示器上吸入电流 LOAD 装载数据输入线 CLK 时钟输入端 SEGA G 七位驱动器和小数点线 它供给显示器源电流 ISET 通过电阻接到 V 以建立峰值段电流 DOUT 串行数据输出线 MAX7219 是微处理器和共阴极七段 八位 LED 显示 图条 柱图显示或 64 点阵显示接口的小型串行输入 输出芯片 片内包括 BCD 译码器 多路扫描控制 器 字和位驱动器 8X8 静态 RAM 外部只需要一个电阻设置所有 LED 显示器字段 电流 MAX7219 和微处理器只需三根导线连接 每位显示数字有一个地址由微处 理器写入允许使用者选择每位是 BCD 译码或不译码 使用者还可选择停机模式 数字亮度控制 从 1 8 选择扫描位数和对所有 LED 显示器的测试模式 MAX7219 和单片计算机连接有三条引线 D1N CLK LOAD 采用 16 位数据 串行移位接收力一式即单片机将 16 位二进制数逐位发送到 D1N 端 在 CLK 上 升沿到来前准备就绪 CLK 的每个上升沿将一位数据移入 MAX7219 内移位寄存 器 当 16 位数据移入完 在 LOAD 引脚信号上升沿将 16 位数据装入 MAX7219 内的相应位置 在 MAX7219 内部硬件动态扫描显示控制电路作用下实现动态显 示 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 14 2 2 3 3 软件语言的选取软件语言的选取 本系统以单片机为核心 采用汇编语言编程 在已经有众多高级语言和可 视化集成开发环境工具的今天 汇编语言仍然是一门不可缺少的有效的程序设 计语言 汇编语言是指用指令的助记符 符号地址 标号等符号书写程序的一 种软件语言 它是计算机软件设计的重要工具 在系统软件开发 实时控制的 和实时处理领域中有着不可替代的地位 用汇编语言编程可以充分发挥计算机 硬件的功能 进行高质量的设计 开发出的软件具有内存开销小 运算速度快 的特点 而且它不独立于具体机器 是一种非常通用的低级程序设计语言 采 用汇编语言编程 用户可以直接操作到单片机内部的工作寄存器和片内 RAM 单 元 处理数据的过程非常具体 注 注 附录温差对应相对湿度表 第三章第三章 温湿度检测仪主要硬件电路设计温湿度检测仪主要硬件电路设计 3 3 1 1 单片机主机系统电路单片机主机系统电路 图 3 1 系统电路 主机系统由单片机 89C51 复位电路 时钟电路组成 3 3 1 1 1 1 时钟电路时钟电路 15 15 单片机的时钟信号用来提供单片机片内各种微操作的时间基准 时钟信号 通常用两种电路形式得到 内部振荡和外部振荡 MCS 51 单片机内部有一个用 于构成振荡器的高增益反向放大器 引脚 XTALl 和 XTAL2 分别是此放大电 器的输入端和输出端 由于采用内部方式时 电路简单 所得的时钟信号比较 稳定 实际使用中常采用这种方式 如图 3 1 所示在其外接晶体振荡器 简称 晶振 或陶瓷谐振器就构成了内部振荡方式 片内高增益反向放大器与作为反 馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时 钟脉冲 图 3 2 中外接晶体以及电容 C2 和 C3 构成并联谐振电路 它们起稳定振 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 16 荡频率 快速起振的作用 其值均为 30PF 左右 晶振频率选 12MHZ 图 3 2 时钟电路 3 3 1 1 2 2 复位电路复位电路 为了初始化单片机内部的某些特殊功能寄存器 必须采用复位的方式 复 位后可使 CPU 及系统各部件处于确定的初始状态 并从初始状态开始正常工 作 单片机的复位是靠外电路来实现的 在正常运行情况下 只要 RST 引脚 上出现两个机器周期时间以上的高电平 即可引起系统复位 但如果 RST 引 脚上持续为高电平 单片机就处于循环复位状态 复位后系统将输入 输出 IJO 端口寄存器置为 FFH 堆栈指针 SP 置为 07H SBUF 内置为不定值 其 余的寄存器全部清 0 内部 RAM 的状态不受复位的影响 在系统上电时 RAM 的内容是不定的 复位操作有两种情况 即上电复位和手动 开关 复位 本系统采用上电复位方式 图 3 3 中 RES2 和 C1 组成上电复位电路 其值 R 取为 1K C 取为 1UF 图 3 3 复位电路 3 3 2 2 1 Wire1 Wire 单总线技术单总线技术 22 22 DS18B20 是美国 DALLAS 公司生产的新型单总线数字温度传感器 即 1 Wire 单总线 单总线顾名思义只有一根数据线 它可以将测量到的温度结 果以串行数字信号输出 1 Wire 单总线好处是 与 CPU 接口方便 可不必过多考虑前向通道中诸 如信号放大 A D 转换 多路开关选择 零点漂移 传感器供电和干扰等因素 可以在满足系统要求的前提下最大限度的减少系统开发成本和技术难度 出厂时 DS18B20 片内 ROM 中都光刻了唯一的 64 位序列号 所以可以 在一根总线上挂接任意多个 DS18B20 单片机根据不同的序列号作为地址寻 址可以对不同的 DS18B20 进行监控 这样就可以很方便地构成单线多点温度 测量系统 DS18B20 的工作电压为 5V 可以通过 DS18B20 的电源引脚进行 供电 也可以通过 DS18B20 的数据线进行寄生供电 DS18B20 的测温范围从 一 55 到 125 C 测量精度可以达到 0 0625 C DS18B20 的温度转换结果的位 数可以由软件编程确定 可以直接输出 9 至 12 位的数字信号 默认值为 12 位 DS18B20 的内部结构 DS18B20 采用 3 引脚 TO 92 小体积封装 其内部结构如图所示 图 3 4 DS18B20 内部结构 主要由 4 部分组成 64 位 ROM 序列码 温度传感器 非易失性的温度报警 触发器 TH 和 TL 配置寄存器 DS18B20 的供电方式 DS18B20 有两种供电方式 寄生源供电和外部供电 本系统选择的是外部供电 当 DQ 或 UDD 引脚为高电平时 这个电路便 取 得电源 寄生电源的优点是双重的 远程温度监测无需木地电源 缺少正常电源 条件下也可以读 ROM 为了使 DS18B20 能完成准确的温度变换 当温度变换发 生时 DQ 线上必须提供足够的功率 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 18 图 3 5 DS18B20 供电方式 DS18B20 工作在外部电源工作方式 如图 3 5 所示 这种方法的优点是 在 DQ 线上不要求强的上拉 总线上主机不需要连接其它的外围器件便在温度 变换期间使总线保持高电平 这样也允许在变换期间其它数据在单总线上传送 此外 在单总线上可以联多个 DS18B20 而且如果它们全部采用外部电源工作 方式 那么通过发出相应的命令便可以同时完成温度变换 图 3 6 测温电路 测温如图 3 6 所示 其采用 1 Wire 单总线技术 单片机和 DS18B20 之 间只用了一根数据线相连 他们进行一次温度采集至多需要大约 1 秒钟的时间 在粮情监控系统中能够满足需要 3 3 3 3 显示电路显示电路 微机化测控系统中常用的测量数据的显示器有发光二极管显示器 简称 LED 或数码管 和液晶显示器 简称 LCD 这两种显示器都具有线路简单 耗 电少 成本低 寿命长等优点 本系统输出结果选用 8 个 LED 显示 数码管 有共阴共阳之分 本系统采用 8 段共阴型 LED 其原理图如图 3 7 所示 每 位数码管内部有 8 个发光二极管 公共端由 8 个发光二极管的阴极并接而成 正常显示时公共端接低电平 GND 各发光二极管是否点亮取决于 a dp 各引 脚上是否是高电平 图 3 7LED 共阴极接法 多路 LED 显示器有静态显示和动态显示两种形式 静态显示就是各位同 时显示 因此 各位 LED 数码管的位选端应连在一起固定接地 共阴极 因 系统中的串行口以作为串行通信用 所以每位数码管的每位段选线 a dp 与一 个 8 位并行口相连 每位可独立显示 静态显示的特点是显示亮度大 数码管 能够稳定地同时地显示各自的字型 但 4 位静态显示器就要求有 4x8 根 I O 口 线 占用 I O 口资源较多 为了简化硬件线路 提高数码管的发光效率 所以 在此选用动态显示方法 动态显示就是逐位分时轮流显示 为实现这种显示方 式 各位 LED 数码管的段选端应并接在一起 由同一个 8 位 I O 口或者锁存 器 驱动器控制 而各位数码管的位选端分别由相应的 I O 口线或锁存器控制 由于每个数码管的所有段选端都并接在一起 通过同一个 I O 口控制 因此每 一瞬间只能显示相同的字符 在此瞬间 用一个 8 位 I O 口输出相应字符段选 码 而另一个 I O 口控制显示位送入选通电平 在此为共阴极 选通电平为低 电平 为了正常显示 必须采用 分时动态扫描 的方法显示 即每次点亮 一个 LED 显示器 延时一段时间再点亮下一个 LED 显示器 周而复始 4 个 LED 显示器轮流扫描动态显示 若每个 LED 显示器点亮 1 2ms 由于人 眼视觉余辉的暂留效应 看起来好像几个显示器同时显示 这就是分时轮流扫 描产生的效果 因而可以在 4 个 LED 显示器上 同时 显示不同的字符 也 不会有闪动的感觉 本系统硬件工作原理 在单片机应用系统中 通常用数码显示器作为输出设备显示一些需要的信 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 20 息和结果 在传统的显示驱动电路中 每一个 LED 显示器需要一个译码芯片 而每一段又需要一个限流电阻 在显示信息量较大时 使电路变得复杂也占用了 系统很多资源 MAX7219 芯片是美国 MAXIM 公司出品的新型紧凑型 可编程共 阴极显示驱动器 可以用来把微处理机接口连接到多达八位数字的七段数字 LED显示器 与传统的驱动 LED 相比 节省了很多芯片资源 片内包含有一个 BCD 码到 B 码译码器 多路复用扫描电路 段和数字驱动器及存储每个数字的 8X8 固态 RAM 而且只需一个外部电阻来设置所有 LED 的段电流 从而降低了系 统成本减少了电路板空间的要求 串行数据格式见下表 23 D15 D14 D13 D12D11 D10 D9 D8D7D6D5D4D3D2D1D0 X X X X 地址高 数据 低 表 3 1 串行数据格式 图 3 8 显示电路 可以看出此芯片无需片选信号 它具有一个 3 线串行接口 可以方便地直 接与单片机的串行接口相接 单片机的数据端 RXD 自接连接于 M A X7219 的 串行数据输入端 DIN 单片机的同步移位脉冲端 TXD 与串行时钟端 CLK 直 接相连 CLK 的最高频率为 10M Hz 由寄存器地址和操作命令组成的十六位 数据包发送到 DIN 端 在每一个 CLK 的上升沿锁存到芯片内部的移位寄存器 中 在 LOAD 的上升沿数据的最后十六位被锁存到数据或控制寄存器中 串 行数据接收到的第一位为最高位 D15 而单片机串行数据输出的第一位是最低 位 D0 在本论文中 AT89C51 的串行口是一个可编程的全双下串行通信接口 通过软件编程可以设置 4 种工作方式 对应于显示电路单片机的串行接口 设 定为工作方式 0 作为同步移位寄存器使用 由于在串行通讯时两者数据格式 的不统一 所以需要建立数据缓冲区 存放数据的变码 例如 OC H 变为 60H 存储 在 FRAM 为起始地址的单元中存放着控制指令变码 以 FADR 为起始地 址的单元中存放着对应指令的控制寄存器地址变码 单片机 AT89C51 内部寄 存器 R2 作为输出计数器初始化程序 FIRMAX 将 MAX7219 设置为正常下作方 式 亮度最大 非译码方式和扫描界线为 8 个 注 附录里有完整的系统电路图 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 22 第四章第四章 温湿度检测仪软件设计温湿度检测仪软件设计 4 14 1 系统软件设计系统软件设计 4 4 1 1 1 1 系统流程图系统流程图 开 始 初始化单片机 初始化传感器 发跳过 ROM 命令 温度转换 转换结束 初始化传感器 发匹配 ROM 命令 读匹配温度 温度送缓冲区 按顺序将温度送显示 检查完毕 结 束 图 4 1 系统流程图 4 4 1 1 2 2 系统主程序系统主程序 温度值读取显示程序 其工作过程 单片机首先发出跳过 ROM 命令以对所 有传感器进行操作 随后发出温度转换命令 传感器开始进行温度转换 山于 传感器有惟一的序号 所以在温度值读取时 可通过匹配 ROM 命令 逐一读取 各测温点的温度值 当采集结束 送值显示 程序结构框架如下 19 ORG 0000H 单片机内存分配申明 MAIN LCALL GET TEMPER 调用读温度子程序 LCALL DISPLAY 调用数码管显示子程序 调用显示子程序实现延时一段时间 等待 AD 转换结束 12 位的话 750 微秒 显示子程序 End 4 4 2 2 DS18B20DS18B20 温度数据采集温度数据采集 4 4 2 2 1 1 数据采集流程图数据采集流程图 开 始 发 DS18B20 复位命令 发匹配 ROM 命令 CRC 完成 CRC 校验正 确 移入温度暂存器 结 束 图 4 2 数据采集流程图 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 24 4 4 2 2 2 2 数据采集子程序数据采集子程序 DS18B20 的一线工作协议流程是 初始化 ROM 操作指令 存储器操作指令 数据传输 其工作时序包括 初始化时序 写时序和读时序 每个工作时序都 有相应的要求 这在 DS18B20 接口程序设计时必须给予足够的重视 1 DS18B20 的初始化 DS18B20 初始化的实质是使 DS18B20 复位 主要是通过判断存在脉冲的形 式来实现的 首先 主机发复位脉冲 即宽度范围为 480us t 960us 的负脉冲 拉高 15 90us 以延是等待 然后通过输入 输出线读存在脉冲 为低则为说明 存在 复位成功 否则说明不存在 复位失败 必须对 DS18B20 重新初始化 这是 DS18B20 复位初始化子程序 INIT 1820 SETB P2 2 NOP CLR P2 2 2 字节写 DS18B20 程序 字节写的时序是拉低输入输出线至少 15us 己作为起始信号 按从低位到高 位的顺序取出预写入字节的 1 位数据 写输入 输出线 延时等待 I5us 后将输 入 输出线拉高 作为停止信号 以等待下一个的写入 字节写 DS18B20 的程 序设计必须严格按照要求的时序才可以 写 DS18B20 的子程序 有具体的时序要求 WRITE 1820 MOV R2 8 一共 8 位数据 CLR C WR1 CLR P3 6 MOV R3 6 DJNZ R3 RRC A MOV P3 6 C MOV R3 23 DJNZ R3 SETB P3 6 NOP DJNZ R2 WR1 SETB P3 6 RET 3 字读 DS18B20 程序 字读 DS18B20 的程序设计和字节写 DS18B20 程序类似 16 位数据同样也 是从低位到高位被逐一读出并存储的 而且由于读出温度值是补码形式 在使 用前必须进行补码转换 读 DS18B20 的程序 从 DS18B20 中读出两个字节的温度数据 READ 18200 MOV R4 2 将温度高位和低位从 DS18B20 中读出 MOV R1 29H 低位存入 29H TEMPER L 高位存入 28H TEMPER H RE00 MOV R2 8 数据一共有 8 位 RE01 CLR C RET 4 4 3 3 MAX7219MAX7219 驱动驱动 8 8 位以下位以下 LEDLED 显示器显示器 4 4 3 3 1 1 MAX7219MAX7219 工作流程图工作流程图 显示部分采用 3 线串行显示方式 由 MAX7219 芯片控制 8 个数码管显示 基于 MAX7219 的 8 位数码管显示程序包含以下几个部分 对 MAX7219 初始化字写 MAX7219 程序显示子程序 图 4 3 MAX7219 工作流程图 MAX7219 在驱动 8 位以下 LED 显示器时 它的 D1N CLK LOAD 端分别接单片 机 P0 P3 口中的任意三条口线 注意在三条线上对地应接几十至几百 PF 电容 在 P0 口作为 D1N CLK LOAD 信号线时还应接 lOK 左右的上拉电阻 在显示 器与微处理器连接线较长时还应考虑干扰的影响 4 3 24 3 2 MAX7219MAX7219 工作子程序工作子程序 相应的程序设计如下 MAX7219 的初始化 对 MAX7219 的初始化 实际上就是对 MAX7219 的扫 描限制寄存器 扫描数码管的个数 亮度寄存器 译码模式寄存器及工作寄存 器进行正确的设置 在进行程序前 必须清楚一点 就是 MAX7219 采用 16 位 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 26 数据包的形式 也就是说对 MAX7219 写入时是以 16 位数作为一个整体来进行 的 也即两个字节 高字节为寄存器地址或显示 RAM 地址 低字节为命令或数 据 地址字节的高 4 位为无关位 通常取 1 MAX7219 初始化程序 MAXO MOV A OBH 选择显示位数 MOV R2 07H LED 为 8 位 可根据显不位数确定 LCALL YW MOV A 09H 选择模式 MOV R2 0FFH BCD 译码方式 LCALL YW MOV A 0CH MOV R2 01H 选择正常工作 LCALL YW RET 显示子程序 显示子程序的作用是将非压缩的 BCD 码形式的显示代码写入对 应的数码管 显示 RAM 寄存器 常用的 0 9 和 A F 的显示代码对应为 04H 09H 和 OAH 0FH 如要在对应的位上显示小数点 只要将对应的显示代码的最高位 置 1 即可 例如要显示 0 其显示代码为 80H 显示程序 DISP MOV R0 40H 显示缓冲首地址 MOV R1 01H MAX7219 内 RAMO 地址 MOV R3 08H LOOP1 MOV A R0 INC R0 修改缓冲区地址 INC R1 修改 MAX7219 内 RAM 地址 DJNZ R3 LOOP1 RET YW LCALL SEND 移入 MAX7219 16 位数据 SETB P1 1 装载数据 RET SFND MOV R4 08H 移入 8 位数据 LOOP2 CLR P1 2 DJNZ R4 LOOP2 RET 注 注 附录了数字传感器 DS18B20 程序 基于 89C51 单片机的粮食水分 温度综合检测仪的设计 28 第五章第五章 系统的调试 可靠性和抗干扰技术系统的调试 可靠性和抗干扰技术 5 5 1 1 系统的调试系统的调试 1 信息的采集 放置两只数字化温度传感器 DS18B20 一只置于被测 物体所在空气中 测得的温度称为干球温度 另一只用纱布包裹 纱布下端垂 于一个蒸馏水器皿中 测得的温度称为湿球温度 根据干湿度温度计测量原理 在得到温度 干球温度 的同时 只要计算出干球温度和湿球温度的差值就可 测出湿度 在这里 要注意适当通风 使得湿球所得温度值更接近真实值 2 共阴极驱动中 串行数据接收到的第一位为最高位 D15 而单片机串 行数据输出的第一位却是最低位 D0 这一点在接线 调试时应该注意 3 显示 共用了八个 LED 数码管 拟前三个显示干球温度 即 粮食 温度 接着三位 显示湿球温度 最后 两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AGS-16C3F-AGS-16M8F-生命科学试剂-MCE
- 政策引导下的2025年医疗器械国产化产业政策优化研究报告
- 2025年食品冷链物流温控技术设备应用市场前景分析报告
- 2025年直播平台内容监管与行业自律发展策略研究
- 2025年线下演出市场复苏与演出市场可持续发展报告
- 深度解析2025年智能投顾平台风险控制与合规运营挑战与机遇报告
- 2025年城市公交枢纽无障碍设施建设社会稳定风险评估报告
- 血液净化医疗服务行业竞争格局分析及市场前景预测报告
- 2025年咖啡连锁品牌市场布局下的高铁站饮品品牌市场定位报告
- 新能源汽车废旧电池回收利用行业产业链上下游企业竞争力对比报告
- 《关于智能家居系统》课件
- 煤矿重大灾害治理顶层设计方案
- 从患者心理出发优化医患沟通
- 灰尘的旅行测试题及答案
- 孵化器员工合同协议
- 2024年云南省初中学业水平考试生物学试题卷
- 净含量管理制度
- 企业国际化人才队伍建设
- 智慧树知到《走进故宫(故宫研究院)》期末考试答案
- 2025年春季高一年级入学考试英语试卷
- 碧道施工方案
评论
0/150
提交评论