基于单片机的温度巡检系统设计_第1页
基于单片机的温度巡检系统设计_第2页
基于单片机的温度巡检系统设计_第3页
基于单片机的温度巡检系统设计_第4页
基于单片机的温度巡检系统设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- 1 -摘 要本次系统设计是以 AT89C51 单片机以及 DS18B20 温度传感器为硬件基础的多点温度测量系统。以 51 单片机为主控模块,完成各个测点的准确温度测量,并添加了温度数值显示以及温度提醒等。保持显示模块 LCD1602A 以进行识别和显示。LCD1602A 作为液晶显示器 ,形象直观的显示测出的温度值。选取DS18B20 作为温度数据采集端,对测点实施有效温度测定,该传感器模块精度较高,误差在 0.1范围内。此文首先在绪论中详细的介绍了此系统的发展背景以及使用的功能及其意义。第二章确定设计方案。在第三章论述了总体的设计过程,确定了技术指标和元件的选择进行了设计中的硬件框图设

2、计、硬件电路设计及所系统中各种芯片功能与使用方法。第四章则着重分析了设计的每个过程。最后一章是对系统设计过程中的软件以及调试环节进行了具体阐述。多点温度测定是基于 AT89C51 完成开发,具备模块构造简单和多点温度检测功能、数字显示、精准度高、使用范围广范的特点,在实际的生产、生活中得到广泛应用。关键词:数字温度传感器,AT89C51 单片机,单总线- 2 - AbstractThe system mainly uses a distance-free multi-point temperature measurement system based on AT89C51 single-chi

3、p microcomputer and DS18B20 temperature sensor. The system uses AT89C51 single-chip microcomputer to sequentially detect the temperature of each monitoring point to realize the functions of temperature detection, display and overheating. The system mainly uses the single-chip AT89C51 microcomputer a

4、s the control core of the main system. The display module LCD 1602A is held for identification and display. LCD1602A is used as a liquid crystal display to visually display the measured temperature value. The digital temperature sensor DS18B20 is used to detect the temperature of each channel, and t

5、he monitoring accuracy can reach 0.1 C. This article first introduces in detail the development background of the system and the functions used and its significance in the introduction. The second chapter determines the design. In the third chapter, the overall design process is discussed, and the t

6、echnical indicators and component selection are determined. The hardware block diagram design, hardware circuit design and various chip functions and usage methods in the system are carried out. The fourth chapter focuses on the analysis of each process of design. The final chapter details the debug

7、ging software and debugging issues of the system. The multi-point temperature measurement and control system is based on a single-chip AT89C51 single-chip microcomputer. It has a simple hardware structure, multi-point temperature detection function, digital display, high precision and wide range of

8、applications. It is widely used in actual production and life. Key words:digital temperature sensor, AT89C51 single chip, single-bus - 3 -目录目录摘 要.- 1 -第 1 章 绪 论.- 4 -第 2 章 系统方案设计.- 6 -2.1 方案设计.- 6 -2.2 方案论证.- 7 -第 3 章 系统设计.- 8 -3.1 工作原理 .- 8 -3.2 单元电路设计.- 10 -3.2.1 DS18B20 与单片机接口电路设计.- 10 -3.2.2 键盘电

9、路设计.- 18 -3.2.3 显示电路设计.- 21 -3.2.4 报警电路设计 .- 24 -第 4 章 系统软件设计.- 25 -4.1 软件设计总体思路及主程序流程图.- 25 -4.2 测温模块流程图.- 26 -4.2.1 温度的采集 .- 28 -4.2.2 多点温度的测量 .- 28 -4.3 显示模块流程图.- 29 -4.4 键盘扫描流程图.- 30 -4.5 Protues 仿真 .- 32 -第 5 章 元器件安装及调试.- 33 -5.1 元器件安装 .- 33 -5.2 产品调试 .- 36 -5.2.1 测试环境及工具.- 36 -5.2.2 温度检测部分测试.-

10、 36 -5.2.3 电路主板测试.- 37 -5.2.4 统一调试.- 37 -参考资料.- 38 -致 谢.- 39 -附录一.- 40 -附录二.- 41 -附录三.- 43 -总程序 .- 43 -主程序 .- 47 - 4 - 5 -第 1 章 绪 论21 世纪的今天,科学技术的进步与日俱增,科技的发展带动了测量的发展步伐,现代化智能控制工具的使用和结构发生了翻天覆地的变化。中国已经进入了高速发展的信息时代,测量技术也成为当今世界科技发展的一个主流,宽泛地进入到了生产和应用生活的各个领域。成为了当今世界发展中不可或缺的一个要求。温度作为当今生活中必不可缺的物理量,同时在生产、科研、研

11、究中需要测量和把控的重要物理量,温度是国际单位制七个基本量之一,可见其重要性。温度的高低变换给我们的生活、生产、工作等带来影响,例如,四季的变幻,深深地影响着我们当代人的生活,故此对于温度的测量和把控尤为关键。温度的测量和控制通常采用温度传感器。随着 21 世界计算机应用和自动化生产业的发展,温度以各种信息的采集、显示、计算处理的功能器件,温度传感器在当今使用作用日益明显,温度可为自动检测、自动控制化生产和日常测试中缺一不可的重要物理量,温度的应用日常生活和工业生产等各个方面。单线多点式温度传感器在煤矿、高层建筑、航天飞行器等重要应用中有着重广泛的使用,故研究人员对其利用广泛注重。21 世纪,

12、早已各式各样的分布式温度传感器的相关论文发表,例如光纤光栅温度传感器等,但因为其造价高,技术难应用的地方很少,导致很少有人应用。本系统选取了美国一家公司成产的最新温度传感器 DS18B20,DS18D20 拥有自己特殊的单总线接口 ,通俗上讲就是允许一根线路上可以接多个数字传感器 ,从而实现装置与传感器的连接线少,连接简单,改变了模拟式传感器在和微机接时需要利用的 A/D 转换器和其它的缺点。运行时首先控制信号对测量点识别,这样的系统布线便可以变得简单轻快。可以构成由多个传感器的测量网络系统。另外在与传统的热敏电阻传感器相比较,它具有非常高的的测量精准度。因此,DS18B20 数字温度传感器为

13、传统的温度传感器更经济,更灵活,更无失真,更准确等,并已广泛应用于日常科研和生产中。现在电子技术的运用和市场需求的发展使得单片机技术获得了飞快的发展速度,在高精度,高运度,低成本等多个优势方面取得了很大的进展。正直科学技术发展的高潮,电子技术借着这个浪潮势必有更高的飞跃,现在我们可以完全可以依靠单片机来完成以前利用人工的测量,这样既省时又省力。单片机在控制领域成功占据一席之地。- 6 -本次系统设计是以 C51 单片机作为主控模块,并且集成了必要 DS18B20 温度采集端口。许多传感节点通过一条共用线路与单片机组成一个分布式系统。单片机控制并实时监测温度的变化。通过 LCD1602 字符液晶

14、显示屏显示数值,可以实时准确的读取每个节点的温度。若温度值超过初始设定的温度界限,则会调用报警功能。- 7 -第 2 章 系统方案设计2.1 方案设计解决方案 1:系统是由单片机作为主控功能模块,温度采集元件选用D590,使用 LCD 对温度值进行显示,添加蜂鸣器进行报警,4x1 按键单元等构成。该系统运行状态下检测到温度变化之后,将该温度转换调节到电流转换,并将电流转换为电压信号。经过转后的信号再经放大器将信号放大到适应的信号。最后在转换器的作用下将放大的电压信号转换成为数字的信号,单片机便可对数字信号进行读取和接收。接收后的信号显示到 LCD 屏幕上,假若温度超过了个人设定的数值,系统报警

15、。如图 1-1 所示:图 1-1 方案一温度测量系统方案框图AT89C51 是本次系统设计的核心功能模块,温度传感器选取为 DS18B20传感元件。对于要顺序检测的每个检测点,通过多个传感器执行检测方法。通过 4x1 按键对系统数值进行修改以及更改数值的大小。单独设定温度,超过预设温度启动蜂鸣报警器。不超过则通过 LCD 屏显示。如图 1-2 所示:单 片 机LCD显示模块集成功放报警器键盘模块AD转换运算放大器 模拟温度传感器- 8 -温度传感器温度传感器温度传感器温度传感器单片机41 键盘LCD 液晶显示电路报警电路图 1-2 方案二温度测量系统方案框2.2 方案论证第一种解决方案使用模拟

16、温度传感器,转换结果必须通过运算放大器和 A / D 转换器传输到处理器。优点虽然控制简单,但由此产生的电路非常复杂,监测和监测多点温度报警变得非常困难。同时,使用了许多分立的电子元件和数字转换器,因此误差概率变大测量结果也不准确,因此不建议采用第一种方法。第二种方案借助于 DS18B20 完成测点温度值的采集,并直接完成数值的传递显示,系统测量准确度得到了提升,并且整个硬件结构也较为简单。温度值的显示需要按照数据传输协议以及数模转换来完成。此种方案的编程需要我们掌握我 DS18B20 的使用和 LCD 显示屏、4x4 按键模块等一些模块的使用。加上对 c 语言编程的基础并利用软件 PROTE

17、US 对设计方案仿真即可实现方案要求。总而言之,第二种方案相比第一种可行,从经济方面和实现方面都优越于第一种方案。 故此,本系统选用第二种方案最为合适。- 9 -第 3 章 系统设计3.1 工作原理 单片机的单线对多点温度检测需要以 AT89C51 作为系统控制核心,需要有c 语言基础,能够使用 keil 程序开发软件平台,用 c 语言编写和烧写程序。整体需显示模块、检测模块、按键模块、报警模块组成。电路原理图附录一所示、编写程序如附录三所示。DS18B20 作为温度传感器,所产生的均为数字量,总线为单一一根总线,通过总线就收命令,根据其内部协议协议进行转换和处理,并将调整完成之后的数据传输给

18、主控模块。主控单元按照信息通信协议控制系统的温度采集端,即 DS18B20 传感器单元,向其输入复位指令、运存指令并对数据进行显示。系统的数值可以通过按键模块对预设值调整,测试温度超过预设温度是,报警,报警模块出发报警器响,进而实现对多点温度的事实检测和预设报警。出厂后的 DS18B20 都有一个专属的序列好,本设计系统一共需 8 个(可增加) 。在 CRC 检查之后,每个 DS18B20 的 ROM 被寻址,找到满足该地址的DS18B20,并且在使用之后接受主机的命令,并且在接收时将转换的温度发送给主机寻址的办法可以是整个系统电路省去传统电路的复杂繁琐布线。DS18B20 操作简单,但必须密

19、切关注注意事项。提到以下几点:(1)温度传感器和系统主控单元之间以直接联通的方式进行数据交互,所以说,对该传感器内采集的数据进行读取或者是写入过程中,应当保证指令的补偿。 (2)其说明机器资料中就多次写到总线上极限挂带数为 8 个以下,若想要携挂更多的DS18B20 就需要微处理器驱动。所以,在超过数额时一定要注意这点。 (3)在系统中 DS18B20 发送信号转换信号后,一定要等待返回信号。若接线不当产生虚接线路或者断线就会导致返回信号无信号。程序死循环。这是在设计中必须要注意的一点,必须予以重视。- 10 -3.2 单元电路设计3.2.1 DS18B20 与单片机电路设计(1) DS18B

20、20 与单片机的技术图 3-1 是 DS18B20 传感器以及主控功能单元的连接方式。该温度传感器集成了三个引脚,并关联到微控制器的 I / O 端口。数字输出和输入之间应该有4.7 的电阻, 图 3-1 DS18B20 与单片机接口电路 (2) 主控模块 AT89C51 C51 单片机特征C51 单片机在多个硬件平台上都表现出较强的兼容性,和 MCS-51 的指令行以及引脚数据一致;共 4k 字节的闪存空间;完全静态工作;内部集成运存为 128 字节大小,数据 I/O 接口共有 32 个;包含两个 16 位计数器功能模块;模块集成了五个中断数据节点;通信方式为串口通信,具备掉电保存功能。AT

21、89C51 主控的功能C51 是可以多次写入和擦除,次数可达 1000 次。其处理器具有高性能、低功耗等特点。片内存在重复编程和快速擦除存储器的类别。该程序及其数据可存储十年.AT89C51 和 MCS-51 系列 MCU 指令系统与引脚完全兼容,可替代- 11 -mcs-51 系列的所有 MCU。AT89C51 由于系统体积小,系统的可靠性高,系统的成本低的优势它可称为世界上最小的应用系统。但要求程序长度小于 4K,共四个 I/O 接口供使用。可编程为 5 伏电压,擦除时间仅为 10 毫秒,只有8751 和 87C51 的分数之一。与器件相比,设备损坏并不容易。没有两个电源要求。当芯片被重写

22、时,可以重复在多个控制领域进行使用。运行状态下的电压区间宽泛(一般维持在 2.7V6V 范围内) 。而主控芯片在静态模式下运行时,其对应的频率区间是 0Hz24MHz。相比之下,使用 8751单片机时工作电压范围较窄。该类型单片机数据总线是在 P0 节点位置处,并且是三态双向数据连接端口,能够实现外接存储单元的读取以及写入。 AT89C51 引脚右图是 C51 单片机的引脚示意图。AT89C51 单片机在主控领域具备较强的竞争优势,在正常工作状态下能耗低,运算速度快,运行较为稳定。芯片具备可多次编写多次擦除的储存器,次数可达 1000 次,程序可存十年。保存时间为十年。由于 AT89C51 系

23、统的体积小,系统的可靠性高,系统的成本低的优势它可称为世界上最小的应用系统。但是,程序长度小于 4K,并且总共有四个 I / O接口可供使用。在正常电压的工作状态下,完整擦除内部数据需要 10ms,而完成同样的擦除工作,8751/87C51 需要消耗百倍时长。不仅是表现在时间损耗上,AT89C51 在整个数据擦除过程中不需要外部额外电源供电,并且对于元件自身也没有损害,所以该类型单片机在多个控制领域发挥着关键性作用。运行状态下的电压区间宽泛(一般维持在 2.7V6V 范围内) 。而主控芯片在静态模式下运行时,其对应的频率区间是 0Hz24MHz。相比之下,使用 8751 单片机时工作电压范围较

24、窄。单片机数据总线是在 P0 节点位置处,并且是三态双向数据连接端口,能够实现外接存储单元的读取以及写入。- 12 -(3)DS18B20 工作原理 DS18B20 概述DS18B20 传感器是由 DALLAS 制造的传感器。它由一个总线组成,因此生成的电路简单而整体小。因此线路体积小,读取十分便捷。DS18B20 特点 数据交互只需要一个数据节点参与。 DS18B20 具备单一序列号码。 无需集成外部温度检测单元,性能较为完善。 温度采集区间为-55至+125。 内部集成了测量温度区间设定单元。DS18B20 传感器芯片的外观如右图所示,对应引脚功能如表 3-2.序号名称引脚功能描述1GND

25、地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的 VDD 引脚,当工作于寄生电源时,该引脚必须接地表 3-2DS18B20 详细引脚功能描述 DS18B20 结构表 2 P3 口的第二功能- 13 -DS18B20 框图下图所示。这是具有独一无二的序列号的。由于传感器为数字输出。暂存器具有用于保持警报限制的警报和用于较低线的警报。总共需要一个字节。暂存器的剩余字节会进行有效分配,将其转换为温度寄存器单元以及单一字节的配置寄存器模块。传感器在使用过程中支持自定义配置,保证实际采集温度符合精度要求。该传感器具有独特的运存序列号,将其作为特有标识。

26、首个八位是表示类型的产品名称,后面的数字表示该产品的序列号类型。(4)DS18B20 数据单元: 芯片在加工生产过程,序列号就光刻完成,将序列号看作是该传感器芯片的特有标识。前八位是显示类型的产品标签,最后四十八位是序列号,后八位是循环冗余校验码。它的特点就是能完成多个传感器的配置。DS18B20 适用于 12 位温度数据的采集转换,其中 16 位数据补码定义为2,在芯片中是使用代表,将字母 S 看作是字符位。其余的 R LSBC/ 0.0625On 是在完成 12 位数据转换之后,在温度传感器中储存备份,之后缓存在 RAM中等待下一步调用。在二进制的数据表示中,将前面 5 位数据表征位字符位

27、,若采集的温度超过 0,则全部写入 0,若采集的温度在 0 以下,该 5 位数字全是1,之后再借助 0.0625 完成真实值的计算。表 3-4DS18B20 温度数据表TEMPERATUREDIGITAL OUTPUTDIGITAL OUTPUT+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H- 14 -+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H

28、-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H DS18B20 的存储器单元 该温度传感器的存储单元集成了 RAM 和 MEPRAM,可以对其中的温度触发模块以及结构寄存器单元进行数据保存与调用。配置寄存器表 3-5 配置寄存器0R1R011111低五位都是1,TM 是传感器单元的固有模式位,使用者无法对其进行调整。对应分辨率的设定数据如下:表 3-6 R1 与 R0 确定传感器分辨率设置表R1R0传感器精

29、度/bit转换时间/ms00993.750110187.510113751112750(5)DS18B20 的工作过程 对 DS18B20 进行初始化配置; 利用运存指令完成数据交互调用; 功能指令相关采集温度数据。主控单元借助于 Scratchpad 存储模块对温度传感器采集的数据进行读取以及调用,还可以使用功能指令完成数据格式的调整。表 3-7 是该温度传感器功能指令信息表。 a初始化:- 15 -温度传感器所采集到的数据起始节点是初始化序列。在运行状态下,DS18B20 对输入的脉冲响应进行应答,则主控模块也同样会有反馈,确保数据收发的准确性。b. ROM 命令:将传感器在所有周期内运行

30、的代码信息定义为 ROM 指令,以便主机和设备可以与之通信。表 3-4 是该传感器的运存信息表。c. 功能命令:主控单元借助于功能指令对 Scratchpad 存储模块的数据进行读取以及调用,还可以使用功能指令完成数据格式的调整。表 3-7 是该传感器对应的功能指令信息。指令协议功能读 ROM33H读 DS18B20 中的编码(即 64 位地址)符合 ROM55H发出此命令后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS18B20,使之作出响应,为下一步对该 DS18B20 的读写作准备搜索 ROM0F0H用于确定挂接在同一总线上 DS18B20 的个数和识别 64 位

31、 ROM 地址,为操作各器件作好准备跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS18B20V 温度转换命令,适用于单个 DS18B20 工作报警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动 DS18B20 进行温度转换,转换时间最长为 500ms(典型为200ms),结果丰入内部 9 字节 RAM 中读暂存器BEH读内部 RAM 中 9 字节的内容写暂存器4EH发出向内部 RAM 的第 3、4 字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将 RAM 中第 3、4 字内容复制到 E2PROM 中重调 E2

32、PROM0B8H将 E2PROM 中内容恢复到 RAM 中的第 3、4 字节读供电方式0B4H读 DS18B20 的供电模式,寄生供电时 DS18B20 发送“0” ,外部供电时 DS18B20 发送“1”表 3-73.2.2 键盘电路设计根据设计任务书中要求实现的功能,我选择了 4X1=4 个键盘的矩阵键盘来设置温度的上、下限值,此键盘设计符合系统设置要求,所以我选择此键盘完成本设计。矩阵键盘模块设计:键盘模块可看做为按键开关组合,未工作时开关状态保持断开状态,当键盘按下时相当于电路导通,系统闭合。4x4 矩阵按键模块又叫行列键盘,这样- 16 -的模块可以提高单片机的 I/O 利用。其结构

33、和产生的波形图如图 3-11 所示:图 3-11 键盘结构及产生的波形图矩阵键盘模块工作原理:本系统使用 4x1 按键,为了方便以后改进和减少 I/O 的占用。所以,就需要设计成 4x4 形式,这样方便以后的维护及修改,通常键盘设计为 4x4 键盘。如图 3-12 所示。在 4x4 模块中,每条水平线和垂直线位于交叉点,不能间接连接。连接。使用这种行和列矩阵结构,只需要 N 行和 M 列行,并且可以形成具有 N * M个按钮的键盘。由此可以得出,单一的数据连接端口能够形成 16 个按键单元,线的数量与差异性之间呈正比关联,举例来说,增加一条线就可以构成一个 20键的键盘。并直接使用端口线,你只

34、能再多一个按钮(9 个键) 。图 3-12 键盘电路原理图列扫描法识别键号的工作原理如下:将第 0 列变为低电平,其余列为高电平,输出编码为 1110。然后读取行的电平,辨别第 0 列是否有键按下。在第 0 列上若有某一个按键按下,如果相应的行被绘制为低,则意味着在第 0 列与此行相交的位置处按下了键。如果没有任何驱动线低,则列上没有按键。将第 1 列变为低电平,其余列为高电平,输出编码为本 1101。然后通过输- 17 -入口读取各行的电平。检测其中是否有变为低电平的行线。若有键按下,则进而辨别哪一行有键按下,确定按键位置。将第 2 列变为低电平,其余列为低电时平,输出编码为本 1011。辨

35、别是否有哪一行按键按下的方法同上。将第 3 列边为第电平,其余列为低电平时,输出编码为本 0111。辨别是否有哪一行按键按下的方法同上。键盘功能如表 3-13 所示。按键P24P25P26P27功能循环显示单一查看数值加数值减3.2.3 显示电路设计温度显示工作原理:LCD1602 与单片机的两种连接方式:一种是采用 8 位数据总线 D0D7,和 RS、R/W、EN 三个控制端口;另一种是只用 D4-D7 作为四位数据分两次传送。本次设计使用八位控制完成 1602 的数据显示功能,该显示模块在线路中的连接方式如图 3-13:图 3-13 AT89C51与 LCD1602 接口电路图LCD 的设

36、计流程主要是 LCD 的控制/驱动和外界的连接设计。AT89C51 的P3.7 与 LCD1602 的使能端 E 相连,P3.6 与读写选择端 R/W 相连,P3.5 与 RS相连,当使能端使能时,再通过命令选择端来控制读数据,写数据,写命令。控制 P2 端口与 LCD1602A 的数据端口相连,传输数据。LCD1602 的性能参数- 18 -LCD1602A 的管脚排列如图 3-14、 ,它共有 16 个脚,各引脚功能如下:VSS: 电源地VDD:电源正极相连VL:显示单元模块的数据显示调整端口,主要是对比度的控制显示,同样可关联 10K 电位器。RS: 系统寄存器的选取,若该模块处于高电位

37、情况下,则选取数据寄存器单元,其余情况都是指令寄存器。 图 3-14 LCD1602A 的管脚D0D7 数据端口显示容量:162 个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WXH)mm表 3-15LCD1602A 主要技术参数表 LCD 1602A 显示模式表 3-17 LCD1602A 显示开/关及光标设置指令码功能00111000设置 16*2 显示,5*7 点阵, 8 位数据接口指令码功能00001DCBD=1 开显示 D=0 关显示C=1 显示光标 C=0 不显示光标B=1 光标闪烁 B=0 光标不闪烁000

38、001NSN=1 当读/写一个字符后,地址指针加1,且光标加 1;N=0 当读/写一个字符后,地址指针减1,且光标减 1;S=1 当写一个字符,整屏显示左移(N=1)或者右移(N=0),以得到光标不移动而整屏移动的效果;S=0 当写一个字符,整屏显示不移动。- 19 -编号符号引脚说明1VSS电源地2VDD电源正极3VL液晶显示偏压信号,4RS数据/命令选择端(H/L)5R/W读/写选择端(H/L)6E使能信号7D0Data I/O8D1Data I/O9D2Data I/O10D3Data I/O11D4Data I/O12D5Data I/O13D6Data I/O14D7Data I/O

39、15BLA背光源正16BLK背光源负表 3-18 LCD1602A 接口信号说明 LCD1602 的显示与控制命令1602 液晶模块所包含的字符可以显示点阵。而字符不仅涵盖一些数字,还包含有字母或者符号等。如,A 代表 01000001B,该字符被发送到显示模块。显示模块收到 01000001B 字符后,则最终在液晶显示器上会输出 A。1602 显示单元包含 11 个控制指令,具体如表 2:指令 1:对显示内容进行清空处理;指令 2:显示光标的复位操作;指令 3:液晶显示调整为 I/D 模式;指令 4:对线路开关显示; 指令 5:对数据移位进行读取操作;指令 6:功能指令 DL;指令 7: 运

40、存指针设定;指令 8:DDRAM;指令 9:完成信号读取,显示 BF ;指令 10:采集信号的写入;- 20 -指令 11:采集信号的读取;在工作准备阶段应当保证模块标志处于低状态,这意味着空闲,否则指令无效。要显示它,首先确定显示字符的序列号,并让系统知道它需要显示的位置。3.2.4 报警电路设计由电路板上的三极管供电的蜂鸣器产生简单的声音,从微控制器接收引脚作为电源的电源,系统超过温度设定则出发驱动报警器蜂鸣。当符合时候输出低电平后,蜂鸣器无声。图 3-19 是线路配置示意图:蜂鸣器发声电路蜂鸣器发声电路第 4 章 软件设计4.1 软件设计思路及程序流程图本设计选用 C 语言编写程序,程序

41、的主体由四部分构成, 在设计通电后,最初,硬件是根据自己的系统调试完成复位过程,之后对温度进行采集,并且温度传感器完成温度数据的分析转换处理,处理后的数据显示在 LCD 数据上,键盘处理温度的类别。第二部分主要系统自身完成对温度的八次测温试验的温度数据采集任务;其中对待温度处理部分重在于是要将采集到的温度数据与报警预设定的各点上下限值温度进行比较,比较得出是否超过报警预设定的上下限值,若超过了预设值则蜂鸣器报警提示温度异常;LCD 显示部分就是要将最后的准确温度通过液晶显示屏显示出来。在显示模块的部分,显示模块可以显示单路温度的数值,或者可以固定显示一路的测量值,同时还可以各路温度循环显示。最

42、后的键盘模块主要实现对系统参数的设置,并结合显示部分实现用户与系统的人机界面。图 4-1 是系统软件流程: - 21 -开始系统初始化温度采集温度处理数据显示键盘处理图 4-1 系统软件总流程图4.2 测温模块流程图- 22 -读温度初始化温度传感器扫描键盘选定所需芯片选定所需芯片进行温度转换读取温度调试显示子程序子程序返回图 4-2 DSl8B20 操作流程图- 23 - 4.2.1 温度的采集从上面的流程图中可以看出,DS18B20 温度传感器在自身运存中存在 48位序列号,该号段是在生产中完成光刻出厂。主控单元需要每次对一个传感器模块进行调用,使用 Read ROM 命令读取并登录 DS

43、l8B20 的序列号。来获取信息匹配,通译为自身与主机搭建桥梁。初始工作阶段,应当发出适配指令,找到想要操作的那个 DS18B20。对于温度传感器而言,完成运存的跳过是另一个操作环节,首先是对温度传感器流程中所包含的运存 ROM 进行全局跳过,也就是所有的传感模块都处于工作状态,之后主控单元以适配信号为基础,在其中逐一匹配并完成温度信号的采集。但是因为系统中放大电路和 A/D 转换器只能一个接一个地进行转换,很明显,通道越多,节省时间的效果就越明显。4.2.2 多点温度的测量本系统是单总线分布式,系统是由一个总线挂接 8 个 DS18B20。上面说了主机已经获取了每个 DS18B20 的序列号

44、,从而得到了每个 DS18B20 的 ROM代码,继而在主控单元以及程序段内完成嵌入。所以,对多个监测点进行温度采集的步骤为:(1)主控运行阶段产生 CCH 指令,对运存进行跳过;(2) 将集成的所有温度传感器进行遍历启动运行;(3)对时间进行延迟处理;(4) 主控单元产生与之相适应的 ROM 指令;(5) 在 C51 中创建数据对应关系;(6) 对温度采集端的温度进行读取操作,并完成调用;(7) 对 CRC 进行对比,将得到的温度数据缓存并转换,并传递至显示功能模块;(8) 步骤 4 至 7 循环,终止节点定为采集到所有测量点的温度值;(9) 将上述所有操作进行循环,直至测量停止。 上述的温

45、度测量流程并不是一成不变的,而是根据实际的硬件要求发生改变,例如只是集成单一的温度传感器完成温度数据采集,则应当删去步骤一,并调整为对运存适配一定时长,同时交换测量对应的值的数量,该值由单片机读取(编号)N旋转控制并发送ROM代码单元启动(N - 1)8到总线AT89 C51建立的关系表。忽略步骤8即可。在数据采集中,温度传感器以默认的12位完成精度的转换。- 24 -初始化跳过 ROM等待 1S初始化设置 18B20 个数符合 ROM读存储器缓冲指针增一初始化B1=0?否图 4-3 多路温度测量电路流程图4.3 显示模块流程图开始初始化 LCD1602写显示地址写显示字符子程序返回图 4-4

46、 LCD1602A 操作流程图4.4 按键扫描流程图DS18B20 在出厂时就设定为 12 位精度转换,并且把采集到的数据结果载入 16 位扩展中。是- 25 -(1)图 4-5 为工作流程:键盘扫描有键闭合延时去键抖动动扫描键盘找到闭合键计算键值闭合键释放建立有效标志返回建立无效标志NYNY图 4-5 键盘扫描程序流程图(2)设置报警上、下限值DS18B20 温度传感器在内部集成了温度范围控制以及超温报警单元。从存储模块上分析,该传感器包含:9 字节的静态 RAM 单元,前两个字节都是对16 位的温度数据进行调整,还有就是 E2PROM。初始使用时需要对两个存储模块的功能进行分配,若前者作为

47、超出温度范围内的报警节点工作,则应对温度上限 TH 以及下限 TL 设定,主要操作是对 RAM 指令的第 2 和 3 字节进行数据写入。若在复位的过程中调用了 E2PROM 命令 B8H,则代码段就能将温度测量范围拷入 RAM 单元中。NY- 26 -4.5 Protues 仿真 (1)首先将下载的压缩包解。双击安装文件,如图 4-1 所示。图 4-1Protues 安装(2)安装后打开 ISIS 7Professional 找到自己需要的所有元件。找到自己的元器件后,单机可以在右侧看见元器件的具体信息,点击 ok 或者双击元器件即可添加,找出自己的所有元器件即可做下一步。将所有元件按原理图连

48、接。如图 4-2 所示。图 4-2 元件连接(3)元件连接后导入程序点击开始进行虚拟仿真,通过点击按键元件调整及检测。如图 4-3 所示。图 4-3 虚拟仿真通过仿真测试证明电路没问题,功能可实现,可进行元件实物连接。第 5 章 元器件安装及调试- 27 -5.1 元器件安装(1)在安装元件前要先认识和检测元件,一些常见元件的认识与检测如下: 电容:电容在这里用到的是瓷片电容和电解电容,其外围上面都有标记,我们只需检测其好坏。在利用万用表检测时要注意如果为电解电容红表笔应接负极,黑表笔接正极。对于 2200pF 以下的电容用万用表 R10k 或R100k 测量,2200pF 以上可以用 R1k

49、 或 R100k 档测量。档次调整好了和表笔接好后,观察万用表指针是否较大的偏转,然后由最大的偏转慢慢的减小至最小值(或零) ,如果是上述情况则证明该电容有充、放电的功能,为好电容。如果发现万用表指针不偏转说明该电容开路。当万用表指针偏转至最大(阻值为零)说明该电容已击穿。 色环电阻:我们在此使用的是五个色环标志的电阻。此类电阻前三环表示有效数字,第四环表示倍率,与前四环距离较大的第五环表示允许偏差。 二极管:在该装置中,使用发光二极管,在发光二极管中,线的长端是正的而短端是负的。这是李老师教给我的一种简单方法。 三极管:在这个器件中,我们使用 8550 型晶体管。在使用晶体管之前,我们必须先

50、确定 c,e 和 b 极点。当使用万用表检测三极管的极性时,首先确定基极 b:使用万用表 R1K 或 R10K 文件,然后使用黑色(红色)仪表随机连接两极测量直到指针有一个大摆动,设置黑色(红色)仪表固定,使用另一个红色(黑色)测试针测量另一个极点,直到指针仍然有一个大摆动。此时,可以确定固定测试引脚是 b,并且 NPN(PNP)类型根据测试引脚的颜色是已知的。其次,极点 c 和 e 判断如下:假设一个特定的极点 c 并将收集器 c 与黑色笔,红色笔尖 e 对齐。用手握住电极 c 和 b,观察指针是如何振动的。然后重复上一步骤更换测试针并观察指针的移动。摆动程度较小的测试针是收集器 c,其余的

51、是 e。我不能总是立刻将三极分开,经过反复测量,我们可以确定三极。(2)安装元件时的基本要求:为了确保电缆和绝缘的电气性能,连接和断开电气连接是安装的核心。上述开关不仅是安装后简单使用万用表的结果,但是,在自然条件发生变化的环境中,确保过路人是恒定的,并且断裂是恒定的。 。为了确保传热要求,安装必须考虑到某些部件的传热和电磁要求。- 28 -系统的搭建还应保障机械强度符合设定的要求,由于所设计的电子产品体积小,使用过程中并非是固定在某一个位置,所以为了避免在移动或者运输过程中造成元件的损害,应当设计可靠的机械强度。在装配过程中需要进行接地处理以及屏蔽外部信号干扰,避免在使用过程中出现数据测量不

52、准确的现象,其次需要降低系统硬件自身的信号干扰问题。(3)元件安装原则:首先应当配置机械固定的组件,如稳压管和中心芯片插座。为了避免因组件发热导致铜箔粘附到基板上并且为了防止元件的暴露部分与印刷导体短路,元件应与面板分开约 1 至 2 毫米,以确保安全。各种组件的安装应使其标有颜色代码或标记的标记(数值,精度等)正确无误显示在上面或容易识别。请注意,标记的读数方向相同(从左到右或从上到下) ,直到下一个方向。 在安装元器件时应与焊接同步进行操作。在线路板上最常见的就是焊接工艺,这也是保证集成电路有效连接的最为重要的方法,若没有科学合理的工艺设计,很难获得如何设计精心设计的电子器件的设计说明。现

53、在按照以下三个步骤来解决。(4)对焊点的基本要求:整体焊接外观显示,通过焊接相关联的元件,需要使用合理的焊丝,并且电路板上每个焊点之间不能有接触现象。充足的机械强度,焊接不仅是必要的作为电气连接,也可作为连接元件和确保机械电源连接的手段。稳定的电气连接,焊接需要保证所有元件在工作状态下的稳定运行,焊接元件是借助于该工艺形成的紧密结合的合金层建立电连接。(5)焊接前的准备:为了提高焊接质量和速度并避免焊接的缺点,焊接表面必须在组装前焊接 - 镀锡。实际上,镀锡是液体焊料,其润湿待焊接金属的表面,从而形成不同于待焊接金属的粘合剂层,并且与焊料不同。粘合剂层将焊料的两种性质牢固地粘附在待焊接的金属上

54、,其中,锡板具有以下工艺要求: 待镀表面应该清洁。 温度要足够高,被焊金属表面的温度,应该接近焊锡熔化时的温度,才- 29 -能与焊锡形成良好的结合层。在这里我们用烙铁接近元器件引脚对其进行回热。 添加必要的助焊剂,在该行业中一般都是使用酒精或者是松香。要求对线路板没有损害,并且可以保证焊接的美观性,提高电子产品的整体质量。(6)焊接操作完成焊接原料的准备后,进入电路板的焊接流程,本次焊接采用的是 35W圆形斜面电烙铁,在实际操作过程中,应当合理的调整焊接时长以及温度值,保证焊接过程中的位置准确性,基本的操作流程为: 左手稳定电线,右手拿住电烙铁,要求烙铁头清洁,表面没有焊渣和焊锡层等氧化物。

55、 加热焊缝,将铁尖放在两个焊缝的接头上,以加热整个焊缝。对于印刷电路板,必须注意尖端同时接触零件的导线和导线。 供给焊丝时,需要等待焊接端的温度上升至可以融化焊丝的温度,尤其需要说明的是不能把焊丝直接放置于电烙铁上并与其相接触。 当焊丝少于一定长度时,需要把电线左倾。 取下烙铁,焊接焊接表面和焊料的焊接部分,取下烙铁在 45 度的右上方向焊接终止它们。5.2 产品调试5.2.1 测试环境及工具试验温度范围:0100。 测试装置:在测试温度范围内的温度计,程序编写所用的 keil 51。试验方式:目视测量。5.2.2 温度检测部分测试用蜡烛放在 DS18B20 附近,一支温度计同时放在附近,然后

56、通电,将DS18B20 测到的温度显示到 LCD 上。将两者测到的温度进行比较,发现二者温度相近,然后用杯子装冷水加冰块放在 DS18B20 附近,再次比较,发现二者温度差距,通过测试可知温度检测部分电路工作正常。在相同的检测点位置处,分别用温度传感器以及温度计进行温度数据采集,并目视检查电路是否正常。记录每个点的温度值,将其与实际温度值进行比较,得到系统的温度指数。 。- 30 -5.2.3 电路主板测试将主板接入额定电压,使用 Easy 51Pro 检测硬件装置。之后测定主控单片机的 20 以及 40 脚之间无电压显示,则出现断路故障。于是我们仔细检查了回路发现 20 脚的地线没有与其他地

57、线相连,将其接好发现工作正常。主板无问题。5.2.4 统一调试将硬件及软件结合起来进行系统的统一调试。利用单片机串口助手设置串口使设计与 pc 连接实现数据监测调试,这样我们对其调试更加简便,本设计从设计考虑设置了串口但并未安装。调试结束后便拆去了连接口。 总结总结- 31 -经过几个月的不断学习和努力,在李老师的谆谆教导下,在其他老师及同学们的热心帮助与指导下,基于单片机的单总线多点温度测控系统的毕业设计即将结束,基本完成了老师所规定的各项工作任务。本次系统设计是以 DS18B20 温度传感器为硬件基础的分布式多点温度测量系统,可以实现温度的远程检测。该系统能够应用在较多的领域,例如工业领域

58、、火灾检测、森林看护领域等等。本次设计使用的是单总线技术,从该温度传感器的基础构造中得知,DS18B20 是在主控单元的控制下,完成温度数据的采集与数据型号转换,并添加了温度数值显示以及温度提醒等。 以 51 单片机为主控模块,完成各个测点的准确温度测量,并对各个线路功能模块进行设计研究,最后详细阐述了系统搭建的流程,并使用 C 语言完成程序的编写。在拿到毕设课题之前,我认为只不过是对我们三年学习的一个总结而已,但是当我开始接触这个设计的时候才发现这不仅是对三年学习的一个总结,而且对自己的动手能力和人际关系的处理也有了很大能力的提高,开始以为这个设计很容易做出来,有点眼高手低的感觉.但是,当我

59、真正做起来的时候才发现自己的知识还很欠缺,还有很多知识没有掌握.通过这次设计我明白了学习是个不断积累的过程,在生活和工作中应当不断的积累,才能提高自己.在这次毕业设计中使我和老师的关系更进了一步,在这几周的时间里,我和指导老师经过了很多次交流,通过和老师的交流使我学会了很多设计技巧及方法.有不懂的地方及遇到自己难以解决的问题便向老师请教,老师每次都是不厌其烦的耐心指导我,并一步一步把我引向成功.我在老师那里不仅学到了很多额外的知识,同时也学到了不少解决问题的方式方法,在此我非常感谢帮助过我的指导老师李金懋老师.在这次设计中我觉得和同学的关系更进一步了,有什么不明白的地方大家一起讨论一下,更加增

60、进了我们之间的感情.团队的协作使我们感受到了同学们之间的友谊.比如说:我们在调试板子的时候发现检测不到 51 芯片,测量发现 51 芯片的 20 脚和 40 脚之间没有 5V 电压.于是,我们就检查供电回路发现 20 脚的接地端与其他地线没接上。通过这件事更加增加了我们的团队合作能力。经过这一次毕业设计,我学了不少的知识,学会了如何对自己所需要的资料进行检索,并且掌握了单片机仿真软件以及 keil 软件的使用。我更加深刻地认识到只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自已的所学,认识到自己的不足。参考资料- 32 -1何立民,单片机高级教程.北京航空航天大学出版社.2004.7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论