单片机智能温度报警系统_第1页
单片机智能温度报警系统_第2页
单片机智能温度报警系统_第3页
单片机智能温度报警系统_第4页
单片机智能温度报警系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、私立华联学院毕业设计题目:单片机智能温度报警系统学院:电子信息工程系专业:电子信息工程技术级:08电子1班名:梁旭学号:0301080135摘要:介绍了单总线数字温度传感器 DSI8B20莫块的特性,利用DS18B2设计了一种基于 STC89C5单片机的智能温度报警系统。该智能温度报警系统以ST(公司生产的STC89C5为控制器,结构简单、测温准确。软件使用莫块化结构并对温度进行刷新显示和报警处理。Abstract: The single-bus digital temperature sensor DSI8B20 module features, the use of DS18B20 des

2、igned based on STC89C52 of Intelligent temperature alarm system. The intelligent temperature alarm system to STC produced STC89C52 the controller structure is simple, accurate temperature measurement. Software uses a modular structure. Refresh and temperature display and alarm processing.引言在工业生产中,温度

3、的控制尤其重要,因而对温度报警系统的需求也越来越大。如何设计一款 成本低廉、测量准确、操作简单的智能温度报警系统成为一个重要问题。在本次设计中,整个 系统以SCT98C5为核心。温度传感器DS18B20完成环境温度转换功能。其输出为数字形式,可以 直接给单片机进行处理;键盘为简单的三键控制,处理方式采用中断方式,减少了占用CP时间。 这种设计的成本较小,结构简单、操作方便,并且测量也很准确,能够满足工业生产 的需要温度控制,在工业自动化控制中占有非常重要的地位。单片机系统的开发应用给现代工业 测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。将单片机控制方 法运用到温度控制系

4、统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频 率的基础上可以很大程度的提高控制效果和控制精度。现代自动控制越来越朝着智能化发展, 在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有 一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。但随之而来的是 巨额的成本。 在很多的小型系统中, 处理机的成本占系统成本的比例高达 20%,而对于这些小型 的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不 是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量 复杂运算的系统中是非

5、常适合的。温度控制,在工业自动化控制中占有非常重要的地位,如在钢铁冶炼过程中要对出炉的钢 铁进行热处理,才能达到性能指标,塑料的定型过程中也要保持一定的温度。随着科学技术的 迅猛发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与自适应能力的要求越 来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不 确定性以及现场测试手段不完善等,使难以按数学方法建立被控对象的精确莫型的情况。随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度, 低功耗以及高性能方面取得了很大的进展。 伴随着科学技术的发展,电子技术有了更高的飞跃, 我们现在完

6、全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地 做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和 控制。二、设计目的学习了单片机课程之后,为了加深对理论知识的理解,学习理论知识在实际中的运用,加 深自己的动手能力,我通过查找资料,应用STC89C5洋片机和DS18B20温度芯片制作了一个智 能温度报警系统。提高对单片机的认识,提高焊接能力。三、使用中央单元处理器介绍1、主控芯片 STC89C52STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROFalsh Programmable and Eras-able Rea

7、d Only Memory )的低电压,高性能CMOS位微处理器,俗称单片机。单片机的可 擦除只读存储器可以反复擦除1000次。该器件采用STC高密度非易失存储器制造技术制造,与 工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能 8位CPU和闪烁存储器组合在单 个芯片中,STC的STC89C52是一种高效微控制器。STC89单片机为嵌入式控制系统提供了一种灵活性高且价廉的方案。2、DS18B20数字温度传感器, 如环境 ,新的产品支持 35. 5 V ,体积更小。 DSI8B20 可以程序 , 更宽的电压适用范围。分 DS18B2 0的性能是新一代产 DSI8B20开辟了温度传感器

8、, 让用户可以构建适合自己DSI8B20是DALLAS公司的最新单线数字温度传感器,它体积小、经济。是世界上第一片支持“一 线总线”接口的温度传感器。一线总线独特而且经济的特点 , 使用户可轻松地组建传感器网络 , 为测量系统的构建引入全新概念。 它的测量温度范围为一 55+125 C。现场温度直接以“一线 总线”的数字方式传输 , 大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量 控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同 的电压范围 , 使系统设计更灵活、方便。而且新一代产品更便宜 , 设定912位的分辨率,精度为± 0. 5C。可以选择更小的封装方式 辨

9、率设定及用户设定的报警温度存储在 EPROM中,掉电后依然保存。 品中最好的 ,性能价格比也非常出色 ,继“一线总线”的早期产品后 , 技术的新概念。DS18B20和DS18B22使电压特性及封装有更多的选择 的经济的测温系统。S18B20内部结构主要由4部分组成:64位光刻ROM,温度传感器、非挥发 的温度报警触发器TH和2TL,配置寄存器。DSI8B20的管脚排列如图2所示。本次设计智能 温度报警系统的温度采集就由 DSI8B20完成。将DSI8B20的GND脚接地,VDD脚接高电平,而单 总线 DQ 脚接单片机的外部中断 1 脚, 具体的采集电路85。后来经过反复实验才发现 这是必须保证

10、的, 不然会出5V左右,若DSI8B20的管脚排列图2但在系统调试时也出现了很多问题。第一个问题是温度输出总是 DSI8B20从测温结束到将温度值转换为数字量需要一定的转换时间。 现转换错误的现象。第二个问题是在实际使用中发现的,就是要使电源电压保持在 电源电压过低,会使所测得的温 度与实际温度出现偏高现象。其系统框,从 DSI8B20 采四、系统软件设计本设计智能温度报警系统由温度采集、信号处理、温度监测、输出控制四部分组成。 图如图 7所示, 它通过预先设在单片机中的高低温度值来对非常温度值进行报警 集到的温度经信号调理电路处理后直接送入单片机进行刷新。微控制器根据信号数据及设定的 各种控

11、制参数 , 按照嵌入的软件控制规律执行计算与处理 ,自动显示温度值、输出相应的控制信 号, 并根据当前状态输出正常、报警等信号 , 同时将各种数据通过数码管进行显示监控。系统的软件设计流程图如图 6 所示。图 6 软件设计流程图1.1、方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度 变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现 较大的偏差。1.2、方案二

12、进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容 易想到的,所以可以采用一只温度传感器 DS18B20此传感器,可以很容易直接读取被测温度值, 进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展, 满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计 也比较简单,故采用了方案二。2.1系统总体设计温度计电路设计总体设计方框图如图 1所示,控制器采用单片机 STC89C52温度传感器采 用DS18B20用4位LED数码管以串口传送数据实现温度显示。图2.1 1总体设计方框图 1J1nTft I

13、f1.=:hduftj'Bi -PIU-TS I nr? Eh Pl 二 fl IE- t-FTij 九EPl NRJ .22系统模块Ml I耐, mi小I斜 m黑 -D.ZwAn d"ci.gb=D.rX05 nhU.WRLI3 - U呂IPB皿厂, Ixj:A .a 1 b>ra:nP2、卄PIJJCM.1-心 Ipi.djua阳瓦亘i4円IK啦I 士尊 71 1和0,二: 谿册常 岳逍吊J舱Ik-ILPQ-flADD b EC -? SET图2.1 2系统仿真图系统由单片机最小系统、显示电路、按键、温度传感器等组成。VCC iVLI1iOKFl 1P .3Pl J

14、4F 45Pl.56Pi.fi7Pl 7s4F3Q10F3.1liPH 11 3P3斗HF3.=itP3ri16P3.?17rj 0ISTyVI1-3=CJ:Top30p20PlJOVCcJPi IPDClPl JPO.lFl 3pn 2Fi卫PU.JPi J/MMIPQdP1.6/MISOPO.SPl 了®監pn呎ICSTPu /P3 0/PJKDEA/vrrP3 l/TSiDALE/PRCOP3 3/1KTOPSEMP 号 DLldTlPJ 7P3 4rrLiF"P2.5F3 <S/WP-P卫4P3诟hP35XTAI .:P2 2XTALlP2 I口M 口F2 A

15、.TyS>3iIS FD 137 FU.J3C I'Dl35 F0.434 pn.533 PO.eS月2 rm 731元2737 F3 侑2fi P2.523 P2.434 ra.s23 P2 3益庖12iT2.0 4nM FnnVCCVDiL7CCQIH55n卜些严50|*<Qa 2口vceP3 3vccU37KIT2P3声t'3.JK311上些4 llXluFQ3 sssnnd<_> -C3!> U tiCi'6 'ETkt-IDSp1昱丄-1PH,1K_tooFGIVCC卜逊薜鸣 SS ' 3Cl2.2.1主控制器单片

16、机STC89S5具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系 统的设计需要,很适合便携手持式产品的设计使用系统可用电池供电。晶振采用12MHZ复位电路采用上电加按钮复位。FE2III14C1卄30uC2卄- T 已/1 19b. V T A h 1XICRYSTAL L X 1 、严XTAL2R3TU11 KT 曲LiJ1 1 XTAL2ij -ff 1 E * 1ALMEA图2.3.1 1晶振电路U 1C13I3U图2.2.1 2复位电路REEPAC K-e22.2.2 显示电路显示电路采用4位共阴极LED数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作 为数码管

17、的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。FH rVAPOMJ 1/AL1TOFO 3yAD3I Q M4I 4 m EJLADSMJ心FQ 7沁丁R2 0问R2 1?PD-塑 III图2.3.2数码管显示电路2.2.3温度传感器DS18B20温度传感器是美国DALLAS导体公司最新推出的一种改进型智能温度传感器,与 传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编 程实现912位的数字值读数方式。DS18B20勺性能特点如下:1、独特的单线接口仅需要一个端口引脚进行通信;2、多个DS18B2(可以并联在惟一的三线上,实现多点组网功能

18、3、无须外部器件;4、可通过数据线供电,电压范围为 3.05.5 V;5、零待机功耗;6温度以9或12位数字;7、用户可定义报警设置;8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图 4所示单片机端口接单线总线, 为保证在有效的DS18B20寸钟周期内提供足够的电流,可用一个MOSFE管来完成对总线的上拉。当DS18B20处于写存储器操作和温度 A/D转换操作

19、时,总线上必须有强的上拉,上拉开启 时间最大为10us。采用寄生电源供电方式时 VDD端接地。由于单线制只有一根线,因此发送接 口必须是三态的。本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外 两个分别用于设置报警温度的加和减。均采用软件消抖。SET戸Al全1 LTns 14qrrxo 尸吕MMTI戸3Z/RD图234按键电路3系统软件算法分析系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显 示数据刷新子程序,按键扫描处理子程序等。3.1主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20勺测量的当前温度值,温度

20、测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图3.1所示。图3.1主程序流程图RAM中的9字节,在读出时需进行 CRC校验,校验有错3.2示3.2读出温度子程序读出温度子程序的主要功能是读出 时不进行温度数据的改写。其程序流程图如图3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为1s显示程序延时法等待转换的完成。温度转换命令子程序流程图图3.2读温度流程图3.4计算温度子程序计算温度子程序将RAMfr读取值进行BCD码的转换运算,并进行温度值正负的判定,其程 序流程图如图3.4所示。1时将3.5显示数据刷新子程序3.5

21、。显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为 符号显示位移入第一位。程序流程图如图开始温度零下?Y温度值取补码置“ 1 ”标志温度数据移入显示寄存器计算小数位温度BCD直计算整数位温度BCD直结束置“0”标志NYN标志位为1?Y分离显示温度最高位显示“一”最高为显示分理出的数据结束图3.4计算温度流程图图3.5显示数据刷新流程图3.6按键扫描处理子程序按键采用扫描查询方式,设置标志位,当标志位为 如下图3.6示。1时,显示设置温度,否则显示当前温度。图3.6按键扫描处理子程序4实验仿真进入Protuse后,连接好电路,并将程序下载进去。将 DS18B2(的改为0.

22、1,数码管显示温 度与传感器的温度相同。g ri :巴小呻押心KiS PL EsHXZE. I :#nF?rvjH崗扌 4曲骨I "WI I诃注 pj :MaF "亠訂I 7"7r3 7/AH I NP3-.ik?RjPQ 4/ThDT/rwp""Km.3 "n- IXt>DJeetT:图4 1温度显示仿真当按下SET键一次时,进入温度报警上线调节,此时显示软件设置的温度报警上线,按 DEC分别对报警温度进行加一或减一。当再次按下SET键时,进入温度报警下线调节,此时显示软件设置的温度报警下线,按 DEC分别对报警温度进行加一或

23、减一。ADD或ADD或1_13- 上人加釀£ I:m IHk乳七8Pv J.刑 LA叱从AMMlrti o.iTnKI /.CT?PE.W阳 me 吆砂10 N.W旦门 In o/*? 曳应 n- KT-rne*iA 侗 aI 用 口耳K-皿I ;:. 叽0I ;n引卡, aset图42温度调试仿真 当第三次按下SET键时,退出温度报警线设置。显示当前温度。五、电路实物图使用元器件:主控器STC89C5一片、DS18B20温度测量传感器一片、30P瓷片电容2个、1K电阻5个、100 欧电阻8个10K电阻1个、8550三极管5个,12M晶体1片、按钮开关1个、复位按钮3个、 蜂鸣器1个

24、、离子电池1个、USB接 口 1个、万能电路板一块、5V电源一个、四位七段数码管1 块、导线若干。一耳;->?壬T - - * - - 1七- r - : 1 :二、J 養1A2三Ft丄P5S3,< 1乞2 T: 3 1* *,八 i* n/A;::L入拦:4出 5 121 i 1 L 9>fW® * > ,生鼻种宀2也炉以總 JI也日日£価可仁 删-H点二二n十f、厂二!:4, i4 ;! 1鼠任笛睜r<-性迤主甜一亡$ 63b 踣.*环炸:捋:P 縛比 -芯縉沁燈 ': 召密養门,八h 、/»-S r LuaT'J

25、Jtl HD j m h -2BHU * < I p suu ' F H If: i I L kuKl轨 T I 上 IL- -B 'xh 申 1 ; T 丄 IM q 一嘗一驚詈盘館韶噩囂嚣嚣亀酩噩籐罷 二一吕莒E S口IILJS wg曲曹 口口段。口口口口三" -叫一藍嚣嚣rerr 乍;0 U0 £5“目吕 1137 囂一證霊1鹽裁J- 厂 - 3 1匕 I I I I . 口 百亠.-零隘WS 囲吧论魚 OB « J 3-. 土 n P -T-锻祜蠱一an 7 -巳巴出監倉 t U 口 - -B U - - .r. fluuDnunon

26、floDOD E 1b!J ri- -MSUNP-sselKnuL 962 U常d書铝 亠 id rssBsrssHBksE k扌a J 兰 f F F h-Esf-1 订nmn"口 gnj口 51r曾SB汙2洱洱tb rd I 上" dd 口 r :G r -r !: - JI* "旧- 旦嶋一学迪韓銘囂蛊三-U 口 "u .sssd 口J3口mJ 一 - “± -畀雯】耳_一二一宕匚見 .爲 -W賈二;.三 吕- Ju亠h壬萨LJM1_J«k、 I l>l EJ3M iJj = -LUI3阀目J卫C:翼麗眺9于 Bzacaa

27、nc i 口忖 p- * ri I, PUR rac口D口£:;t;爵目番匸 齐&詳=:找嚅匪t 一昇十"境A真=二昱爲父b- b ' . . 7 ' 亡 T" H d J L.' .-白J - 1 V .- 一 :rhUh? rao结束语六、实验表明:该智能温度报警系统结构简单、测温准确,具有一定的实际应用价值。该智能温度 报警系统只是DSI8B2(在温度控制领域的一个简单实例, 还有许多需要完善的地方,例如可以将 测得的温度通过单片机与通讯模块相连接,以手机短信息的方式发送给用户,使用户能够随时 对温度进行监控。此外,还能广泛地

28、应用于各种工业生产领域,如建筑,仓储等行业。通过这次对数字温度计的设计与制作,让我了解了设计电路的程序,也让我了解了关于数 字温度计的原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。但是 最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。而 且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计 时应考虑两者的差异,从中找出最适合的设计方法。通过这次学习,让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电 路还是应该自己动手实际操作才会有深刻理解。在焊接过程中我曾将温度传感器的电源、地焊反啦,导致温

29、度传感器急剧发热,后经观察和查 询资料才得以改正。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们 所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才 能提高,这就是我在这次课程设计中的最大收获。特别是对单片机C语言产生了更深的兴趣,能用 Portel,PROTEU等专业软件,掌握了电子电 路调试的方法,能独立解决设计与调试过程中出现的一般问题,能正确选用元器件与材料,能 对所设计电路的指标和性能进行测试并提出改进意见,能查阅各种有关手册和正确编写设计报 告。由于这次的设计是一个人单独作一个课题,所以我是采用以自学为主的学习方法。在

30、学完模 拟电子技术基础和数字电子技术基础课程之后,还要对单片机基础的深入研究。在 复习和课程设计任务有关的单元电路,理清头绪,按照电子电路的一般设计步骤进行设计。一 个人做有点困难,途中不知碰到了多少难题,有些问题需要请教老师和同学,在解决这些实际 难题中我的动手能力和知识巩固都得到了很大的提高。参考文献12345曾令琴 李晓荃 电子报 何立民模拟电子技术 人民邮电出版社 单片机原理与应用 电子工业出版社 人民邮电出版社单片机的C语言应用程序设计北京航空航天大学出版社网上资料程序名称:DS18B20温度测量、报警系统简要说明:DS18B20温度计,温度测量范围099.9摄氏度可设置上限报警温度

31、、下限报警温度即高于上限值或者低于下限值时蜂鸣器报警默认上限报警温度为38 r、默认下限报警温度为5C报警值可设置范围:最低上限报警值等于当前下限报警值最高下限报警值等于当前上限报警值将下限报警值调为 0时为关闭下限报警功能C语言程序:#include <AT89X52.h>#include "DS18B20.h"#define uint unsigned int/ 宏定义#define SETP3_1/ 定义调整键#define DECP3_2/定义减少键#define ADDP3_3/定义增加键#define uchar unsigned char#defi

32、ne BEEP P3_7/ 定义蜂鸣器bit shanshuo_st;/ 闪烁间隔标志TL0=0xb0;/50ms (晶振 12M)bit beep_st;/ 蜂鸣器间隔标志/ 小数点sbit DIAN = P 2八7;uchar x=0;/ 计数器signed char m;/ 温度值全局变量uchar n;/温度值全局变量uchar set_st=0;/ 状态标志signed char shangxian=38;/ 上限报警温度,默认值为 38signed char xiaxian=5;/ 下限报警温度,默认值为 38uchar code LEDData=0xC0,0xF9,0xA4,0x

33、B0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;/* 延时子程序 */ void Delay(uint num) while( -num );/* 初始化定时器 0*/ void InitTimer(void)TMOD=0x1;TH0=0x3c;/* 定时器 0中断服务程序 */ void timer0(void) interrupt 1TH0=0x3c;TL0=0xb0;x+;/* 外部中断 0服务程序 */ void int0(void) interrupt 0EX0=0;/ 关外部中断 0if(DEC=0&&set_st=1)shangxian

34、-;if(shangxian<xiaxian)shangxian=xiaxian;else if(DEC=0&&set_st=2)xiaxian-;if(xiaxian<0)xiaxian=0;/* 外部中断 1 服务程序 */void int1(void) interrupt 2EX1=0;/ 关外部中断 1if(ADD=0&&set_st=1)shangxian+;if(shangxian>99)shangxian=99;else if(ADD=0&&set_st=2)xiaxian+;if(xiaxian>shangxian)xiaxian=shangxian;/* 读取温度 */ void check_wendu(vo

温馨提示

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

评论

0/150

提交评论