《基于单片机的仓库温度监测系统设计与制作毕业论文(34页).doc》由会员分享,可在线阅读,更多相关《基于单片机的仓库温度监测系统设计与制作毕业论文(34页).doc(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的仓库温度监测系统设计与制作毕业论文-第 26 页大连海事大学装订线毕 业 论 文二一四年六月基于单片机的仓库温度监测系统设计与制作专业班级:电子信息科学与技术1班 姓 名: 王振华 指导教师: 金国华 信息科学技术学院摘 要本设计是基于AT89C51单片机的多路仓库温度监测系统的设计与制作。利用三个DS18B20分别采集三路温度,由LCD1602液晶显示屏实时显示路数和该路的温度,实现对仓库温度的实时监测。本设计主要包括温度传感器DS18B20、单片机AT89C51和LCD1602等器件,硬件电路包括温度检测电路、温度控制电路和一些接口电路等辅助电路,软件设计主要包括液晶显示程序
2、、温度检测程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序几个模块。设计电路工作原理为:首先,由三路DS18B20温度传感器芯片测量各路当前的温度,并将结果分别送入单片机。然后,通过AT89C51单片机芯片对送来的测量温度读数进行计算和转换,井将此结果分别送入液晶显示模块,如果测量温度超过预定值,单片机同时也会把信号传递给报警电路单元。最后,LCD1602芯片将送来的值依次循环显示于显示屏上。借助仿真工具Proteus和单片机编程软件Keil实现系统软、硬件的交互仿真,并进行了电路的焊接和调试,实现了课题设计目的。关键词:AT89C51单片机;温度传感器;DS18B20;LCD16
3、02ABSTRACTThis design is based on AT89C51 multiplex warehouse temperature monitoring system design and production. Using three DS18B20 temperature senso collected three road, respectively by the LCD1602 LCD real-time display the imlet and the temperature of the chain, realize the real-time monitorin
4、g of temperature in the warehouse.The designincludes temperature sensor DS18B20,MCU T89C51A,LCD1602 and other devices.Hardware circuit includes the temperature sensing circuit,the temperature control circuit,a number of interface circuits and other auxiliary circuits,Software design mainly includes
5、the LCD display program, temperature detection, temperature conversion command subroutine and display subroutine, calculation temperature data refresh subroutine modules.The circure design works as follows:By the four road chip DS18B20 temperature sensor measurement of various current temperature,an
6、d the result into this LCD module through the AT89C51,if the measured temperature exceeds a predetermined value,the microcontroller will also send signals to the alarm circuit module.LCD1602 sends the value of the chips which will be in turn shown on the screen.The system interaction simulation of h
7、ardware and software has been railized with simulation tools Proteus and SCM programming software Keil.The author performs the cirtcuit connection and debugging combined with implementing the design goal of the project.Keywords: AT89C51 Microcontroller;Temperature sensor;DS18B20;LCD1602目 录第1章 绪论11.1
8、 课题研究的背景及意义11.2 温度传感器国内外现状及水平11.3 课题设计任务与目的21.4 设计思路2第2章 系统设计32.1 方案设计32.1.1 设计方案一32.1.2 设计方案二32.1.3 设计方案三32.2 系统整体设计方框图4第3章 电子器件介绍53.1 单片机53.1.1 单片机的结构53.1.2 AT89C51简介53.1.3 AT89C51引脚功能63.1.4 芯片擦除83.2 DS18B20温度传感器83.2.1 DS18B20的主要特性83.2.2 DS18B20的外形和内部结构93.2.3 DS18B20工作原理133.2.4 DS18B20的外部电源供电方式143
9、.3 LCD1602液晶显示器153.3.1 引脚定义153.3.2 指令介绍163.3.3 显示自定义字符16第4章 硬件电路设计184.1 系统的硬件组成184.2 单片机的典型电路184.2.1 时钟电路184.2.2 复位电路194.3 显示电路194.4 温度检测电路204.5 温度报警电路20第5章 软件设计215.1 主程序215.2 温度检测程序215.2.1 DS18B20初始化215.2.2 读DS18B20程序225.2.3 写DS18B20程序235.3 温度转换命令子程序245.4 计算温度子程序245.5 显示数据刷新子程序25第6章 仿真、制作及系统调试276.1
10、 仿真结果276.2 实物制作276.3 系统调试28结论31参 考 文 献32致 谢33附录134基于单片机的仓库温度监测系统设计与制作第1章 绪论1.1 课题研究的背景及意义在信息高速发展的21世纪,电子科学技术的发展日新月异,社会中的诸多行业对各种信息参数的准备度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器技术作为新技术革命和信息社会的重要技术基础,是现代科技的开路先锋,也是当代科学技术发展的一个重要标志。传感器技术、通信技术、计算机技术分别对应
11、信息技术中的采集、传输和处理,尤其是温度传感器技术,在我国各领域已经广泛使用,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。同时,温度监测控制系统已广泛应用于社会生活的各个领域,甚至在不易人们亲自接近的货物储藏的仓库已普遍使用。检测控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致检测控制系统性能不佳,甚至出现控制不稳定、失控现象。本设计采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度
12、测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。在此基础上本设计又采用单片机芯片AT89C51作为主控制器的核心,形成成熟的温度控制系统,结合DS18B20芯片的小型化,通过单条数据线就可以和主电路连接,把数字温度传感器DS18B20做成探头,探入到仓库中的各个地方,不但增加其实用性,更能串接多个数字温度传感器DS18B20进行多路的温度监测。1.2 温度传感器国内外现状及水平传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工业生产和生活领域,数量高居各种传感器之首。温度传感器
13、的发展大致经历了以下三个阶段:传统的分离式温度传感器(含敏感元件)、模拟集成温度传感器/控制器和数字温度传感器。目前,国际上新型温度传感器正从模拟向数字式、由集成向智能化、网络化的方向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度的监测工作。但传统的方法是通过人工进行检测,对不符合温度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度误差大,随机性大。因此我们需要一种造
14、价低廉、使用方便且测量准确的温度监测系统。温度监测除了用于仓库监测外,还可以广泛应用于机房、图书馆、档案馆、文物馆、生物制药、无菌室等各行各业需要温度监测的场所和领域。随着我国科技和生产各领域都取得了飞速的发展和进步,发展温度传感器为载体的温度测量技术具有重大意义。1.3 课题设计任务与目的本设计要求利用温度传感器与单片机实现多路温度采集;温度测量范围为-2033,精度为0.5;设有温度报警功能。能够根据需要方便设定上下限报警温度,当达到报警温度后,能够发出报警声。本设计目的在于加深对单片机系统的认识,掌握一个系统开发设计的过程;熟悉使用proteus进行硬件仿真,keil进行程序编译。培养分
15、析问题、解决问题、独立设计和制作电子产品的能力。1.4 设计思路大多单片机接口输入的信号是数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性差、测量温度精度低,而且还需要经A/D转换成数字信号后才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计、方便单片机读取数据、节约成本。设计温度监测系统需要考虑以下3个方面:(1) 温度传感器芯片的选择;(2) 单片机和温度传感器的接口电路设计;(3) 控制温度传感器实现温度信息采集以及数据传输的软件。本设计是基于温度传感器
16、的仓库温度检测系统中的温度检测、电路控制、报警系统及显示部分的实现。以智能温度传感器应用技术和单片机应用技术为核心进行开发,并且以理论分析和该技术方案为基础,在不断地研究过程中进行不断的调整,完成了一个仓库温度监测系统的设计。第2章 系统设计2.1 方案设计2.1.1 设计方案一利用LM35温度感应器在温度变化时转化成电压的等比例变换,然后通过数码管以数字显示出来。此电路图的核心元件是利用ICL7107来完成功能的转换,ICL7107是一块应用非常广泛的集成电路。它包含3个1/2位数字A/D转换器,可直接驱动LED数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动凋零功能等。制作
17、时,数字显示用的数码管为共阳极,2K可调电阻最好选用多圈电阻,分压电阻选用误差较小的金属膜电阻,其它器件选用正品即可。该电路稍加改造,还可演变出很多电路,如数显电流表、数显温度计等。静默电流温度关系。硬件电路复杂,软件调试复杂,制作成本高,精度不高,不适合在高精度场合使用。2.1.2 设计方案二利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化易于实现。该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C5
18、1中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。该设计采用模数转换硬件电路复杂,软件调试复杂,制作成本高。故温度计精度不高,不适合在高精度场合使用。2.1.3 设计方案三在日常生活及工农业生产中经常要用到温度的监测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。本设计采用美国DALLAS半导体公司继DS1820之后
19、推出的一种改进型智能温度传感器DS18B20作为检测元件。DS18B20可以直接读出温度被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路、显示电路。监测系统控制器使用单片机AT89C51,温度传感器使用DS18B20,用LCD1602液晶显示器实现温度显示。此电路温度精度高、电路简单、可靠,可以在较高环境要求下准确测温,故采用此方案。2.2 系统整体设计方框图温度监测系统电路设计总体设计方框图如图2.1所示。本系统采用单片机及外围电路完成。最重要的部分即测温电路将采用数字温度芯片测量温度,
20、这样输出的信号为数字信号,可以直接由单片机来处理;晶振电路及复位电路将提供给单片机必不可少的时钟信号和复位信号以使单片机正常工作。报警电路用于当仓库温度超过额定范围时,及时报警通知。显示电路则是显示仓库温度。系统的运行流程为:三路温度传感器实时的采集各自的温度信号,输出的数字信号传给单片机,经单片机处理和判断分别分时显示在液晶显示器上。如果某路的温度超出或低于设定的温度范围,则报警器开始报警。完成上述任务后,返回程序起始位置,循环检测并显示。图2.1 系统总体框图第3章 电子器件介绍本章主要介绍系统设计所需的电子元器件。电子元器件主要包括单片机(AT89C51)、温度传感器(DS18B20)、
21、和液晶显示器(LCD1602)。3.1 单片机微型计算机的出现是数字计算机广泛应用到人们生活领域的一个重大转折点。单片微型计算机是微型计算机发展的一个重要组成部分,它以独特的结构和性能,在国民经济发展的各个领域都得到普遍应用。单片微型计算机(Single Chip Microcomputer)简称单片机。由于单片机主要用于系统的控制模块,因而又称作微控制器(Microcontroller Unit,MCU)或者嵌入式控制器(Embedded Controller)。它将计算机的基本功能部件加以微型化,并集成到一块芯片上,实现了片上系统的设计。3.1.1 单片机的结构单片机内部包含中央处理器部件
22、(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、Flash ROM)、定时器/计数器以及各种输入/输出(I/O)接口。单片机的结构如图3.1。图3.1 单片机的结构3.1.2 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标
23、准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.3 AT89C51引脚功能AT89C51单片机为40引脚双列直插式封装,其引脚排列和逻辑符号如图3.2所示。图3.2 单片机引脚示意图(1)VCC:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编
24、程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P
25、2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表3.1所示:表3.1 P3口第二功能引脚功能P3.0RXD(串行接
26、口输入)P3.1TXD(串行接口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器0输入信号)P3.5T1(定时器1输入信号)P3.6/WR(外部数据存储器读选通)P3.7/RD(外部数据存储器写选通)P3口同时为闪烁编程和编程校验接收一些控制信号。(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它
27、可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(10)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA
28、将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(12)XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,
29、并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2 DS18B20温度传感器DS18B20数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据
30、应用场合的不同而改变其外观。封装后的DS18B20如图3.3所示可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。3.2.1 DS18B20的主要特性(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电。(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
31、(4) DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。(5) 温范围55+125。(6) 可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7) 在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8) 测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。图3.3 DS18B20封
32、装图3.2.2 DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20的外形及管脚排列如图3.4:光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位 (28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5
33、+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。图3.4 DS18B20的外形及管脚排列DS18B20的内部结构如图3.5:图3.5 DS18B20内部结构图DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB形式表达,其中S为符号位。如表3.2所示:表3.2 DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0
34、.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FE6FH,-55的数字输出为FC90H 。如表3.3所示表3.3 DS18B20温度数据表DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。 配置寄存器的结构见表3.4。表3.4 配置寄存器TMR1R011111低五位一直都是“1”,TM是测试模式位,用于设置DS18B20
35、在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用 户不要去改动。R1和R0用来设置分辨率,如表3.5所示:(DS18B20出厂时被设置为12位)表3.5 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms高速暂存存储器由9个字节组成,其分配如表3.6所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=
36、1时,先将补码变为原码,再计算十进制值。表2.3是对应的一部分温度值。第九个字节是冗余检验字节。表3.6 DS18B20暂存寄存器分布寄存器内容字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令见表3.7,最后发送RAM指令见表3.8,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当D
37、S18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。表3.7 ROM指令表指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用
38、于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。表3.8 RAM指令表指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第2、3字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1
39、820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。3.2.3 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。DS18B20测温原理如图3.6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数
40、器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.6 DS18B20测温原理框图3.2.4 DS18B20的外部电源供电方式如图3.7所示在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证 转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B2
41、0的GND引脚不能悬空 ,否则不能转换温度,读取的温度总是85。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度 监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。图3.7 外部供电方式单点测温电路3.3 LCD1602液晶显示器LCD1602液晶显示器是工业字符型液晶,能够同时显示162即32个字符。是一种专门显示字母、数据、符号等的点阵型液晶。每个点阵都可以显示一个字符。实物如图3.8。图3.8 LCD16023.3.1 引脚定义LCD
42、1602具有16个引脚。引脚示例如图3.9。各引脚功能见表3.9。图3.9 LCD1602引脚示例表3.9 引脚功能表序号名称描述1GND接地2VCC接+5V3VL液晶显示器对比度调整端4RS寄存器选择端5RW读写控制端6EN使能端7-14D0-D7双向数据端15BL+背灯电源正极16BL-背灯电源负极3.3.2 指令介绍LCD1602液晶显示器内部共有11条指令。各指令定义及功能见表3.10。表3.10 LCD1602指令表3.3.3 显示自定义字符显示自定义字符步骤如下:(1) 先将自定义字符写入CGRAM。 LCD160内含的CGROM字符代码表中的00H07H地址中的内容没有定义,它是
43、用户自定义区域。用户可以向CGRAM中定义内容。在设定内容时,要逐行设定,每行对应一个CGRAM,每行5点,共8行。(2) 将CGRAM中的自定义字符传送到DDRAM中。首先写入行地址。格式见表3.11。然后设定CGRAM数据的内容。见表3.12。表3.11 行地址格式RSR/WDB7DB6DB5-DB3DB2-DB00001字符地址行号表3.12 设定CGRAM中的数据格式RSR/WDB7-DB5DB4-DB010一般取000每行5点的字模数据第4章 硬件电路设计4.1 系统的硬件组成本设计使用单片机作为控制核心,采用多个温度传感器对多点温度进行检测,以液晶显示屏分别循环显示检测的温度。系统
44、原理框图如图4.1所示。图4.1 系统原理框图4.2 单片机的典型电路单片机的典型电路包括时钟电路和复位电路。4.2.1 时钟电路如图4.2连接即可构成自激振荡电路,振荡频率取决于适应晶体的振荡频率,范围可取1.212MHz,C1、C2主要起频率微调和稳定作用,电容可取530pF。图4.2 单片机时钟电路4.2.2 复位电路上电复位电路:RC构成微分电路,在接电瞬间产生一个微分脉冲,其宽度大于2个机器周期。如图4.3所示:图4.3 单片机复位电路4.3 显示电路如图4.4所示为LCD1602液晶显示屏的接口连线,最后两个管脚LED+接高电平+5V,LED-接地。通过调节10K滑动变阻器来调节显
45、示屏的亮度,以便清晰显示数据。图4.4 LCD1602液晶显示屏的接口连线4.4 温度检测电路如图4.5所示为温度检测电路连接图,三路DS18B20的DQ分别接单片机的P3.2、P3.3、P3.4I/O接口,DS18B20采用外部供电方式,I/O口线要接5K左右的上拉电阻,这里接4.7K,工作稳定可靠,抗干扰能力强。图4.5 温度检测电路连接图4.5 温度报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过或者低于所预设的温度时,数据口相应拉高电平,报警输出。也可采用发光二级管报警电路,如果需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALA
46、RM的内容是否与预设一样,如不一样,则发光报警。报警电路硬件连接图见图4.6。图4.6 报警电路硬件连接图第5章 软件设计系统程序主要包括主程序、温度检测程序、温度转换命令子程序、计算温度子程序显示数据刷新子程序等。5.1 主程序主程序调用各个子程序,并系统的控制各执行模块之间的结合与联系,处理子程序送来的数据。主程序流程图如图5.1所示。图5.1 主程序流程图5.2 温度检测程序DS18B20在单片机的控制下分三个阶段:18B20初始化、读18B20、写18B20。5.2.1 DS18B20初始化 DS18B20的初始化流程图如图5.2所示。先将数据线置高电平“1”;延时(该时间要求的不是很严格,但是尽可能的短一点), 数据线拉到低电平“0”;延时750s(该时间的时间范围可以从480到960s); 数据线拉到高电平“1”;延时等待(如果初始