温度测量及报警电路设计报告终稿.docx
- 文档编号:24588101
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:36
- 大小:420.71KB
温度测量及报警电路设计报告终稿.docx
《温度测量及报警电路设计报告终稿.docx》由会员分享,可在线阅读,更多相关《温度测量及报警电路设计报告终稿.docx(36页珍藏版)》请在冰豆网上搜索。
温度测量及报警电路设计报告终稿
南昌航空大学
科研创新训练研究报告
题目:
温度测量及报警电路设计
学院:
测试与光电工程学院
专业名称:
电子科学与技
术
班级学号:
09083110
学生姓名:
XXX
指导教师:
肖慧荣
2012年6月
温度测量及报警电路设计
摘要:
现代社会中,温度测量及报警电路在国民经济、航空航天、气温监测尤其是工业生产和自动控制等一系列生产生活中有着重要作用。
要控制好温度,测量是前提,测量的精度影响着后续工序的进行,因此温度测量的方法和选取就显得相当重要了。
本设计是基于低功耗、高性能的CMOS8位微控制器STC89C52单片机的温度测量报警系统,采用DALLAS公司的智能化一线传感器DS18B20作为核心温度传感器。
传统的测温元件热电偶和热电阻等测出的一般都是电压,在转换为对应的温度,需要比较多的元件且电路较复杂,制作成本高,因而我们采用智能传感器DS18B20作为检测元件,其测温范围-55℃~125℃,分辨率最大可达0.0625℃,能直接读出被测温度值。
本系统将温度传感器DS18B20接在控制器的端口上,实时对环境温度进行采集,通过LCD1602显示器显示,并将采集到的温度值与设定值的范围进行比较,当超出设定的温度上限或低于下限时,蜂鸣器和一发光二级管会立即报警提示,通过复位装置可消除报警。
经实验测试表明,该系统具有设计和布线简单,结构紧凑,抗干扰能力强,性价比高,扩展方便等优点,具有关阔的应用前景。
关键词:
STC89C52单片机、DS18B20、LCD1602显示器、报警
目录
绪论4
1设计内容与要求5
1.1设计内容5
1.2设计要求5
2系统设计方案5
2.1设计方案论证5
2.1.1方案A5
2.2.2方案B6
2.2设计方案定型7
3系统硬件设计7
3.1系统组成7
3.2工作原理7
3.2.1主控制单元7
3.2.2温度传感器11
3.2.3LCD1602显示器12
4系统软件设计14
4.1设计思路14
4.2程序设计15
4.2.1主程序15
4.2.2读出温度子程序15
4.2.3温度转化命令子程序15
4.2.4计算温度子程序16
4.2.5显示数据刷新子程序16
5系统调试17
5.1硬件调试17
5.1.1硬件静态的调试17
5.1.2系统硬件调试18
5.2软件调试18
5.3软硬联调18
致谢19
参考文献20
附录21
1原理图21
2实物图21
3程序22
绪论
温度是一个非常重要的物理量,它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。
温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。
因此对温度的测量的意义就越来越大。
温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。
温度采集控制系统是在嵌入式系统设计的基础上发展起来的。
嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。
这条道路就是芯片化道路。
将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。
在现代化的工业生产中,单片机对温度的控制问题是一个工业生产中经常会遇到的问题,同时温度也是生活中最常见的一个物理量,也是人们很关心的一个物理量,它与我们的生活息息相关,有着十分重要的意义,在工业生产中,温度过高或过低会直接影响到产品的质量、对机械设备和控制系统中的各种元器件造成一定的损坏,严重的会影响到生产安全。
在日常生活中,温度过高或过低同样会造成一些不良影响。
在实际生产生活各个领域中,温度是环境因素的不可或缺的一部分,对温度及时精确的控制和检测显得尤为重要。
比如,农业上土壤各个层面上的温度将会影响植物的生长;在医院的监护中也用到温度的测量。
在工业中,料桶里外上限温度要求不一,以及热处理中工件各个部位的温度对工件形成后的性能至关重要等等。
现代电子工业的飞速发展对自动测试的要求越来越高。
采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。
针对以上情况,在控制成本的前提下,通过本设计设计一款能够实时检测控制温度,又具有对系统设定不同的报警温度的温度控制报警系统功能。
此系统能够满足现代生产生活的需要,效率高,具有较强的稳定性和灵活性。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本文设计了一个基于单片机的智能化测温报警系统,它具有不同于传统的测温器,具有快速、灵敏、误差小、智能化等优点。
文章将通过一系列章节来阐述这个设计过程。
1设计内容与要求
1.1设计内容
此次温度测量及报警电路的设计简单易懂,实用性强。
主要通过单片机STC89C52控制温度传感器DS18B20,将采集到的环境温度数据传送到LCD1602显示器上显示,超过一定温度范围及时报警,通过复位装置复位,回到初始设定值。
1.2设计要求
1、温度参数
基本范围-50℃-110℃
精度误差小于0.5℃
LCD1602直读显示
可以任意设定温度的上下限报警功能
2、温度测量
通过DS18B20传感器检测测量温度,用STC89C52单片机进行控制,通过用LCD1602以串口传送数据实现温度即时显示
3、温度显示
LCD1602能实时显示传送来的温度数值以及设定的温度上下限范围值
4、蜂鸣器报警
温度一旦超过设定范围立刻发出报警声
5、复位装置
通过复位能解除报警,恢复初始状态
2系统设计方案
2.1设计方案论证
2.1.1方案A
如图2-1所示,对于温度测量电路而言,温度传感可采用热电偶元件和温度补偿原理。
A/D转换部分使用集成芯片AD574A;二进制到8421BCD码的转换用EEPROM281024实现;显示译码部分用74LS148和数码管实现;温度控制范围设定采用数字设定方式,用74LS160十进制加计数器和锁存器74LS175实现;温度的判断比较数值比较器74LS85的级联实现;通过使用74LS160和ADG508F实现多路温度循环监测功能。
声光报警及温度控制执行部分采用555构成的单稳态电路,以提高加热系统与降温系统的稳定性和实用性。
这种设计方案的电路较复杂,成本较高。
图2-1设计方案A框图
2.2.2方案B
如图2-2所示,控制器采用单片机STC89C52,温度传感器采用智能化传感器DS18B20,用LCD1602液晶屏以串口传送数据实现温度显示,报警电路采用蜂鸣器等。
图2-2设计方案B框图
测温电路由温度传感器DS18B20完成,该温度传感器是美国DALLAS半导体公司新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,使用DS18B20可使系统结构更趋简单,可靠性更高。
在测温精度、转换时间、传输距离、分辨率等方面拥有很大优势,给用户带来了更方便的使用和更令人满意的效果。
自动报警主机的核心器件是单片机,它是整个系统的心脏,由它来接受报警信号并控制协调各功能模块的正常工作,考虑到系统的功能和经济性因素,采用的是当今流行的性价比比较高的STC89C52。
2.2设计方案定型
经过上述二种方案的论证比较,综合考虑成本、性能等因素,最终选取方案B,其电路比较简单,软件设计也更容易。
3系统硬件设计
3.1系统组成
本系统主要是基于单片机实现其温度检测和报警功能,由温度传感器DS18B20、单片机STCT89C52、LCD1602显示电路、软件构成。
DS18B20输出表示摄氏温度的数字量,并用用单片机进行数据处理、译码、显示、报警等。
3.2工作原理
3.2.1主控制单元
1、主控单元采用一片STC89C52单片机。
根据设计要求,充分利用了单片机灵活控制的优点,发挥其优势功能,采用单片机控制显示信号灯,提高了系统的灵活性,设置方便。
STC89C52芯片本身集成了看门狗(WDT)电路,这是为了系统更加的稳定可靠,避免了系统因为死机而停止工作的情况发生这种做法对于实际上长时间运行在恶劣状况的交通灯控制系统来说是十分必要的。
它可以完成自动加载复位,省去人工调整的麻烦,可以做到无人职守。
2、STC89C52的特点
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35Mhz,6T/12T可选。
图3-1STC89C52芯片
3、主要功能特性:
·兼容MCS-51指令系统
·32个双向I/O口
·2个16位可编程定时/计数器
·全双工UART串行中断口线
·2个外部中断源
·中断唤醒省电模式
·看门狗(WDT)电路
·灵活的ISP字节和分页编程
·8k可反复擦写(>1000次)ISPFlashROM
·4.5-5.5V工作电压
·时钟频率0-33MHz
·512x8bit内部RAM
·低功耗空闲和省电模式
·3级加密位
·软件设置空闲和省电功能
·双数据寄存器指针
4、STC89C52的引脚功能介绍:
VCC:
AT89S51电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接
上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一个20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平
提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/VPP:
"EA"为英文"ExternalAccess"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(VPP)。
ALE/PROG:
ALE是英文"AddressLatchEnable"的缩写,表示地址锁存器启用信号。
STC89C52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一个锁存器将端口0送出的地址锁住成为A0~A7,再配合端口2所送出的A8~A15合成一个完整的16位地址总线,而定址到64K的外部存储器空间。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了用做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
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,外部数据存储器的读取信号。
3.2.2温度传感器
1、温度传感器选取DS18B20,性能特点如下:
①独特的单线接口仅需要一个端口引脚进行通信;
多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
③无须外部器件;
④可通过数据线供电,电压范围为3.0~5.5V;
⑤零待机功耗;
⑥温度以9或12位数字;
⑦用户可定义报警设置;
⑧报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
⑨负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
2、DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图
3-1所示。
图3-1DS18B20内部结构框图
3、温度数值分析
图3-2DS18B20
利用的单片机的一个IO口(P3.7)如图3-2所示,读取DS18B20的温度高位,温度低位。
温度高位的高5位的符号位、低3位是整数部分的高四位(整数部分的最高位永远为0),温度低温的高四位为整数部分的低四位,温度地位的低四位是小数部分用以下公式计算:
整数部分=温度低位/16+温度高位×16
小数部分十分位=(温度低位&0x0f)×10/16
由于DS18B20的集成度很高,使得设计的原理还是比较简单,设计的关键是了解DS18B20的时序,准确地获得温度高位和温度低位。
3.2.3LCD1602显示器
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
1602字符型LCD液晶,能够同时显示16x02即32个字符,通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,工业字符型液晶,能够同时显示16x02即32个字符。
其引脚如下图所示:
图3-3LCD1602引脚
各引脚说明:
表1LCD1602引脚说明
4系统软件设计
4.1设计思路
在子程序设计中,要求系统结构清晰,尽可能地保证单入口单出口,减少与其他程序之间的耦合,但为了提高这类滞后对象的实时性指标,可以在个程序适当的部分进行揉合。
在本程序中,利用CPU执行温度转换这段代码占有的时间代替这段延时。
在正常执行温度转换时,同样需要调用一段延时,而本系统利用CPU执行显示子程序占有的时间代替这段延时。
总之,系统设计时要协调这种时间滞后,使系统满足实时性要求。
具体程序流程图如图4.1所示:
图4.1程序流程图
4.2程序设计
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
4.2.1主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图4-2所示。
图4-2主程序流程图图4-3度温度程序流程图
4.2.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图4-3所示。
4.2.3温度转化命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如上图4-4所示。
图4-4温度转换流程图
4.2.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4-5所示。
图4-5计算温度流程图
4.2.5显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
程序流程图如图4-6所示。
图4-6显示数据刷新流程图
5系统调试
5.1硬件调试
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
根据方案设计的要求,调试过程共分三大部分:
硬件调试、软件调试和软硬联调。
单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。
但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。
可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。
5.1.1硬件静态的调试
1.排除逻辑故障
这类故障往往由于设计和加工制板过程中工艺性错误所造成的。
主要包括错线、开路、短路。
排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。
应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。
必要时利用数字万用表的短路测试功能,可以缩短排错时间。
2.排除元器件失效
造成这类错误的原因有两个:
一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。
可以采取检查元器件与设计要求的型号、规格和安装是否一致。
在保证安装无误后,用替换方法排除错误。
3.排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。
加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。
若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。
5.1.2系统硬件调试
电路的调试主要看接口以及连线是否正确。
依次检查,直到正常工作。
5.2软件调试
本系统的软件系统较大,全部采用C语言语言编写,除语法与逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。
采取自下到上的方法,单独调好每一个模块,最后完成一个完整的系统调试。
软件调试在Keil编译器下进行,源程序编译及仿真调试应分段或以子程序为单位一个一个进行,最后可结合硬件实时调试。
5.3软硬联调
系统做好后,进行系统的完整调试。
联机仿真必须借助仿真开发装置、示波器、万用表等工具。
这些工具是单片机开发的最基本工具。
信号线是联络80S51和外部器件的纽带,如果信号线连结错误或时序不对,那么都会造成对外围电路读写错误。
51系列单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几大类。
这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。
应该利用软件编程的方法来实现。
(1)初始化后,开始运行。
(2)如果运行过程中出现问题,按复位键后,重新开始。
结论
MCS-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。
本设计的温度控制检测和报警系统,只是单片机广泛应用于各行各业中的一例。
本设计研究是基于单片机控制的温度闭环控制系统的设计,介绍了对温度的显示、控制及报警,实现了温度的实时显示及控制。
控制部分,提出了用DS18S20、89C51单片机及LCD的硬件电路完成对环境温度的实时检测及显示,利用DS18S20与单片机连接由软件与硬件电路配合来实现温度控制及超出设定的上下限温度的报警系统。
它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18S20都有唯一的产品号并可存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。
从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18S20供电,而无需额处电源。
DS18S20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。
致谢
本设计论文在肖慧荣老师的悉心栽培和精心指导下完成,经过此次设计,我巩固了已学过的专业知识,又学到了许多新知识。
通过理论和实践相结合,使得大学期间所学到的各方面知识得以融会贯通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 测量 报警 电路设计 告终
![提示](https://static.bdocx.com/images/bang_tan.gif)