课程设计论文室内温度检测

上传人:仙*** 文档编号:29647421 上传时间:2021-10-08 格式:DOC 页数:23 大小:99.28KB
收藏 版权申诉 举报 下载
课程设计论文室内温度检测_第1页
第1页 / 共23页
课程设计论文室内温度检测_第2页
第2页 / 共23页
课程设计论文室内温度检测_第3页
第3页 / 共23页
资源描述:

《课程设计论文室内温度检测》由会员分享,可在线阅读,更多相关《课程设计论文室内温度检测(23页珍藏版)》请在装配图网上搜索。

1、课程设计论文题 目:温度报警系统 专 业: 电子科学与技术 班 级: 081 姓 名: 张财 学 号: 0812270139 指导老师: 周继裕 目 录设计任务3第一章 方案比较和论证4 1.1温度传感器的选择4 1.2 控制芯片的的选择5 1.3 输出显示设备选择6第2章系统整体设计 7 2.1信号采集8 2.1.1 温度传感器8 2.2.2 单片机最小系统9 2.3信号处理10 2.3.1 显示电路10 2.3.2 报警模块10第3章 软件设计12第4章 结论23设计任务要求本设计以AT89C52单片机为核心来对多点温度进行实时巡检。各检测单元(从机)能独立完成各自功能,同时能根据主控机的

2、指令对温度进行时时采集。并将采集来的信息通过液晶屏显示清晰的呈现给用户,如果采集的信息超出了预设范围,并且报警系统开启,闪烁灯和蜂鸣器都将给出报警示意用户,以便做出及时决定。本系统能够同时检测多路温度,检测温度范围-55+100。根据实际需要,检测点数可以扩展。此外,本系统还具有报警模块,可设定温度报警上下限,当检测到任何温度超过温度报警上下限就进行报警。并通过按键和无线模块来控制是否开启报警功能。第1章方案比较和论证当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和

3、对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。1.1温度传感器的选择方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,

4、因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200650,百度电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为(0.15+0.002 |t|),B级为(0.3+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。方案二:采用DS18B20,温度测量范围从-55+125,-10+85时测量精度为0.5,测量分辨率为0.0625,电源电压范围从3.35V 。它支持“一线总线”的数字

5、方式传输,可组建传感器网络。而且,无需进行线性校正,使用非常方便,接口简单,成本低廉。与传统的热敏电阻温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,可以分别在93.75ms和750ms内将温度值转化9位和12位的数字量。它具有体积小、接口方便、传输距离远等特点,内含寄生电源。 系统有如下特点: (1)不需要备份电源,可通过信号线供电;(2)送串行数据,不需要外部元件;(3)零功耗等待;(4)系统的抗干扰性好,适合于恶劣环境的现场温度测量,如环境控制、设备过程控制、测温类消费电子产品等。综合比较方案一与方案二,成本相差不多,方案二具有更高的

6、抗干扰能力和精度,电路结构简单,选择方案二作为本设计的温度传感器。1.2 控制芯片的的选择在多数电子设计当中,基于性价比的考虑,8位单片机仍是首选。目前,8位单片机在国内外仍占有重要地位。在8位单片机中又以MCS51系列单片机及其兼容机所占的份额最大。MCS51的硬件结构决定了其指令系统不会发生变化,设计人员可以很容易的对不同公司的单片机产品进行选型,他们只需将重点放在芯片内部资源的比较上。方案一:采用AT89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程

7、技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。方案三:STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术

8、制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。方案一是多年前的的产品,因自身设计缺陷,已经很少被人使用。方案二和方案三使用差别不大。因此选择方案二。1.3 输出显示设备选择电子设计中常用的输出显示设备有两种:数码管和LCD。方案一:数码管是现在电子设计中使用相当普遍的一种显示设备,每个数码管由7个发光二极管按照一定的排列结构组成,根据七个发光二极管的正负极连接不同,又分为共阴极数码管和共阳极数码管

9、两种,选择的数码管不同,程序设计上也有一定的差别。数码管显示的数据内容比较直观,通常显示从0到F中的任意一个数字,一个数码管可以显示一位,多个数码管就可以显示多位,在显示位数比较少的电路中,程序编写,外围电路设计都十分简单,但是当要显示的位数相对多的时候,数码管操作起来十分烦琐,显示的速度受到限制。并且当硬件电路设计好之后,系统显示能力基本也被确定,系统显示能力的扩展受到了限制。方案二:而液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的、甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的

10、修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。字符型液晶显示屏已经成为了单片机应用设计中最常用的信息显示器件之一。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。本设计需要显示温度值和湿度值,还可显示设置温湿度数值报警数值的上下限,显示数字较多,因此选用方案二1602液晶做输出设备。第2章系统整体设计本方案以AT89C52单片机系统为核心来对温度进行实时控制和巡检。各检测单元能独立完成各自功能,并根据主控机的指令对温进行实时采集。主控机负责控制指令的发送,并控制各个检测单元进行温度采集,收集测量数据,同时对测量结果进行整理和显示

11、。其中包括单片机、复位电路、温度检测、键盘及显示、报警电路、无线遥控开启或关闭警报、系统软件等部分的设计。本设计由信号采集、信号分析和信号处理三个部分组成的。(1)信号采集 由温度传感器模块组成;(2)信号分析 由单片机AT89C52组成;(3)信号处理 由液晶显示模块、led灯模块和蜂鸣器模块组成AT89C521602显示键盘模块LED灯模块蜂鸣器模块无线控制模块温度传感器模块2.1信号采集2.1.1 温度传感器Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松组建传感器网络。新一代的“DS18B20”

12、体积更小、更经济、更灵活。图3.2 DS18B202、DS18B20工作原理DS18B20的测温原理如图3.4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时,温度寄存器的值将加1计数器1 的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为

13、所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值10。2.2.2 单片机最小系统单片机系统的扩展是以基本最小系统为基础的,故应首先熟悉应用应用系统的结构。单片机最小系统包括晶体振荡电路、复位电路,其电路图如图3.13所示。图3.13 单片机最小系统 1.复位电路单片机复位的原理是在时钟电路开始工作后,在单片机的RST引脚施加24个时钟振荡脉冲(即两个机器周期)以上的高电平,单片机便可以实现复位。在复位期间,单片机的ALE引脚和PSEN引脚均输出高电平。当RST引脚从高电平跳变为低电平后,单片机便从0000H单元开始执行程序。在实际应用中,一般采用既可以手动复

14、位,又可以上电复位的电路,这样可以人工复位单片机系统,这种电路如图3.13复位部分所示。上电复位电路部分的原理也是RC电路的充放电效应。除了系统上电的时候可以给RST引脚一个短暂的高电平信号外,当按下按键开关的时候,VCC通过一个高电阻连接到RST引脚,给RST一个高电平,按键松开的时候,RST引脚恢复为低电平,复位完成。2.晶振电路时钟电路是用于产生单片机正常工作时所需要的时钟信号。STC89C52单片机内部包含有一个振荡器,可以用于CPU的时钟源。另外也可以采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。2.3信号处理2.3.1 显示电路在单片机应用系统设计中,一般都是把

15、键盘和显示器放在一起考虑。显示器作为输出部件,可以将系统的运行结果、状态等信息直观地显示出来供操作者了解系统的运行情况和程序的执行结果。本设计是利用8051的串行口实现键盘/显示器接口。图3.15 LCD显示模块2.3.2 报警模块本设计采用峰鸣音和LED灯闪烁报警电路。峰鸣音报警接口电路的设计只需购买市售的压电式蜂鸣器,然后通过MCS-51的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,也可以用一个晶体三极管驱动。在图中,P3.2接晶体管基极输入端。当P3.2输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5

16、V电压而鸣叫;当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。图3.16是一个简单的使用三极管驱动的峰鸣音报警电路:第3章软件设计开始初始化测量温度值给单片机发送温度值调用温度报警检测否是否超出测量范围检测键盘和无线口是否允许是否是蜂鸣器响LED灯闪烁结束#include #include #define uchar unsigned char#define uint unsigned intsbit DQ=P05; /采温数据口sbit led1=P30;sbit led0=P31;sbit beep=P16;sbit key1=P10;sbit key2=P11;sbit key

17、3=P13;sbit key4=P14;sbit out=P17;sbit en=P35;sbit rw=P36; /低写高读sbit rs=P37; /端口不能改!数据命令选择端,0选命令选uchar num;uint temp; void init();uchar code table=0123456789;uchar code table1=.;uchar code table2= C;uchar code table3=TEMP IS ;uchar code table4=WARNING!;uchar code table5= ;uchar code table6=ON ;uchar

18、code table7=OFF;/*精确延时函数*/void delay(unsigned char i) while(-i); void delayms(uint z) /1ms延时 uint i,j; for(i=z;i0;i-) for(j=110;j0;j-); /*DS18B20*/void Init_Ds18b20(void) DQ = 1; delay(1); DQ = 0; delay(250); DQ = 1; delay(100); uchar Read_One_Byte() uchar i = 0;uchar dat = 0;for(i=8;i0;i-) DQ = 0;

19、_nop_(); dat = 1; DQ = 1; delay(1); if(DQ) dat |= 0x80; delay(10); return (dat);void Write_One_Byte(uchar dat)uchar i = 0;for(i=8;i0;i-) DQ = 0; _nop_(); DQ = dat&0x01; delay(10); DQ = 1; dat = 1;delay(1); uint Get_Tmp() /获取温度float tt;uchar a,b;Init_Ds18b20(); /初始化Write_One_Byte(0xcc); /忽略ROM指令Write

20、_One_Byte(0x44); /温度转换指令Init_Ds18b20(); /初始化Write_One_Byte(0xcc); /忽略ROM指令Write_One_Byte(0xbe); /读暂存器指令a = Read_One_Byte(); /读取到的第一个字节为温度LSBb = Read_One_Byte(); /读取到的第一个字节为温度MSBtemp = b; /先把高八位有效数据赋于temptemp = 8; /把以上8位数据从temp低八位移到高八位temp = temp|a; /两字节合成一个整型变量tt = temp*0.0625; /得到真实十进制温度值 /因为DS18B2

21、0可以精确到0.0625度 /所以读回数据的最低位代表的是0.0625度temp = tt*100+0.05; /放大十倍 /这样做的目的将小数点后第一位也转换为可显示数字 /同时进行一个四舍五入操作。return temp;void write_com(uchar com) rw=0; rs=0; P2=com; delayms(2); en=1; delayms(2); en=0; delayms(2); void write_dat(uchar dat) rw=0; rs=1; P2=dat; delayms(2); en=1; delayms(2); en=0; delayms(2);

22、 void init() en=0; P2=0x00; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); /*1602动态显示函数*/void Display(uint temp) /显示程序uchar A1,A2,A3,A4;A4=temp/1000;/千位A1 = temp%1000/100; /百位A2 = temp%100/10; /十位A3 = temp%10; /个位write_com(0x80+0x08);write_dat(tableA4);write_com(0x80+0x09);write

23、_dat(tableA1);write_com(0x80+0x0a);write_dat(table10);write_com(0x80+0x0b);write_dat(tableA2);write_com(0x80+0x0c);write_dat(tableA3); void main()init();write_com(0x80);for(num=0;num8;num+) write_dat(table3num); write_com(0x80+0x0d);for(num=0;num2;num+) write_dat(table2num); out=1;write_com(0x80+0x4

24、0);for(num=0;num3;num+) write_dat(table6num); while(1) Display(Get_Tmp(); if(key1=0) /无线关警报 out=0;led1=1;beep=0;write_com(0x80+0x40);for(num=0;num3;num+) write_dat(table7num); if(key2=0)/无线开警报 out=1;write_com(0x80+0x40);for(num=0;num3;num+) write_dat(table6num); if(key3=1)/键盘关警报 out=0;led1=1;beep=0;

25、write_com(0x80+0x40);for(num=0;num3;num+) write_dat(table7num); if(key4=1) /键盘开警 out=1;write_com(0x80+0x40);for(num=0;num3;num+) write_dat(table6num); if(2500temp3700) led0=0;led1=1;beep=0;write_com(0x80+0x46);for(num=0;num=3700) led1=0;beep=1;write_com(0x80+0x46);for(num=0;num8;num+) write_dat(tabl

26、e4num); delayms(50); led1=1; beep=0; write_com(0x80+0x46);for(num=0;num8;num+) write_dat(table5num); delayms(50); if(out=1) if(temp=2500) led1=0;beep=1;write_com(0x80+0x46);for(num=0;num8;num+) write_dat(table4num); delayms(50); led1=1; beep=0; write_com(0x80+0x46);for(num=0;num8;num+) write_dat(tab

27、le5num); delayms(50); 结 论本设计综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了单片机控制的温度显示装置的设计。比较系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。1. 把传感器技术应用到单片机控制系统中,实现了对环境温度的数据采集和读取。2. 利用LCD液晶的显示技术完成了环境温度显示电路的设计。3. 外接了蜂鸣器报警模块,在超过设定温度上下限时自动报警。4. 本设计还有报警启动和禁止功能,可用键盘手动控制,也可用无线遥控控制,更加人性化。5. 整个系统软硬件搭配合理,设计、开发、维护方便,性价比高。由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。本文介绍的系统设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。还需要在智能化方面加以改进。特别是在节省功耗,提高稳定度等方面。不过,该产品有很好的可扩性能,比如,该设备的测量结果不仅能在本地显示,而且可以利用单片机的串行口和RS-485总线通信协议将采集的数据传送到主控机,以进行进一步的存档、处理。主控机负责控制指令的发送,以控制各个从机的温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。主控机与从机之间也能够相互联系、相互协调,从而达到系统整体统一、和谐的效果。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!