基于单片机的多路温度采集系统软件设计(含程序代码)_第1页
基于单片机的多路温度采集系统软件设计(含程序代码)_第2页
基于单片机的多路温度采集系统软件设计(含程序代码)_第3页
基于单片机的多路温度采集系统软件设计(含程序代码)_第4页
基于单片机的多路温度采集系统软件设计(含程序代码)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)全套资料扣扣:194535455基于单片机的多路温度采集系统软件设计摘要: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响温度采集在林业,农业,化工甚至是军工领域都有广泛的应用,因此能否对这些地区的环境温度实现有效的监测。是一个要解决的重要的课题。采用温度传感器构成的电子监控装置是一种较好的解决方案,因此利用 Mcs-51 单片机系列设计了一个温度采集系统。数字式多路温度采集系统由主控制器、温度采集电路、温度显示电路、报警控制电路及键盘输入控制电路组成。它利用单片机 AT89C51 做控制及数据处理器、智能温度传感器 DS18B20 做温度检测器、LED 数码显示管做温度显示输出设备。实现多监测点的温度采集。并且具有显示,报警等功能。能够应用于一般的环境的温度采集环境。软件设计主要采用汇编语言设计,设计工具用 keil,程序主要由键盘扫描子程序,温度转换子程序,读出温度子程序,计算温度子程序,显示数据刷新子程序,报警控制子程序组成。用汇编的主要优点是编程的效率高。适用于简单的但是要求较高的电路。本文主要是采用的是汇编语言设计。.关键词:温度 传感器 单片机 软件 本科毕业设计(论文)全套资料扣扣:194535455software design base on SCM multi-channel temperature gathering systemAbstract:With the rapid development of modern information technology,In temperature measurement control system of industrial, agricultural and Peoples Daily life plays a more and more important role in peoples life, and it has very important effect,Temperature gathering in the forestry, agriculture, chemical and even military domain has a wide range of applications,So effective monitor the environment temperature of these regions Is an important task to solve. A temperature sensor constitute electronic monitoring device is a better solution, so use Mcs - 51 SCM series design a temperature gathering system.the digital multi-channel temperature gathering system by the master control regulator, the temperature gathering electric circuit, the temperature display circuit, reports to the police the control circuit and the keyboard entry control circuit is composed .It makes the control and the data processor, intelligent temperature sensor DS18B20 using monolithic integrated circuit AT89C51 makes the temperature detector, the LED numerical code display tube makes the temperature demonstration output unit. Achieve more monitoring stations in the temperature gathering. And display, alarm functions. Can be used in the general environment temperature acquisition environment.The software design use assembly language,The design tool adopt keil, Program mainly by the keypad scanning subroutine, the temperature conversion subroutine, read temperature subroutine, the calculation of temperature subroutine, display data refresh subroutines, alarm control subroutines composition.The advantage of the assembly language is high efficiency, and fit for the circuit which simple but require expert . This paper is mainly uses assembler languageKeyword: temperature ensor monolithic integrated circuit software 本科毕业设计(论文)全套资料扣扣:194535455目 录目 录1 前言1.1 温度采集系统的研究背景(1)1.2 温度采集系统的研究目的(1)2 多路温度采集系统硬件设计简介2.1 温度采集模块 (2)2.1.1 Ds18b20 传感器简介 (3)2.1.2 温度采集电路 (6)2.2 单片机控制电路选择 (6)2.3 输入控制电路 (8)2.4 显示电路 (8)2.5 报警控制电路 (9)2.5.1 报警控制电路工作过程 (9) 2.6 电源电路 (10)2.7 数字式多路温度采集系统元件清单 (10)3 多路温度采集系统软件设计3.1 主程序设计(11)3.2 子程序设计(11)3.2.1 Ds18b20 的通信协议 (11)3.2.2 子程序详细设计 (12) 3.3 多路温度采集系统控制源程序 (15)本科毕业设计(论文)全套资料扣扣:1945354554 系统调试及性能分析4.1 系统调试 (16)4.2 系统性能分析 (16)5 结论 (17)参考文献 (18)致 谢 (19)附录 (1) (20)附录 (2) (21)本科毕业设计(论文)全套资料扣扣:1945354551 前言1.1 温度采集系统的研究背景温度检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。随着科学技术的发展,由单片集成电路构成的温度传感器的种类越来越多,测量的精度越来越高,响应时间越来越短,因其使用方便、无需变换电路等特点已经得到了广泛的应用。目前较先进的温度检测与控制系统是以单片机为核心的温度控制装置,与手控式和电子式温度控制相比单片机温度控制装置有很多优点,但成熟产品多为单路温度控制,若要控制多路温度需购买多件产品,提高了成本。因此多路温度采集控制器的设计在工业中有着非常广泛地用途。随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。1.2 温度采集系统的研究目的基于单片机的多路温度采集系统采用 AT89C51 单片机做核心,DS18B20 做传感器,并有报警显示模块。1 测量范围:-10 度到+100 度,精度正负 0.5 度。2 测量并显示环境温度,显示时间和日期,每隔一段时间记录一次温度。3 采样时间间隔 t(1mint60min)可由用户自定。当温度超过一定范围发出报警信号。基于单片机的多路温度采集系统主要用于采集多个监测点的温度并显示环境温度,显示时间和日期,当检测点温度超过一定的检测值时进行报警。单片机控制选c51 进行数据处理及流程控制。本科毕业设计(论文)全套资料扣扣:1945354552 多路温度采集系统硬件设计简介按照系统设计功能的要求,系统由 5 个模块组成:主控制器、温度采集电路、温度显示电路、报警控制电路。数字式多路温度采集系统总体电路结构框图如图1.1 所示。单片机模块AT89C51报警模块传感器DS18B20传感器DS18B20传感器DS18B20晶振显示模块图 1.1 多路温度采集系统结构框图采用智能温度传感器(DS18B20)采集环境温度并进行简单的模数转换;单片机(AT89C51)执行程序对温度传感器传输的数据进行进一步的分析处理,转换成环境对应的温度值,通过 I/O 口输出到数码显示管(LED)显示,采集电路检测温度及显示;报警电路对设定的最高最低报警温度进行监控报警。2.1 温度采集模块温度采样处理电路由温度传感器、放大电路、A/D 转换电路等组成。采用分块结构的温度采样处理电路,其硬件电路结构复杂,也不便于数据的处理。采用智能温度传感器采样处理电路,能够方便的进行温度的采集及简单的数据处理。并且可以达到设计的技术指标要求。本系统选择智能温度传感器 DS18B20 作为温度采集电路的核心器件。由 DS18B20 及辅助电路构成温度采集电路。本科毕业设计(论文)全套资料扣扣:1945354552.1.1 Ds18b20 传感器简介DS18B20 是美国 DALLAS 半导体公司推出的一种改进型智能温度传感器,传感器类型 DS18B20 测量范围 -55- 128精度 0.5 显示分辨率 0.1 ,外壳材质 铁不锈钢, 输出无线数字信号,其他指标 供电电源 21.5V。独特的单线接口方式 DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20,双向通讯。支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,最多只能并联 8 个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温 工作电源: 35V/DC 在使用中不需要任何外围元件 测量结果以 912 位数字量方式串行传送,不锈钢保护管直径 6。DS18B20 的外形和内部结构DS18B20 采用 3 脚 PR-35 封装,其外形和内部结构框图分别如图 2.1、图 2.2 所示。图 2.1 DS18B20 外形结构 图 2.2 DS18B20 内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。64 位光刻 ROM 的位结构图如图 2.3 所示。64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。开始 8 位(28H)是产品类型标号,接着的48 位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码。本科毕业设计(论文)全套资料扣扣:194535455图 2.3 64 位 ROM 结构DS18B20 温度传感器的内部存储器包括一个非易失性的可电擦除 E2PRAM 和一个高速暂存 RAM。E2PRAM 包括存放高温度和低温度的触发器 TH、TL 和结构寄存器。非易失性温度报警触发器 TH 和 TL,可通过软件写入用户报警上下限。高速暂存 RAM 的结构为 9 字节的存储器,结构图如图 2.4 所示。头 2 个字节包含测得的温度信息。第 3、4 字节是 TH 和 TL 的拷贝,每次上电复位时被刷新。第 5字节为配置寄存器,用于确定温度值的数字转换分辨率。第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。第 5 字节配置寄存器各位的定义如图 2.5 所示;低 5 位一直为 1,TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式;R1 和 R0 决定温度转换的精度位数(即设置分辨率) ,定义方法见表 1。图 2.4 高速缓存 RAM 结构图 2.5 配置寄存器本科毕业设计(论文)全套资料扣扣:194535455表 1 DS18B20 分辨率的定义规定R1 R0 分辨率/位 温度最大转换时间 /ns00110101910111293.75187.53757509 位分辨率时,精度为 0.5/LSB;10 位分辨率时,精度为 0.25/LSB;11 位分辨率时,精度为 0.125/LSB;12 位分辨率时,精度为 0.0625/LSB。转换精度越高所需转换时间越长。为了达到本系统的技术指标,选择 12 位分辨率。(3)DS18B20 供电方式外部电源供电方式是 DS18B20 最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在外接电源方式下,可以充分发挥 DS18B20 宽电源电压范围的优点,即使电源电压 VCC 降到 3V 时,依然能够保证测量精度。所以本系统采用外部电源供电方式。在外部电源供电方式下,DS18B20 工作电源由 VDD 引脚接入,此时 I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上可以挂接任意多个 DS18B20 传感器,组成多点测温系统。外部电源供电方式如图 7 所示。在外部供电方式下,DS18B20 的 GND 引脚必须接地,不能悬空,否则不能转换温度,读取的温度总是 85。图 2.6 DS18B20 外部电源供电2.1.2 温度采集电路本科毕业设计(论文)全套资料扣扣:194535455温度采集电路结构如图 2.7 所示。图中给出了 2 路温度采集电路,2 只智能温度传感器 DS18B20 的信号输出端都连接到单片机的 P1.7 端,电阻 R6作为上拉电阻。如果需要增加,可以在 P1.7 端再连接更多的智能温度传感器 DS18B20。工作时,由程序控制读取某智能温度传感器 DS18B20 采集的温度数据,送单片机处理。.4.7KR6VCC.DQ2VDD3GND1U5DS18B20DQ2VDD3GND1U6DS18B20VCCVCCEA/VP 31X1 19X2 18RESET 9RD 17WR 16INT0 12INT113T0 14T115P10 1P11 2P12 3P13 4P14 5P15 6P16 7P17 8P0039 P0138P0237 P0336P0435 P0534P0633 P0732P2021 P2122P2223 P2324P2425 P2526P2627 P2728PSEN29 ALE/P30 TXD11RXD10U9AT89C51. .图 2.7 多点温度采集电路2.2 单片机控制电路选择单片机控制电路核心是单片机芯片,其加上工作基本电路,就可以展开控制工作。MCS8031 和 AT89C512都具有 4 个 8 位 I/O 接口,但 MCS8031 没有内部程序存储器,需要外接,增加了电路的复杂性;AT89C2051 和 AT89C51 都具有 Flash ROM,可以省去外接程序存储器;但 AT89C2051 接口少,不利于功能扩展;故选用 AT89C51。AT89C51 单片机内部结构及主要性能特点:40 个引脚,双列直插式封装;有 4个 8 位 I/O 接口;有全双工增强型 UART,可编程串行通信;2 个 16 位定时/计数器;5 个中断源,2 个中断优先级;有片内时钟振荡器(全静态工作方式,024 MHz) ;有 128 字节内部 RAM,4KB Flash ROM(可以擦除 1000 次以上,数据保存 10 年) ;电源控制模式灵活(时钟可停止和恢复,空闲模式,掉电模式) 。AT89C51 单片机正常工作,必须连接基本电路。基本电路包括晶振电路和复位电路。本科毕业设计(论文)全套资料扣扣:194535455(1)晶振电路单片机的时钟信号通常有两种产生方式:一是内部时钟方式,二是外部时钟方式。内部时钟方式是利用单片机内部的振荡电路产生时钟信号。外部时钟方式是把外部已有的时钟信号引入到单片机内。本设计采用内部时钟方式,电路如图 9 中所示。在单片机的 XTAL1 和 XTAL2 引脚外接石英晶体(简称晶振) ,作为单片机内部振荡电路的负载,构成自激振荡器,可在单片机内部产生时钟脉冲信号。C 1和 C2可以稳定振荡频率,并使快速起振。本电路选用晶振 12MHz,C 1=C2=30pF。(2)复位电路复位是使单片机处于某种确定的初始状态。单片机工作从复位开始。在单片机RST 引脚引入高电平并保持 2 个机器周期,单片机就执行复位操作。复位操作有两种基本方式:一种是上电复位,另一种是上电与按键均有效的复位。本设计采用后一种复位电路。电路如图 2.8 中所示。当 RST 获得高电平,随着电容 C3的充电,RST 引脚的高电平将逐渐下降。若该高电平能保持足够 2 个机器周期,就可以实现复位操作。选择 C3=10F,R 1=10K。综上所述,单片机控制电路如图 2.8 所示。EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U9AT89C51Y112MzC1 30pC2 30p+C3 10uFR110kVCCS1.图 2.8 单片机控制电路本科毕业设计(论文)全套资料扣扣:1945354552.3 输入控制电路输入控制电路由按键及其接口构成,键盘是单片机最简单的输入设备。常用键盘分为独立式键盘和矩阵式键盘。本系统的输入控制简单,采用矩阵式键盘及接口电路2.4 显示电路显示电路采用 LED 数码管显示。LED 数码显示管有静态显示方式和动态显示方式,本系统采用串行输出 6的静态显示方式。利用 4 片串转并芯片 74LS164 将控制器输出的串行数据转换成并行数据输出,用来驱动 4 位 LED 数码显示管显示数据。LED 显示器工作于静态显示方式时,各位的阴极(或阳极)选择线连接在一起并接地(或+5V) ;每位的段码线分别与 1 个 8 位的锁存器输出连接。各 LED 显示某一字符时,相应段的发光二极管恒定地导通或截止,直到送入另一个字符的段码为止。静态显示可以得到较高的显示亮度。静态显示有并行输出和串行输出两种方式。并行输出显示的十进制位数多时,需要并行 I/O 接口芯片的数量较多。串行输出可以大大节省单片机的内部资源。AT89C51 单片机工作在串行口方式 0 下(移位寄存器方式),P3.0(RXD)为数据输出端,P3.1(TXD)为移位脉冲输出端,P1.4 为 74LS164 允许输出控制端。串行口发送缓冲区的数据在移位脉冲的作用下,一位一位地从 P3.0 口移入到 74LS164中,并在控制信号的控制作用下,通过 LED 数码显示管显示本科毕业设计(论文)全套资料扣扣:1945354552.5 报警控制电路报警控制电路采用压电式蜂鸣器作发声体,用三极管对蜂鸣器发声进行控制。报警控制电路由单片机 AT89C51 的 P3.7 端作输出,通过一个限流电阻与三极管C945 的基极相连接。三极管 C945 集电极连接压电蜂鸣器(BUZZER)的一端。压电蜂鸣器的另一端连接电源。报警控制电路如图所示。Q1C945R4100U8BUZZERVCCP3.7. .图 2.9 报警控制电路2.5.1 报警控制电路工作过程(1)压电蜂鸣器工作原理压电蜂鸣器以压电陶瓷制作而成。压电陶瓷是一类有将压力与电流相互转换能力的特殊陶瓷。当压电陶瓷在一定方向上受到一个压力使其晶体结构发生形变时,它就会在内部产生一个电流,电流的变化与压力的变化密切相关。反之,当在压电陶瓷上加上一定频率的电压,就会在内部产生一定频率的电流,从而就会引起压电陶瓷微小形变,这一形变带动空气发生振动。如果频率适当,就产生蜂鸣声,可以被人耳所听见。(2)报警控制电路工作过程报警控制信号由单片机 AT89C51 的 P3.7 端输出,通过一个限流电阻加到三极管C945 的基极。当 P3.7 端的输出信号发生变化时,则三极管 C945 将交替的工作于截止、饱和状态,形成高低电平的波,从而使压电蜂鸣器发出声音。本科毕业设计(论文)全套资料扣扣:1945354552.6 电源电路电源电路由变压器、单相桥式整流电路、滤波电路和三端稳压电路构成。其电路图如图 13 所示,图中“output”端输出为+5V。图 2.10 电源电路电子设备中常使用输出电压固定的集成稳压器。三端式稳压器只有输入、输出和公共引出端,由启动电路、基准电压电路、取样比较放大电路、调整电路和保护电路等部分组成。在本系统中,要求电源电压为+5V,由于三端式稳压器输出电压固定,故在设计中选择三端式稳压器 L7805。三端式稳压器的输入与输出之间电压差为 23V,整流桥的输出电压是输入电压(有效值)的 1.2 倍,根据有效值与峰-峰值的关系选择 220V/6V 的变压器。由于 L7805 的最大输出电流为 1A,电压为稳定的+5V,输出功率为 5W,加上三端式稳压器 L7805 的消耗,故本系统选择降压比为220V/6V、功率为 10W 的变压器。图 13 中 C4、C 5为低频滤波电容,根据经验选择电解电容,其容值分别为 C4=220F、C 5=47F;C 6、C 7为高频滤波电容,均选 0.1F的无极性电容。发光二极管用于指示电源是否接通,选择 FG1112004 发光二极管,根据 FG1112004 正向电流为 5mA 及管压降为+2V,选择限流电阻 R5= 680。2.7 数字式多路温度采集系统元件清单本科毕业设计(论文)全套资料扣扣:194535455数字式多路温度采集系统元件清单,见附录(1) 。3 多路温度采集系统软件设计3.1 主程序设计 主程序主要功能是控制调用子程序,实现温度的实时显示、读出并处理DS18B20 的测量温度值(温度测量每 1s 进行一次) 。其程序流程图如图 3.1 所示。调用显示子程序1s 到 ?初次上电?读出温度值温度计算处理显示数据刷新发出温度转换开始命令NYYN初始化发出报警YN温度超过报警值?调用键盘扫描子程序图 3.1 主程序流程图3.2 子程序设计3.2.1 Ds18b20 的通信协议根据 DS18B20 的通讯协议 7,主机(单片机 AT98C51)控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行初始化操作,初始化成功后发送一条存储器操作命令(ROM 指令) ,最后处理数据(发送 RAM 指令) ,这样才能对 DS18B20 进行预定的操作。所用各 ROM、RAM 操作指令分别如表2、表 3 所示。本科毕业设计(论文)全套资料扣扣:194535455表 2 ROM 指令表指令 约定代码 功能读 ROM 33H 读 DS18B20 温度 传感器 ROM 中的编码( 即 64 位地址)符合 ROM 55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与 该编码相对应的 DS18B20 使之做出响应,为下一步对该DS18B20 的读写做准备.搜索 ROM 0F0H用于确定挂接在同一总线上 DS18B20 的个数和识别 64位 ROM 地址。为操作各器件作好准备。跳过 ROM 0CCH忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令。适用于 单片工作。告警搜索命令 0ECH执行后温度超过设定值上限或下限的片子才能做出响应。表 3 RAM 指令表指令 约定代码 功能温度转换 44H启动 DS18B20 进行温度转换 ,12 位转换时最长为750ms(9 位为 93.75ms)。结 果存入内部 9 字节 RAM 中。读暂存器 0BEH 读内部 RAM 中 9 字节的内容。写暂存器 4EH发出向内部 RAM 的 3、4 字节 写上、下限温度数据命令,紧跟该命令之后,是 传送两字节的数据。3.2.2 子程序详细设计(1)键盘扫描子程序键盘扫描子程序对按下的键进行判断,并转到按下的相应键对应的程序段,执行相应的功能。其程序流程图如图 3.2 所示。(2)温度转换命令子程序温度转换命令子程序主要是发送温度转换开始命令。在发送匹配 ROM 命令后,紧跟着发送要进行测温的 DS18B20 的 64 位 ROM 序列(这个序列号一般由厂方提供或本科毕业设计(论文)全套资料扣扣:194535455通过实验的方式获得) 。采用 12 位分辨率,转换时间约为 750ms。其程序流程图如图 3.3 所示。确定键号有键按下?开始Y转至相应的程序,执行相应的功能N其它子程序发 DS18B20 复位命令命令匹配 ROM、64 位地址发温度转换开始命令结束图 3.2 键盘扫描子程序流程图 图 3.3 温度转换命令子程序流程图(3)读出温度子程序读出温度子程序主要功能是读出 RAM 中的 9 个字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如图 3.4 所示。(4)计算温度子程序从 DS18B20 读取出的二进制值必须先转换成十进制值,才能用于字符的显示。在系统采用 12 位转换精度,温度寄存器里的值是以 0.0625 为步进的,即温度值为温度寄存器里的二进制值乘以 0.0625,就是实际的十进制温度值。通过观察可以发现一个十进制值和二进制值之间有很明显的关系。低字节的高半字节乘以 0.0625 恰好就是原整数。因此,把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就恰好是温度值的百、十、个位值;剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值范围是 0F,转换成十进制小数值就是 0.0625 的倍数。这样需要 4 位的数码管来显示小数部分,实际应用不必有这么高的精度,采用 1 位数码管来显示小数,可以精确到 0.1。表 4 就是二进制和十进制小数的近似对应关系。其程序流程图如图 3.5 所示。表 4 小数部分二进制和十进制的近似对应关系表小数部分二进制数 0 1 2 3 4 5 6 7 8 9 A B C D E F本科毕业设计(论文)全套资料扣扣:194535455十进制数 0 0 1 1 2 3 3 4 5 5 6 6 7 8 8 9发 DS18B20 复位命令命令发匹配 ROM、64 位地址移入温度暂存区发读取温度命令读取 RAM 中的 9 个字节9 字节完?返回YNYNCRC 校验正确?置“+”标志计算小数位温度 BCD值计算整数位温度 BCD值温度值取补码置“”标志温度零下?返回YN开始图 3.4 读出温度子程序流程图 图 3.5 计算温度子程序流程图(5)显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位。其程序流程图如图 3.6 所示。本科毕业设计(论文)全套资料扣扣:194535455十位数显示符号,百位数不显示十位数 0?返回YN温度数据移入显示寄存器百位数 0?百位数显示数据(不显示符号)YN返回N设定最高温度报警值设定值小于显示缓冲区的值?Y发出报警图 3.6 显示数据刷新子程序流程图 图 3.7 报警控制子程序流程图(6)报警控制子程序当设定的最高报警温度值大于显示缓冲区中的数据时,发出报警,提示温度超过设定的最大值。其程序流程图如图 22 所示3.3 多路温度采集系统控制源程序数字式多路温度采集系统控制源程序,见附录(4) 。本科毕业设计(论文)全套资料扣扣:1945354554 系统调试及性能分析4.1 系统调试系统调试分为硬件调试和软件调试两步。(1)硬件调试硬件调试比较简单,首先检查电路的焊接是否正确及电路中有没有虚焊等问题,然后可用万用表测试或通电检测电路。(2)软件调试软件调试以程序为主。先编写一段显示程序对硬件的正常工作进行检验,然后进行主程序、匹配 ROM 子程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序等的编程及调试。软件调试到能显示温度值,而且在有温度变化时(例如用手去接触)显示温度能够改变就基本完成软件调试。由于 DS18B20 与单片机采用单线串行数据传送,因此,对 DS18B20 进行读写编程时必须严格地保证读写时序,否则将无法读取测量结果。4.2 系统性能分析用制作的测温系统和已有的成品温度计(如水银温度计)来同时测量环境温度,并对测量的结果进行比较分析。由比较分析及 DS18B20 的特点可得,用本系统进行测温时,精度很高,误差指标可以限制在 0.5以内;另外在-55+125的测温范围内使得该系统完全适合一般的应用场合。 本科毕业设计(论文)全套资料扣扣:1945354555 结论 数字式多路温度采集系统具有温度采集、显示、简单的人机对话及报警功能。它的测温范围宽(-55+125) ,测量精度可通过编程调节,最高精度可达到0.0625/LSB。本系统主要是适用于采集显示温度,不具备控制调节温度功能。但能够进行硬件和软件功能扩展。在硬件扩展后,通过软件编程实现控制功能扩展。例如当环境温度达到一定值时,通过软件编程进行判断,从主控制器的一个 I/O 端口输出一个控制指令,去驱动外部的控制电路工作,从而调节环境温度,使环境温度达到人们所需的要求。本文给出了利用单片机进行温度测量智能化控制的方法,对基于 51 单片机温度控制的原理及结构进行了系统的论述,本系统利用的是用单片机实现的高精度实用性温度测量仪,以 89c51 单片机为核心研究和设计了数字化温度控制系统,给出了系统硬软件控制的各部分系统的电路,测量仪具有使用简单,成本低,工作可靠等优点。在环境监测中有一定的应用前景。本科毕业设计(论文)全套资料扣扣:194535455参考文献1 李光飞单片机课程设计实例指导M北京:北京航空航天大学出版社,20042 余永权ATMEL 系列单片机应用技术M北京:北京航空航天大学出版社,20023 张毅刚单片机原理及应用M北京:高等教育出版社, 20044 李玉峰MCS-51 系列单片机原理与接口技术M北京:人民邮电出版社,20045 陈明荧8051 单片机课程设计实训教材M北京:清华大学出版社,20046 万福君. MCS-51 单片机原理、系统设计与应用.北京:清华大学出版社, 20087 刘君华.传感器应用技术及应用实例. 北京:电子工业出版社,20088 黄惟公.单片机原理与应用技术. 西安:西安电子科技大学出版社,20079 薛晓书.单片微型计算机原理及应用. 西安:西安交通大学出版社, 200410 袁秀英.单片机原理与应用教程. 北京: 北京航空航天大学出版社, 200611 李俊,张晓东. 基于单片机的温湿度检测与控制系统研究. 微计算机信息,200812 胡汉才.单片机微机原理及其接口技术M.北京:清华大学出版社, 200213 金伟正. 温湿度检测控制系统的研制J.电子与自动化,2000本科毕业设计(论文)全套资料扣扣:194535455致谢在这几个月的努力工作和学习下,终于是完成了我的毕业设计,这也意味着我的大学生涯的结束,大学是人生中非常重要的阶段,感谢有这么多优秀的老师敦促和教育我走过了大学这四年美好的时光,感谢他们教导了学生这么多的专业知识,助学生不断成长。论文的完成首先要感谢指导老师,李忠民老师,李老师给了学生大量的专业上的帮助,甚至是在论文之外个人发展的一些宝贵的经验和指点,这是现今大学课堂上所学不到的财富。本科毕业设计(论文)全套资料扣扣:194535455附录(1)多路温度采集系统原件清单表一 元件清单编号 元件名称 型号及规格 数量1 单片机芯片 AT89C51 12 感温元件 DS18B20 23 七段数码显示器 LED 44 串转并芯片 74LS164 45 晶振 12MH 16 按键 - 167 三极管 C945 18 压电蜂鸣器 - 19 整流二极管 1N4007 410 发光二极管 FG1112004 111 电阻 10 212 电阻 100 113 电阻 680 114 电阻 4.7 115 电阻 10K 116 电容 0.1F 217 电容 30 pF 218 电容 47F/50V 119 电容 100F/50V 120 电容 220F/50V 121 与门 74LS08 1本科毕业设计(论文)全套资料扣扣:194535455附录(2)多路温度采集系统源程序;采用 4 位 LED 共阳显示器显示测温值。;显示精度为 0.1 度、测温范围-55125 度。;用 AT89C51 单片机、12Mz 晶振。;*;*;工作内存区定义。BITS EQU 20HTIMEOK BIT BITS.1 ;1 秒定时到标志。TEMPON BIT BITS.2 ;第一次温度转换标志。TEMPL EQU 26H ;从 DS18B20 中读取温度低位的存放处。TEMPH EQU 27H ;从 DS18B20 中读取温度高位的存放处。TEMPCL EQU 28H ;转换后温度的小数位与个位存放处。TEMPCH EQU 29H ;转换后温度的十位与百位存放处,如果温度为负,则百位为符号位。TEMPHEAD EQU 36H ;从 DS18B20 高速缓存 RAM 中读出数据的存放处的第一位。;*;常数定义。K0 EQU P2.0 ;按键 K0 定义。K1 EQU P2.1 ;按键 K1 定义。DQ EQU P1.7 ;数据传送脚定义。;*;多路温度采集系统源程序。;*ORG 0000HLJMP STARTORG 000BHLJMP DVTO ;T0 中断入口地址。;*;系统初始化。ORG 0030HSTART: MOV SP,#60H ;数据存储区 20H80H 清“0” 。CLS: MOV R0,#20HMOV R1,#60HCLS1: MOV R0,#00HINC R0DJNZ R1,CLS1CLR P1.4 ;关移位脉冲。CLR P3.6 ;关闭报警器。MOV TMOD,#21H ;选择定时器 0 工作方式 1;MOV TH0,#0E0H ;20ms 定时初值。MOV TL0,#0B1H MOV SCON,#00H ;选择串行口工作方式 0;NOP本科毕业设计(论文)全套资料扣扣:194535455NOPSETB ET0 ;开定时器 T0。计时开始。SETB TR0SETB EAMOV PSW,#00HCLR TEMPONELJMP MAIN;*;主程序。MAIN: LCALL KEYBORD ;调用键盘扫描子程序。LOOP1: LCALL DISP ;调用显示子程序。JNB TIMEOK,LOOP1 ;测温每 1 秒一次。CLR TIMEOKJNB TEMPONE,LOOP2 ;上电时先温度转换一次。LCALL READTEMP ;读出温度值子程序。LCALL TEMPBCD ;温度 BCD 码计算处理子程序。LCALL DISPBCD ;显示区 BCD 码温度值刷新子程序。LCALL ALARM ;最高温度报警子程序。LOOP2: LCALL TEMPCONV ;温度开始转换子程序。SETB TEMPONESJMP MAIN;*;定时器 T0 中断服子程序。DVT0: PUSH PSWMOV PSW,#10HMOV TH0,#0E0HMOV TL0,#0B1HINC R7CJNZ R7,#32H,DVT01MOV R7,#00HSETB TIMEOK ;1 秒定时到标志。DVT01: POP PSWRETI;*;键盘扫描子程序。KEYBORD: JB K0,L1JNB K0,$LCALL FUNCTIONLJMP KEYBORDL1: JB K1,L2JNB K1,$LCALL FUNCTION1LJMP KEYBORDL2: RET本科毕业设计(论文)全套资料扣扣:194535455FUNCTION0: MOV 40H,#28H ;第一路 DS18B20 的 64 位序列号装入存储单元 40H47H。MOV 41H,#0D6HMOV 42H,#0B1HMOV 43H,#8AHMOV 44H,#00HMOV 45H,#00HMOV 46H,#00HMOV 47H,#0E3HRETFUNCTION0: MOV 40H,#28H ;第二路 DS18B20 的 64 位序列号装入存储单元 40H47H。MOV 41H,#0D6HMOV 42H,#0B1HMOV 43H,#8AHMOV 44H,#00HMOV 45H,#00HMOV 46H,#01HMOV 47H,#0E3HRET;*;DS18B20 复位子程序。RETET: SETB DQNOPNOPCLR DQMOV R6,#0A0H ;延时 480usDJNZ R6,$MOV R6,#0A0HDJNZ R6,$SETB DQMOV R6,#32H ;延时 70usDJNZ R6,$MOV R6,#3CHRESET1: MOV C,DQJC RESET2DJNZ R6,RESET1MOV R6,#64H ;延时 200usDJNZ R6,$SJMP RESETRETRESET2: SETB DQRET;*本科毕业设计(论文)全套资料扣扣:194535455;读 DS18B20 子程序,从 DS18B20 中读出一个字节的数据。READ: MOV R7,#08HSETB DQNOPNOPREAD1: CLR DQNOPNOPNOPSETB DQMOV R6,#07H ;延时 15us。DJNZ R6,$MOV C,DQMOV R6,#3CH ;延时 120us。DJNZ R6,$RRC ASETB DQDJNZ R7,READ1MOV R6,#3CH ;延时 120us。DJNZ R

温馨提示

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

评论

0/150

提交评论