基于51单片机的温度报警器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
『2009届』
题目基于51单片机的温度报警器设计姓名我
学号
专业班级通信电子技术091
指导教师于先生
2012年6月3日
毕业论文任务书
主要实现:实时温度测量及显示,超出温度围声光报警,上下限温度可通过按键设定等功能。
本数字温度报警器是基于51单片机及温度传感器DS18B20来设计的,温度测量围0到99.9摄氏度,精度为0.1摄氏度,可见测量温度的围广,精度高的特点。
可设置上下限报警温度,默认上限报警温度为38℃、默认下限报警温度为5℃(通过程序可以更改上下限值)。
报警值可设置围:最低上限报警值等于当前下限报警值,最高下限报警值等于当前上限报警值。
将下限报警值调为0时为关闭下限报警功能。
目录
前言 (1)
1 设计要求与方案论证 (3)
1.1 设计要求 (3)
1.2 系统基本方案选择和论证 (3)
1.2.1 单片机芯片的选择方案和论证 (3)
1.2.2 温度传感器设计方案论证 (4)
1.3 电路设计最终方案决定 (6)
2 主要元件介绍 (6)
2.1 STC89C51介绍 (6)
2.1.1 STC89C51主要功能及PDIP封装 (6)
2.1.2 STC89C51引脚介绍 (6)
2.1.3 单片机最小系统: (8)
2.2 DS18B20传感器介绍 (9)
2.2.1 DS18B20概述 (9)
2.2.2 DS18B20引脚介绍 (10)
2.2.3 DS18B20的部结构 (11)
2.2.4 DS18B20的程序流程图 (12)
2.3 数码管介绍 (13)
2.3.1 数码管概述 (14)
3 程序流程图 (15)
结论 (15)
参考文献 (16)
致 (17)
附录1 系统原理图 (18)
附录2 C语言程序 (19)
基于51单片机的温度报警器设计
学院专业班级(5号黑体)
摘要:单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度器,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置围时,可以报警。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。
本文通过采用蜂鸣器作为电声元件的温度报警器的设计,阐明了该装置进行设计与制作的具体过程及方法。
这种温度报警器结构简单,可操作性强,应用广泛。
工作时,温度测量围为5—38ºC。
当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,从而防止带来的不必要的损失。
造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房所属的电子产品发热快,在短时间机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。
关键词STC89C51单片机,数字控制,温度计,DS18B20
前言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,
主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,用四位一体共阳极LED 数码管以串口传送数据,实现温度显示,能准确达到要求。
1 设计要求与方案论证
首先明确设计要求,再讨论方案,一一攻破设计的难点。
1.1 设计要求
基本围0℃-99℃;
精度误差小于0.1℃;
数码管直读显示;
扩展功能:可以任意设定温度的上下限报警功能。
1.2 系统基本方案选择和论证
1.2.1 单片机芯片的选择方案和论证
由于单片机具有以下的很多优点,被我们选定为制作该作品的首选芯片
单片机特点:
(1)高集成度,体积小,高可靠性
单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。
芯片本身是按工业测控环境要求设计的,部布线很短,其抗工业噪音性能优于一般通用的CPU。
单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片,故可靠性高。
(2)控制功能强
为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产便携式产品
为了满足广泛使用于便携式系统,许多单片机的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
(4)易扩展
片具有计算机正常运行所必需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
(5)优异的性能价格比
单片机的性能极高。
为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。
单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片的ROM容量可达62MB,RAM容量则可达2MB。
由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。
方案一:
采用STC89C51芯片作为硬件核心。
STC89C51部具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机完全兼容,STC89C51可以通过串口下载。
方案二:
采用AT89S51。
AT89S51片具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。
两种单片机都完全能够满足设计需要,STC89C51相对ATS89C52价格便宜,且抗干扰能力强。
考虑到成本因素,因此选用STC89C51。
1.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,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,两种都完全能够满足设计需要,很容易看出,采用方案二,电路
比较简单,软件设计也比较简单,故采用了方案二。
1.3 电路设计最终方案决定
综上各方案所述,对此次作品的方案选定: 采用STC89C51单片机作为主控制系统;采用DS18B20为传感器;采用数码管作为显示器件。
2 主要元件介绍
2.1 STC89C51介绍
STC89C51是由宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。
2.1.1 STC89C51主要功能及PDIP封装
S TC89C51主要功能如表1所示,其PDIP封装如图1所示
表1:STC89C51主要功能
2.1.2 STC89C51引脚介绍
①主电源引脚(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根)
STC89C51单片机有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
STC89C52
图1:STC89C51封装图
2.1.3 单片机最小系统:
当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机部就执行复位操作,按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经过电阻与电源VCC接通而实现的。
最小系统如图2所示。
Array图2 单片机最小系统电路
电路以STC89C51单片机最小系统为控制核心,测温电路由DS18B20提供,输入部
分采用三个独立式按键S1、S2、S3。
数码管显示部分。
具体电路连接,详见附录1。
2.2 DS18B20传感器介绍
2.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。
2.2.2 DS18B20引脚介绍
图3:DS18B20引脚
各引脚功能为:I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。
UDD是可供选用的外部电源端,不用时接地,GND 为地,NC空脚。
2.2.3 DS18B20的部结构
DS18B20的部结构主要包括7部分:寄生电源、温度传感器、64位激光(loser)ROM 与单线接口、高速暂存器(即便筏式RAM,用于存放中间数据)、TH触发寄存器和TL 触发寄存器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码(CRC)发生器。
图4:DS18B20部结构2.2.4 DS18B20的程序流程图
图5程序流程图
2.3 数码管介绍
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM 接到+5V ,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
2.3.1 数码管概述
123456
E D d p C G S 1
图5:数码管
数码显示器是一种由LED 发光二极管组合显示字符的显示器件,它使用了8个Led 发光二极管,其中七个用于显示字符,一个显示小数点,所以通称为七段发光二极管数码显示器。
4位一体数码管,其部段已连接好,引脚如图所示(数码管的正面朝自己,小数点在下方)。
a 、b 、c 、d 、e 、f 、g 、dp 为段引脚,S1、S2、S3、S4分别表示四个
数码管的位。
3 程序流程图
图6:程序流程图
结论
通过对自己在大学两年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了本设计。
这为自己今后进一步深化学习,积累了一定宝贵的经验。
撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能
力的实际训练。
培养了我运用所学知识解决实际问题的能力。
本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。
技术在不断进步,机械式时钟已经被淘汰,电子时代已经到来。
做为新时代的我们,更应该提高自身能力,适应新时代的发展。
知识来自实践,多从生活中探寻所需要的。
从这次的论文设计中,我真正的体会到,知识的重要性,特别是要理论联系实际,把我们所学的理论知识运用到实际生活当中,要用知识改变一切。
参考文献
[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
-
致
首先,感学校三年来对我的培养。
为我们营造了一个良好的学习氛围,建设一流的教学设施,使我们身心愉快的投入到学习中。
其次,感尊敬的指导老师,有了他的谆谆教诲,处处提点,才使本论文的前期准备以及整个研究过程顺利完成。
指导老师的严谨治学态度、扎实的理论基础、全身心投入工作的精神以及对学生尽心尽力的态度给了我极大的帮助与鼓励,使我受益匪浅。
从指导老师的教学态度上,我学到的不仅仅只有书本上的知识,还有做人的道理。
他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
在此谨向指导老师致以诚挚的意和崇高的敬意。
最后,感我的父母多年来给予我的支持和关怀,同时感我的舍友和朋友对我的帮助。
- 附录1 系统原理图
- 附录2 C语言程序
#include <AT89X52.h>
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P3_1 //定义调整键
#define DEC P3_2 //定义减少键
#define ADD P3_3 //定义增加键
#define BEEP P3_6 //定义蜂鸣器
#define ALAM P1_2 //定义灯光报警
#define DQ P3_7 //定义DS18B20总线I/O
bit shanshuo_st; //闪烁间隔标志
bit beep_st; //蜂鸣器间隔标志
sbit DIAN = P0^5; //小数点
uchar x=0; //计数器
signed char m; //温度值全局变量
uchar n; //温度值全局变量
uchar set_st=0; //状态标志
signed char shangxian=38; //上限报警温度,默认值为38。