毕业论文数字温度传感器在温度测量中的应用Word文件下载.docx
《毕业论文数字温度传感器在温度测量中的应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《毕业论文数字温度传感器在温度测量中的应用Word文件下载.docx(40页珍藏版)》请在冰点文库上搜索。
![毕业论文数字温度传感器在温度测量中的应用Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/50d3e4c7-f41e-4791-9ed8-5b682bf721df/50d3e4c7-f41e-4791-9ed8-5b682bf721df1.gif)
本课题主要介绍了温度传感器的硬件电路的设计和系统软件设计。
硬件电路主要包括主控制器,测温电路和显示电路等,控制器采用单片机AT89S52,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用LCD12864液晶显示。
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
此外,还介绍了系统的调试和性能分析。
由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。
DS18B20温度计还可以在过限报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。
在该论文中,我们通过对单片机和温度传感器的设计,从中学到了许多有用的东西,其中我们明白了如何去设计一个产品,首先要有性价比、良好的适应性,其次要知道设计的关键,最后也懂得了设计与实际的联系。
关键词:
AT89S52温度检测LCD12864DS18B20温度传感器
第1章前言1
1.1课题研究的背景1
第3章硬件系统设计3
3.1系统电路设计框图3
3.2系统硬件概述3
3.3单片机主控模块的设计3
3.3.1单片机的简介3
3.3.2单片机的功能特性描述4
3.3.3AT89S52的主要特性6
3.3.4主控电路6
3.4温度采集系统设计7
3.4.1数字温度传感器简介7
3.4.2DS18B20的外形和内部结构7
3.4.3温度传感器DS18B20工作原理9
3.4.4DS18B20的工作时序9
3.4.5硬件连接图10
3.5显示模块的设计10
3.5.1LCD-12864的简介10
3.5.2LCD-12864引脚说明11
3.5.3主要技术参数12
显示模块主要硬件构成说明13
3.5.5LCD-12864的读写时序14
3.5.6显示模块硬件连接图16
第4章软件系统设计17
4.1主程序软件设计17
4.2DS18B20软件系统设计17
4.2.1初始化子程序17
读子程序18
4.2.3写子程序18
4.3LCD-12864软件系统设计19
4.4计算显示的主要程序20
4.5延时子程序20
第5章系统调试21
5.1液晶模块调试21
显示内容为:
21
5.2传感器部分调试21
5.3本系统存在的不足与拓展21
5.3.1存在不足21
5.3.2系统拓展21
第6章总结22
致谢23
参考文献24
译文25
附录:
系统电路图27
第1章前言
1.1课题研究的背景
从17世纪初人们开始利用温度进行测量。
在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。
与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、红外传感器和微波传感器。
热电偶传感器有自己的优点和缺陷,它灵敏度比较低,容易受到环境干扰信号的影响,也容易受到前置放大器温度漂移的影响,因此不适合测量微小的温度变化。
由于热电偶温度传感器的灵敏度与材料的粗细无关,用非常细的材料也能够做成温度传感器。
也由于制作热电偶的金属材料具有很好的延展性,这种细微的测温元件有极高的响应速度,可以测量快速变化的过程。
传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低但需要后续信号处理电路,需要很好的解决引线补偿问题、多点切换误差问题和放大电路零点漂移问题。
在接口上需要A/D转换,因此结构复杂,调试烦琐。
而且热敏电阻的可靠性相对较差,测量温度的准确度低,检测系统的精度差。
数字化技术推动了信息化的革命,数字温度传感器构成的温度测量系统具有结构简单,抗干扰能力强,稳定可靠,适用于恶劣环境下进行现场温度测量等优点。
本系统由数字温度传感器DS18B20进行温度采集送给单片机AT89S52进行处理,通过软件编程远程控制并显示出所测量的温度值。
可应用于仓库测温、楼宇空调和生产过程控制等领域。
1.2课题研究的目的和意义
课题研究的目的
通过本次毕业设计,主要想达到以下目的:
1.增进对单片机的认识,加深对单片机理论方面的理解;
2.掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口等;
3.了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下基础;
4.熟悉数字温度传感器在实际测量中的应用,并能熟练的对其进行编程;
5.掌握LCD-12864显示屏的应用,并能在上面显示出所要显示的东西。
课题研究的意义
随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,作为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。
在温度测量系统中,单片机更是起到了不可替代的核心作用。
在工业生产如:
仓库测温、生产过程监控等,在日常生活中如:
温度计、楼宇空调等等,都用到了电阻加热的原理。
随着生产的发展,在工业中,上述设备对温度的精确度要求越来越高,随着人们生活水平的提高,对生活中外界温度和人的体温的具体值也提出了更高的要求,温度传感器的不断更新换代,满足了上述的要求,达到温度测量精确值的目的。
本温度测量系统的对象是外界温度,针对空气温度或人体温度,要求所设计的系统具有软硬件结构简单、成本低廉、可靠性高(即不易出错)等特点。
本系统的设计则以上述特点为宗旨设计。
第2章系统设计的总体思路
2.1系统设计要求
设计指标
1.基本功能
检测温度
显示温度
2.主要技术参数
温度检测范围:
-55℃~+125℃
测量精度:
±
1℃
设计要求
本次需要设计一个温度测量系统,这里选用单片机为执行器(核心器件),通过温度检测电路,控制系统,显示电路等做成这样一个系统。
具体方案选择在下节中介绍。
2.2系统硬件的总体设计
单片机的选择方案和论证
方案一:
采用MCS-51系列单片机中的AT89C51芯片作为核心器件,有4K字节的内部flashPERAM,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52芯片作为核心器件,片内ROM全都采用flashROM;
能以3V的超低压工作;
同时也与MCS-51系列单片机完全兼容。
该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,由此不会对芯片造成损坏。
所以选择采用AT89S52作为本次设计的主控制系统。
显示模块的选择方案和论证
采用八段数码管显示器,每一个独立的数码管只能显示一个数字,这样要想得到精确度高的温度显示就必须多并几个数码管,并且数码管本身不带锁存功能,因此要加锁存器在它与单片机的连接处,这样就加大了硬件电路的复杂度,所以在本次设计中不采用八段数码管显示器。
采用LCD-1602液晶显示器,显示容量为16*2个字符,它不能显示汉字,这样看起来不够美观,所以在本次设计中不采用LCD-1602液晶显示器。
方案三:
采用LCD-12864液晶显示器,可以显示四行汉字,每行为16个字符,八个汉字,这样可进行比较观察,清晰明了,易于操作,占用的单片机口线少,可以满足本系统的设计要求,因此在本次设计中的显示部分我们选用LCD-12864液晶显示器。
系统设计方案的最终确定
综合上面各方案所述,对此次系统的方案选定:
采用AT89S52作为主控制系统;
液晶显示模块LCD12864作为本次系统的显示;
DS18B20数字温度传感器作为本次系统温度的信息采集。
通过论证拟采用的设计方案内容包括以下几点:
1、选择AT89S52单片机作为整个系统的核心器件,发送并时时处理系统信息。
2、传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。
工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。
在这个系统的设计中我们选用集成数字温度传感器。
3、信号采集通道的选择:
本设计中用到的数字温度传感器,输出的是数字量,不需要进行模数转化在本设计系统中,温度输入信号为多路的模拟信号,这就需要多通道结构。
4、显示电路的设计:
这里采用液晶LCD-12864进行显示,本设计是利用单片机的串行口实现显示器接口。
第3章硬件系统设计
3.1系统电路设计框图
AT89S52
主控模块
LCD-12864显示模块
DS18B20温度采集
振荡电路
复位电路
图3-1系统电路设计框图
3.2系统硬件概述
采用单片机对外界的温度进行实时检测和显示不仅具有观察方便、简单和灵活性大等特点,而且可以大大提高被测量温度的技术指标。
本设计利用单片机的这些特点利用数字温度传感器DS18B20对外界或人体的温度进行测量,并用LCD-12864显示屏显示出所测量的温度值。
3.3单片机主控模块的设计
单片机的简介
AT89S528位单片机是MCS–51系列产品的升级版,有世界著名半导体公司ATMEL在购买MSC-51设计结构后,利用自身优势——(掉电不丢数据)闪存生产技术对旧技术进行改进和扩展,同时使用新的半导体产生工艺,最终得到成型产品。
与此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,51和52都是8051的内核,只不过52的内部资源比51稍多,比如增加了一个16位的计数器T2,当然相应的特殊寄存器(SFR)也有了一点变化,另外52的内存也从51的128字节提高到了256字节,ROM也从2K提高到4K,可以装下更大的程序。
考虑到内存的增加对较复杂的程序带来的好处,52的总体性能是要比51好很多。
另外S52比C51还增加了ISP功能,就是在线可编程功能,这可是很有用的功能,S51也具备这一功能,C51和C52都不具备,现在电子市场能买到的大都是S系列的。
AT89S52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。
根据不同的运行速度和功耗的要求,时钟频率可以设置在0—33M之间。
片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。
可以在4V到5.5V宽电压范围内正常工作。
不断发展的半导体工艺也让该单片机的功耗不断降低。
同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。
图3-2AT89S52的外形图
3.3.2单片机的功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图3-3AT89S52的管脚图
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出;
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制);
P1.5MOSI(在系统编程用);
P1.6MISO(在系统编程用);
P1.7SCK(在系统编程用)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦可作为AT89S52特殊功能(第二功能)使用。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口);
P3.1TXD(串行输出口);
P3.2INTO(外中断0);
P3.3INT1(外中断1);
P3.4TO(定时/计数器0);
P3.5T1(定时/计数器1);
P3.6WR(外部数据存储器写选通);
P3.7RD(外部数据存储器读选通)。
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
AT89C51与AT89S52的引脚图一样,下图为AT89C51的引脚图。
图3-4AT89C51引脚图
3.3.3AT89S52的主要特性
•与MCS-51单片机产品兼容
•8K字节在系统可编程Flash存储器
•1000次擦写周期
•全静态操作:
0Hz~33Hz
•三级加密程序存储器
•32个可编程I/O口线
•三个16位定时器/计数器八个中断源
•全双工UART串行通道
•低功耗空闲和掉电模式
•掉电后中断可唤醒
•看门狗定时器
•双数据指针
•掉电标识符
主控电路
单片机的最小系统如图3.5所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。
第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。
图3-5主控电路
3.4温度采集系统设计
数字温度传感器简介
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)在使用中不需要任何外围元件。
~+5.5V。
(4)测温范围:
-55~+125℃。
固有测温分辨率为0.5℃。
(5)通过编程可实现9~12位的数字读数方式。
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
3.4.2DS18B20的外形和内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如下:
图3-6DS18B20外形图
引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
内部结构为:
温度灵敏元件
低温触发器TL
高温触发器TH
配置寄存器
高速
锁存
存储器
存储器和控制器
8位CRC生成器
64位ROM和
单线接口
电源检测
图3-7DS18B20的内部结构
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以℃/LSB形式表达,其中S为符号位。
例如+125℃的数字输出为07D0H,+℃的数字输出为0191H,-℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
温度值低字节
23
22
21
20
2-1
2-2
2-3
2-4
温度值高字节
S
25
24
高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
其中配置寄存器的格式如下:
0
R1
R0
1
R1、R0决定温度转换的精度位数:
R1R0=“00”,9位精度,最大转换时间为93.75ms;
R1R0=“01”,10位精度,最大转换时间为187.5ms;
R1R0=“10”,11位精度,最大转换时间为375ms;
R1R0=“11”,12位精度,最大转换时间为750ms;
未编程时默认为12位精度。
高速暂存器是一个9字节的存储器。
开始两个字节包含被测温度的数字量信息;
第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;
第6、7、8字节未用,表现为全逻辑1;
第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
3.4.3温度传感器DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图3.8中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
计数器1
=0
计数器2
比较
预置
温度寄存器
低温度系数晶振
高温度系数晶振
斜率累加器
图3-8DS18B20测温原理框图
DS18B20的工作时序
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括初始化时序、写时序和读时序,如图(a)(b)(c)所示。
(a)初始化时序
(b)写时序
(