基于单线制的多点温度采集系统毕业论文_第1页
基于单线制的多点温度采集系统毕业论文_第2页
基于单线制的多点温度采集系统毕业论文_第3页
基于单线制的多点温度采集系统毕业论文_第4页
基于单线制的多点温度采集系统毕业论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

保密类别 编 号 武汉大学 毕 业 论 文 基于单线制的多点温度采集系统 武汉大学 2013 年 05 月 2 日 摘 要 本设计的温度测量系统以 MCS-51系列单片机为核心部件,外加温度采集电路、键盘电路、显示电路和声光报警电路组成。采用总线型数字式的温度传感器 DS18B20,及行列式键盘和动态显示的数码管作为主要器件。通过小键盘实现对不同温度数据的采集与切换 显示。同时,也可利用小键盘实现温度最大最小值的设定。对 于超过此 的 温度数据将产生报警信号。 本作品既可以对当前温度进行实时显示又可以对温度进行监控,人性化的行列式键盘设计使设置温度简单快速。采用浮点小数的显示方式使具有更高的显示精度和灵活性。通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控显得更加简便。 关键词: MCS-51 系列单片机 DS18B20 温度采集 温度监控 目 录 摘要 I 第一章 绪论 1 第一章 方案论证 2.1 为什么选用 DS18B20而不选用热电偶作为温度传感器? 5 2.2 为什么要选用 AT89C51单片机? 5 2.3 为什么要设置键盘电路? 6 第二章 系统硬件设计 3.1 系统控制模块 7 3.2 温度采集模块 13 3.3 显示电路模块 15 3.4 键盘电路 17 3.5 报警电路 18 第三章 系统软件设计 4.1 软件 程序 19 结论 20 参考文献 21 附录 22 后记 28 第一章 绪 论 自从 1976 年 Intel 公司推出第一批单片机以来, 80 年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从 4位、 8位单片机发展到 16位、 32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和 BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述 传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。 单片机将微处理器、存储器、定时 /计数器、 I/O 接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、 数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。 温度作为作物生长一个非常重要的参数,温度的变化影响作物的发芽、幼苗的成长、作物的开花、果实的成熟等等。对于不同的作物,其适宜的生长温度总是在一个范围。超过这个范围,作物或许会活着,但是其生长的规律将发生明显的变化。这对于我们所希望的要 求作物能够优质、高产的愿望相距甚远,所以我们必须实时获取作物生长的环境温度。对于,超过作物生长适宜范围的温度能够报警。同时,我们也希望作物的适宜温度范围可以由检测人员根据实际情况加以改变。同时,由于作物分布空间的狭小,各点的温度在同一时间上可能存在差异,所以对于温室必须采取多点采集,以保证能够更准确的获知作物生长的实时温度。 本设计就是基于单片机 AT89C51设计的实时温度采集。通过小键盘实现对 不同路温度数据的切换显示。同时,也可利用小键盘实现温度最大最小值的设 定。对于超过此限的温度数据将产生报警信号 。 第二章 方案论证 2.1 为什么选用 DS18B20 而不选用热电偶作为温度传感器? 温度检测可以使用低温热偶或铂电阻,数据采集部分则使用带有 A/D 通道的单片机。考虑到一般的 A/D 输入通道都只能接收大信号,所以还要设计相应的放大电路。而模拟信号在长距离传输过程中,抗电磁干扰是令人伤脑筋的问题。此方案的软件简单,但硬件复杂,且检测点数追加时,各敏感元件参数的不一致性,都将会导致误差的产生,难以完全清除,而且成本会有较大增长幅度。 DALLAS公司的 DS18B20单总线数字传感器工作温度范围是 -55 125 ,在 -30 85 范围内温度测量精度为0.5 ;具有温度报警功能,用户可设置最高和最低报警温度,且设置值掉电不丢失;采用 DALLAS公司特有的单总线通信协议,只用一条数据线就可实现与 MCU的通信;此外,这类温度传感器直接输出数字信号,且多路温度传感器可以挂在 1 条总线上,共同占用单片机的 1 个 I/O 口即可实现。在提升单片机 I/O 口驱动能力的前提下,理论上可以任意扩充检测的温度点数。 DS18B20 具有下列特点: 具有高的测量精度和分辨率,测量范围大; 抗干扰能力强,稳定性好; 信号易于处理、传送和自动控制 ; 便于动态及多路测量,读数直观; 安装方便,维护简单,工作可靠性高 ;6够直接从数据线获得电源,无需外部电池供电。 综上所述故选用 DS18B20作为温度传感器 2 .2 为什么要选用 AT89C51 单片机? 单片机,专业名称 Micro Controller Unit(微控制器件 ),它是由 INTEL 公司发明的,最早的系列是 MCS-48,后来有了 MCS-51,现在还有 MCS-96 系列,我们经常说的 51 系列单片机就是 MCS-51,它是一种 8 位的单片机,而 MCS-96 系列则是一种16 位的单片机,目前在我 国比较流行的就是美国 ATMEL 公司的 89C51,它是一种带Flash ROM 的单片机 AVR 系列单片机也是 ATMEL 公司生产的一种 8 位单片机,它采用的是一种叫 RISC(精简指令集单片机)的结构,所以它的技术和 51 系列有所不同,开发设备也和 51 系列是不通用的,它的一条指令的运行速度可以达到纳秒级(即每秒 1000000000 次),是 8 位单片机中的高端产品。由于它的出色性能,目前应用范围越来越广,大有取代51 系列的趋势, IC 系列单片机,它是美国 MICROCHIP 公司,微芯公司的生产的另一种 8 位单片机,它采用的也是 RISC 的指令集,它的指令系统和开发工具与 51 系列 更是不同,但由于它的低价格和出色性能,目前国内使用的人越来越多,国内也有很多的公司在推广它,不过它的影响力远没有 51 系列的大,所以作为初学者, 51 系列当然是首选。且 AT89C51 单片机有以下特点: 与 MCS-51 兼容 4K字节可编程闪烁存储器 寿命: 1000写 /擦循环 数据保留时间: 10年 全静态工作: 0Hz-24Hz 三级程序存储器锁定 128*8位内部 RAM 32可编程 I/O线 两个 16位定时器 /计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 综上所述故选用 AT89C51单片机 2.3 为什么要设置键盘电路? 单片机系统所用的键盘有编码键盘和非编码键盘两种。 编码键盘本身除了按键之外,还包括产生键码的硬件电路。只要按下编码键盘的某一个键,它就能产生这个键的代码,并称为键码,与此同时还产生一个脉冲信号,以通知 CPU接收键码,编码键盘的优点是使用比较方便,亦不需要编写太复杂的程序。其缺点是使用的硬件较复杂。 非编码键盘的按键是排列成行、列矩阵形式的。按键的作用只是简单地实现接点的接通或断开 ,因此必须有一套相应的程序与之配合,才能产生相应的键码,非编码键盘几乎不需要附加什么硬件电路。因此为了简洁电路,我使用非编码键盘。但使用非编码键盘需要通过软件来解决按键的识别、防抖动以及如何产生键码的问题。 在这里我们使用非编码键盘电路,通过小键盘实现对不同温度数据的采集与切换显示。同时,也可利用小键盘实现温度最大最小值的设定。 综上所述故需设置键盘电路 第三章 系统硬件设计 3.1 系统控制模块 图 3.1系统控制 模块 1.AT89C51 功能简介 : AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051是它的一种精简版本。 AT89C单片机为很多嵌入式控制系统提供了一种灵 活性高且价廉的方案。外形及引脚排列如图 3.2 所示: 主要特性: 与 MCS-51 兼容 4K字节可编程闪烁存储器 寿命: 1000写 /擦循环 数据保留时间: 10年 全静态工作: 0Hz-24MHz 三级程序存储器锁定 1288 位内部 RAM 32可编程 I/O线 两个 16位定时器 /计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明: VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1口的管脚第一次写 1 时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1口作为第八位地址接收。 P2口: P2口为一个内部上拉电阻的 8位双向 I/O口, P2口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写 “1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址 “1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2口在 FLASH编程和校 验时接收高八位地址信号和控制信号。 P3口: P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL门电流。当 P3 口写入 “1” 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为AT89C51的一些特殊功能口,如下表所示: P3口管脚 备选功能: 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口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是 :每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时, ALE只有在执行 MOVX, MOVC指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器 。注意加密方式 1 时, /EA将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但 必须保证脉冲的高低电平要求的宽度。 芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写 “1” 且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下, CPU 停止工作。但 RAM,定时器, 计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位 为止 2.复位电路 复位是单片机的初始化操作,其作用是使 CPU 中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。当 MCS-5l 系列单片机的复位引脚 RST(全称 RESET)出现 2个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的按键复位电路如 图 3.2 所示。按键后:电容器被短路放电、 RST直接和 VCC 相连,就是高电平,此时进入 “ 复位状态 ” 。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到 RST,仍然是 “ 复位状态 ” ;稍后,充电结束,电流降为 0,电阻上的电压也将为 0, RST降为低电平,开始正常工作。 单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器 PC0000H,这表明程序从 0000H地址单元开始执行。 图 3.2 89c51 单片机 图 3.3 89c51 单片机 复位电路 3.时钟电路 : 在 MCS 51单片机片内 有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为 XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部 时钟方式,为保证系统的稳定性,我们这里采用内部时钟方式如图 3.3所示。 图 3.4 时钟电路 在内部方式时钟电路中,必须在 XTAL1 和 XTAL2 引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常 C1 和 C2 一般取 30pF,晶振的频率取值在 1.2MHz 12MHz之间。对于外接时钟电路,要求 XTAL1 接地, XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求, 只要保证一定的脉冲宽度,时钟频率低于 12MHz 即可。 晶体振荡器的振荡信号从 XTAL2 端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号 P1 和 P2 供单片机使用。时钟信号的周期称为状态时间 S,它是振荡周期的 2 倍, P1 信号在每个状态的前半周期有效,在每个状态的后半周期 P2信号有效。 CPU就是以两相时钟 P1和 P2为基本节拍协调单片机各部分有效工作的。 3.2 温度采集模块 1.DS18B20 传感器性能简介: DS18B20温度传感器是美国 DALLAS半导体公司最新推出的一种改进型的一线式智能数字温度传 感器,与传统的热敏电阻等测温元件相比,他能直接读出北侧温度,并且可根据实际要求通过简单的编程实现 9-12位的数字值读书方式。 DS18B20有以下的性能特点: 独特的单线接口仅需要一个端口引脚进行通信。 多个 DS18B20可以并联在唯一的三线是,实现多点组网功能。 无需外部器件。 可通过数据线供电,电压范围为 3.0-5.5V。 零待机功耗。 温度测量范围为 55 125 。 温度以 9或 12 位数字量读出,即可编程为 9 12位 A/D转换精度。 测温分辨率可达 0.0625 。 适用于远距离多点温度检 测系统。 用户可定义的非易失性稳定报警设置。 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20 可以采用两种方式供电。一种是采用电源供电方式,如图 3.4 所示,此时 DS18B20的 1脚接地, 2脚作为信号线, 3脚接电源。另一种是寄生电源供电方式,如图 3.5 所示。单片机端口接单线总线,为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET管来完成对总线的上拉。 当 DS18B20 处于写存储器操作和温度 AD 转换操作时,总线上必须有强的上拉,上拉开启时间最大为 10us。处于寄生电源供电方式时 Vdd和 GND端均接地。由于单线制只有一根线,因此发送接口必须是三态的。 DS18B20的内部结构 DS18B20主要由 4部分组成: 64 位 ROM、温度传感器、非挥发的温度 报警触发器TH和 TL、配置寄存器。 DS18B20的管脚排列如图 3.6所示, DQ为数字信号输入输出端; GND为电源地; VDD为外接供电电源输入端。 图 3.6 DS18B20 的管脚图 ROM中的 64位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码,每个 DS18B20的 64位序列号均不相同。 ROM的作用是使每一个 DS18B20都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 2.DS18B20 与单片机的典型接口设计: 图 3.7以 MCS 51系列单片机为例,画出了 DS18B20与微处理器的典型连接。DS18B20采用寄生电源方式,其 VDD和 GND端均接地。 单片机系统所用的晶振频率为 12MHz,根据 DS18B20的初始化时序、写时序和读时序,分别编写了 3 个子程序: INIT为初始化子程序, WRITE为写(命令或数据)子程序, READ为读数据子程序,所有的数据读写均由最低位开始。主机控制 DS18B20完成温度转换必须经过三个步骤:初始化、 ROM 操作指令、存储器操作指令。必须先启动 DS18B20开始转换,再读出温度转换值。如果一线上挂接多个 DS18B20、采用寄生电源连接方式、需 要进行转换精度配置、高低限报警等,则子程序 GETWD 的编写就 要复杂一些。 3.3 显示电路模块 1.74ls138 译码器功能简介: 74ls138 是一个 3 线 -8 线译码器,它有三个数据输入端,八个输出端, 3 个使能输入端 (一个高电平有效和两个低电平有效 )。其功能表如下所示: 2.MC14495 译码器功能简介: MC14495 是由 4 位锁存器、地址译码、笔段 ROM 阵列以及带有限流电阻的驱动电路部分电路组成。图 3.8 中 A、 B、 C、 D 为二进制码输入端; LE 为所存控制端, LE 为低电平时可以输入数据, LE为高电平时锁存输入数据; h为输入数据大于等于 10指示位,若输入数据大于或等于 10,则 h输出高电平,否则输出为低电平。在此处 的作用是输入被显字符的二进制码,并把它自动转换成相应字型码,送给 LED 显示。 3.LED 数码管接法比较: LED 数码管根据 LED 的接法不同分为共阴和共阳两类,了解 LED 的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。是共阴和共阳极数码管的内部电路, 它们的发光原理是一样的,只是它们的电源极性不同 而已。 4.LED 数码管驱动原理: 采用技术成熟的 74LS138 实现串并转换。 LED 显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为 方式零状态,即工作在移位寄存器方式,波特率为振荡频率的 1 12。当器件执行任何一条将 SBUF作为目的寄存器的命令时,数据便开始从 RXD 端发送。在写信号有效时,相隔一个机器周期后发送控制端 SEND有效,即允许 RXD发送数据,同时本设计中用 6个 LED组成显示单元,采用静态显示方式。如图 3.9所示: 图 3.9 显示电路 3.4 键盘电路 组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。在下图中,开关 S未被按下时, P1.0 输入为高电平, S闭合后, P1.0输入为低电平。由于按钮是机械触点,当机械触点断开、闭合时,会 有抖动。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个 “ 漫长 ”的时间了。中断时按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮, 可是计算机却已执行了多次中断的过程。 为使 CPU能正确地读出 P1 口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:硬件办法和软件办法。单片机中常用软件法。软件法就是在单片机获得 P1.0口为低的信息后,不是立即认定 S1已被按下,而是延 时 10毫秒或更长一些时间后再次检测 P1.0口,如果仍为低,说明 S1的确按下了,这实际上是避开了按钮按下时的抖动时间。而在检测到按钮释放后( P1.0为高)再延时 5-10个毫秒,消除后沿的抖动,然后再对键值处理。不过一般情况下,常常不对按钮释放的后沿进行处理。图 3.10为键盘与单片机的连接。 3.5 报警电路 对于本设计只要超过我们设定的温度 值的范围就会产生声光报警,所以我们要在系统中设计报警电路,对于超过此限的温度数据将产生报警信号。 第 4 章 软件 设计 4.1 软件流程 结论 本设计用 MCS-51 单片机为主要硬件,设计了包括温度采集, 温度显示,键盘电路和声光报警电路。而且对所设计电路部分给出了相应的软件设计,在温度测量部分采用具有 “ 单 线多点 ” 的数字传感器 DS18B20,实现 单 线多点温度数据的采集和监控。 多点温度检测与控制系统是典型的集散式控制系统。由 AT89C51 和 DS18B20 构成的温度采集系统,提高了温度采集的精度。本设计的线路具有良好的可升级性和可扩展性。程序设计采用我们熟悉的是汇编语言。 对本设计感到不足的是,此系统只是一个开环系统,它只实现了对多点温度的采集和对所设置上限温度的监控报警,因此也就局限了此系统功能的延伸。 我认 为对此设计的再加上对温度控制的执行机构(继电器),比如在室内温度达到所设定的上限时,不再是声光报警,而是通过执行机构接通风扇电源,使其降温,当温度达到所设定的下限时,也通过执行机构去接通加热器电源,使其温度回升,这样所设计的系统就成为闭环负反馈系统,使其温度控制在一定的范围内。这样就可以实现其自动化控制。 参考文献 1 程佩青数字信号处理教程北京:清华大学出版社, 2004 2 周立功 .单片机实验与实践 . 北京: 北京航空航天大学出版社 . 3 吴国经 .单片机应用技术 .北京:中国电力出版社 , 2003. 4 阎石 .数字电子技术基础 .北京:高等教育出版社, 2006. 5 谭浩强 .C程序设计 .北京 :清华大学出版社 , 2005. 6 沙占友等 .单片机外围电路设计 .电子工业出版社 .2003. 7 杨金岩 . 8051单片机数据传输接口扩展技术与应用实例 .人民邮电出版社 .2005. 8 周荷琴、吴 秀清 .微型计 算机原理与接口技术 .中国科学技 术大学出版社 .2011. 9 万方数据知识服务平台 . / 10百度 . / 11维普期刊资源整合服务平台 . / 12EBSOC外文论文数据库 . / 13中文科技期刊 . 附 录 系统程序 ;* FLAG1 BIT F0 ;DS18B20存在标志位 DQ BIT P1.7 TEMPER_L EQU 29H TEMPER_H EQU 28H A_BIT EQU 35H B_BIT EQU 36H ;*程序起始 * ORG 0000H AJMP MAIN ORG 0100H ;*主程序开始 * MAIN: LCALL INIT_18B20 LCALL RE_CONFIG LCALL GET_TEMPER AJMP CHANGE ;*DS18B20 复位程序 * INIT_18B20: SETB DQ NOP CLR DQ MOV R0, #0FBH TSR1: DJNZ R0,TSR1 ;延时 SETB DQ MOV R0, #25H TSR2: JNB DQ, TSR3 DJNZ R0, TSR2 TSR3: SETB FLAG1 ;置标志位,表明 DS18B20存在 CLR P2.0 ;二极管指示 AJMP TSR5 TSR4: CLR FLAG1 LJMP TSR7 TSR5: MOV R0, #06BH TSR6: DJNZ R0, TSR6 TSR7:SETB DQ ;表明不存在 RET ;*设定 DS18B20暂存器设定值 * RE_CONFIG: JB FLAG1, RE_CONFIG1 RET ;RE_CONFIG1: MOV A,#0CCH ;放跳过 ROM命令 LCALL WRITE_18B20 MOV A, #4EH LCALL WRITE_18B20 ;写暂存器命令 MOV A, #00H ;报警上限中写入 00H LCALL WRITE_18B20 MOV A, #00H ;报警下限中写入 00H LCALL WRITE_18B20 MOV A,#1FH ;选择九位温度分辨率 LCALL WRITE_18B20 RET ;*读转换后的温度值 * GET_TEMPER: SETB DQ LCALL INIT_18B20 JB FLAG1, TSS2 RET ;若不存在则返回 TSS2: MOV A,#0CCH ;跳过 ROM LCALL WRITE_18B20 MOV A,#44H ;发出温度转换命 令 LCALL WRITE_18B20 LCALL DISPLAY ;延时 LCALL INIT_18B20 MOV A,#0CCH ;跳过 ROM LCALL WRITE_18B20 MOV A,#0BEH ;发出读温度换命令 LCALL WRITE_18B20 LCALL READ2_18B20 ;读两个字节的温度 RET ;*写 DS18B20程序 * WRITE_18B20: MOV R2, #8 CLR C WR1: CLR DQ MOV R3, #6 DJNZ R3, $ RRC A MOV DQ, C MOV R3, #23 DJNZ R3, $ SETB DQ NOP DJNZ R2, WR1 SETB DQ RET ;*读 18B20程序,读出两个字节的温度 * READ2_18B20: MOV R4,#2 ;低位存在 29 H,高位存在28H MOV R1,#29H RE00: MOV R2, #8 RE01: CLR C SETB C NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3, #7 DJNZ R3, $ MOV

温馨提示

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

评论

0/150

提交评论