网络知识 娱乐 基于51单片机的温度采集与报警系统】

基于51单片机的温度采集与报警系统】

  1. 引言

单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将设计一种基于单片机控制的温度器,本温度计属于多功能温度计,可以利用温度传感器对环境温度进行监测和显示,可以通过系统的键盘进行修改上下报警温度,当温度不在设置范围内时,可以报警。

随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。本文通过采用蜂鸣器作为电声元件的温度报警器的设计,阐明了该装置进行设计与制作的具体过程及方法。这种温度报警器结构简单,可操作性强,应用广泛。当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,从而防止带来的不必要的损失。

造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。

  1. 系统的设计与理论分析

2.1 设计要求

基本范围-55℃-125℃ ;

测量温度直接液晶显示;

可以任意设定温度的上限;

检量的温度超过所设置的范围进行蜂鸣器发声报警。

2.2 系统基本方案选择和论证  

2.2.1 单片机芯片的选择方案和论证

由于单片机具有以下的很多优点,被我们选定为制作该作品的首选芯片

单片机特点:

(1)高集成度,体积小,高可靠性

单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。

(2)控制功能强

为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。

(3)低电压,低功耗,便于生产便携式产品

为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。

(4)易扩展

片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。

(5)优异的性能价格比

单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。

方案一:

采用ATC89C52芯片作为硬件核心。ATC89C52内部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C52可以通过串口下载。

方案二:

采用AT89S51。AT89S51片内具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。

两种单片机都完全能够满足设计需要,ATC89C51相对ATS89C52价格便宜,且抗干扰能力强。考虑到成本因素,因此选用ATC89C51。

2.2.2 温度传感器设计方案论证

利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有体。温度传感器是温度测量仪表的核心部分,品种繁多。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。

现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。温度传感器的发展大致经历了以下三个阶段;

(1)传统的分立式温度传感器(含敏感元件);

(2)模拟集成温度传感器/控制器;

(3)智能温度传感器。国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方向发展。

在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1°C。国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625°C。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125°C,测温精度为±0.2°C。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-Wire)总线、I2C总线、SMBus总线和spI总线。温度传感器作为从机可通过专用总线接口与主机进行通信。

方案一:

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化 的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比较麻烦。

方案二:

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

2.3 电路设计最终方案决定

综上各方案所述,对此次作品的方案选定: 采用STC89C52单片机作为主控制系统;采用DS18B20为传感器;采用液晶作为显示器件。

  1. 硬件系统设计

3.1 ATC89C51介绍

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机

3.1.1 ATC89C51主要功能及PDIP封装

ATC89C51主要功能如表1所示,其PDIP封装如图1所示

主要功能特性

兼容MCS51指令系统

8K可反复擦写Flash ROM

32个双向I/O口

256x8bit内部RAM

3个16位可编程定时/计数器中断

时钟频率0-24MHz

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

表1:STC89C51主要功能

3.1.2 S

ATC89C51引脚介绍

① 主电源引脚(2根)

VCC(Pin40):电源输入,接+5V电源

GND(Pin20):接地线

②外接晶振引脚(2根)

XTAL1(Pin19):片内振荡电路的输入端

XTAL2(Pin20):片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):地址锁存允许信号

PSEN(Pin29):外部存储器读选通信号

EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)

ATC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7

3.1.3 单片机最小系统:

当在ATC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。

电路以ATC89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入部分采用三个独立式按键S1、S2、S3。液晶显示部分。

3.2 DS18B20传感器介绍

3.2.1 DS18B20概述

在现代检测技术中,传感器占据着不可动摇的重要位置。主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。如果没有各种精确可靠的传感器对非电量和模拟信号进行检测并提供可靠的数据,那计算机也无法发挥他应有的作用。传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进行分析处理。从而传感器技术与计算机技术结合起来,对自动化和信息化起重要作用。

采用各种传感器和微处理技术可以对各种工业参数及工业产品进行测控及检验,准确测量产品性能,及时发现隐患。为提高产品质量、改进产品性能,防止事故发生提供必要的信息和更可靠的数据。由于系统的工作环境比较恶劣,且对测量要求比较高,所以选择合适的传感器很重要。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速发展。智能温度传感器DS18B20正是朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中。

美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片外加不锈钢保护管封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。有独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯;其测温范围 -55℃~+125℃,固有测温分辨率0.5℃;支持多点组网功能;多个DS1820可以并联在唯一的三线上,实现多点测温;工作电源为3~5V/DC;在使用中不需要任何外围元件。

DS18B20的性能特点如下:

(1) 采用DALLAS公司独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;

(2)在使用中不需要任何外围元件;

(3)可用数据线供电,供电电压范围:+3.0V~+5.5V;

(4)测温范围:-55~+125℃。固有测温分辨率为0.5℃。当在-10℃~+85℃范围内,可确保测量误差不超过0.5℃,在-55~+125℃范围内,测量误差也不超过2℃;

(5)通过编程可实现9~12位的数字读数方式;

(6)用户可自设定非易失性的报警上下限值;

(7)支持多点的组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温

(8)负压特性,即具有电源反接保护电路。当电源电压的极性反接时,能保护DS18B20不会因发热而烧毁,但此时芯片无法正常工作;

(9)DS18B20的转换速率比较高,进行9位的温度值转换只需93.75ms;

(10)适配各种单片机或系统;

(11)内含64位激光修正的只读存储ROM,扣除8位产品系列号和8位循环冗余校验码(CRC)之后,产品序号占48位。出厂前产品序号存入其ROM中。在构成大型温控系统时,允许在单线总线上挂接多片DS18B20。

各引脚功能为:I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。

3.2.3 DS18B20的内部结构

DS18B20的内部结构主要包括7部分:寄生电源、温度传感器、64位激光(loser)ROM与单线接口、高速暂存器(即便筏式RAM,用于存放中间数据)、TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码(CRC)发生器。

3.3 LCD1602液晶显示管介绍

3.3.1 LCD1602液晶显示管概述

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

  它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 

3.3.2 LCD1602液晶显示管的基本参数及引脚功能

1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图

 LCD1602主要技术参数

  显示容量:16×2个字符

  芯片工作电压:4.5—5.5V

  工作电流:2.0mA(5.0V)

  模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口

第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

  第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

  第4脚:RS寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

  第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据

6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

  第7~14脚:D0~D7为8位双向数据线。

  第15脚:背光源正极。

第16脚:背光源负极。

4. 软件系统设计

4.1 KEIL软件介绍

Keil 是美国Keil公司的C51编译器,它被嵌入到了Keil uVision集成开发环境中。Keil是目前最常用的编译器,支持浮点等到类型,支持多维数组,能生成对应的汇编代码,能直接编译汇编代码程序和内嵌多种工具,可以方便的链接,生成可执行文件。Keil uVision 2 IDE 是Keil software 公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。这一功能强大的软件提供简易的开发平台,可以让开发者在开发过程中集中精力于项目本身,加快开发速度。

4.2温度采集的软件设计

如图4-2为温度采集的软件设计,主要功能是完成DS18B20的初始化工作,并进行读温度,将温度转化成为压缩BCD码 并在显示器上显示传感器所测得的实际温度。读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。

5.系统运行情况分析

5.1 Proteus 软件介绍

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。 

5.2 Proteus 仿真图

图5-2为仿真总原理图

 

最小系统原理图

 

温度传感器原理图

调节温度上下限开关原理图

 

温度报警蜂鸣器原理图

 

温度显示 液晶原理图

 

单片机连线原理图

 

5.3 硬件调试

硬件调试主要是测试各硬件部分能否完成设计功能。

系统的性能调试以主程序为主。硬件调试比较简单,直接插上电,软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、从程序的编写和调试,由于DS18B20与单片机采用串行数据传送,因此对DS18B20进行编程时必须严格地保证读写时序,否则将无法读取测量结果。

在焊接的过程中,每接一根线都用万用表测试是否短路或开路。这样焊接完了之后,就不必怀疑线路不通的问题了,由于线路很繁琐也免去了大量排查的工作。最初焊接最小系统,查看二极管能否正常闪烁,以此判断单片机是否正常工作。整体电路焊接完后,通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内,判断单片机的工作与否。

5.4 调试结果

在调试中出现的很多问题,开始显示屏不显示,经排查是一处地线没连接,导致显示屏供不上电。连接后显示屏正常亮了,但是显示不出想要的结果,调节可变电阻,改变背光度,依然不显示。经过和班级同学的讨论,我们知道是程序的问题。于是我们修改了程序,并最终调试出想要的效果。

  1. 总结与讨论

通过这次实验,我们小组对采集与51单片机的温度采集报警系统有了更加深刻的认识,通过对之前学习的回顾和学习,充分发挥了对所学过知识的得理解和应用,最终完成了本次实验。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。

本次论文设计,使我们加深了对51单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。技术在不断进步。做为新时代的我们,更应该提高自身能力,适应新时代的发展。知识来自实践,多从生活中探寻所需要的。

在设计实验的过程中,我们面对这三个方面的难题。第一个是怎样设计出符合要求的单片机系统,我们小组通过分工合作的方式,在网上进行了搜索,找到相对适合我们要求的原理图,然后进行学习认识,找到各个模块的作用,其中的难点是如何进行各个模块功能的汇总,在我们小组的讨论和研究下,弄懂了各个模块的功能和原理。第二个难题是如何进行程序代码的修改和戳写,在原有代码的基础上,我们对基础代码进行研究学习,弄懂了基础代码的运行方式,然后再此基础上对其进行修改成符合我们需求的代码,其中有好几次代码不成功,烧录进单片机没反应等情况,对此我们的解决方案是,先对单片机进行电路检测,看看是否是电路本身出了问题,其次再对代码本身进行更细致的阅读,然后查找到对应的错误进行修改,在这反复纠错与修改的过程中,我们逐渐对51单片机的温度采集报警系统有了更深刻的理解和认识;第三的难点就是在焊接电路板过程中,第一是时间上的紧迫,只有周三周四的几个钟才有时间去焊接,其次是中途有次焊接错误导致的代码烧录进去后没有反应的问题,经过各个部分电路检测发现了是其中一个元器件烧坏,对其进行更换后解决了此问题。通过这次小组实验,让我们更加深刻的认识和理解了51单片机的温度采集报警系统,也更加提高了我们发现问题和解决问题的能力,其中小组的团队合作是我们能够完成本次实验的重要因素。

从这次的论文设计中,我们真正的体会到知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用所学的知识运用到实际情况当中。

附1:实物图:

 

附2:参考文献

[1] 陈权昌,李兴富.单片机原理及应用[M].广州:华南理工大学出版社,2007.84~102

[2] 李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社,2005.32~58

[3] 杨志忠.数字电子技术[M].北京:高等教育出版社,2003.125~132

[4] 及力.Protel 99 SE原理图与PCB设计教程[M].北京:电子工业出版社,2007.89~150

[5] 徐江海.单片机实用教程[M].北京:机械工业出版社,2006.128~156

[6] 胡宴如.模拟电子技术[M].北京:高等教育出版社,2008.60~104

[7] 汪文,陈林.单片机原理及应用[M].湖北:华中科技大学出版社,2007.36~68

[8] 康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.203~209

[9] 杨欣.电子设计从零开始[M].北京:清华大学出版社,2005.28~102