数字显示温度计单片机课程设计课设题目:数字显示温度计学院:电气与控制工程学院专业班级:自动化1105班设计者:何瑢(1106050503)、蔡驰(1106050505)、刘阿敏(1106050507)设计时间:17周——18周指导老师:杨良煜刘晓荣数字显示温度计目录第一部分:整体方案1.1摘要…………………………………………………………………………………………11.2设计任务及要求……………………………………………………………………………11.2.1基本功能1.2.2扩展功能1.3方案辩证……………………………………………………………………………………11.3.1温度传感器的选取1.3.2显示模块的选择第二部分:方案设计框图2.1硬件电路框图………………………………………………………………………………22.2主控电路……………………………………………………………………………………32.3显示电路……………………………………………………………………………………32.4报警温度调节电路…………………………………………………………………………42.5温度传感器及DS18B20测温原理………………………………………………………4第三部分:系统软件算法设计3.1主程序………………………………………………………………………………………53.2读出温度子程序……………………………………………………………………………53.3温度转换命令子程序……………………………………………………………………63.4计算温度子程序……………………………………………………………………………63.5显示数据刷新子程序………………………………………………………………………63.61602的液晶显示…………………………………………………………………………6第四部分:软件仿真图…………………………………………………………………………7第五部分:参考文献……………………………………………………………………………8第六部分:设计心得体会………………………………………………………………………8第七部分:附录………附录一:系统总体原理图………………………………………………………………………9附录二:系统程序清单…………………………………………………………………………10附录三:元件清单………………………………………………………………………………18数字显示温度计1题目:数字显示温度计1、摘要:本文介绍一种基STC89C52单片机的一种温度测量及报警电路,以DS18B20数字温度传感器为信号源来实现数字钟温度的显示,测量范围是:-20~100℃,使用1602液晶显示屏显示,能设置温度报警上下限。一般而言数字温度计的设计与制作可以采用数字电路来完成,也可以采用单片机来完成,若采用数字电路来完成,则设计的电路图太复杂,其功能也主要是依赖于数字电路的各功能模块的组合来实现,而且电路板的制作比较复杂,采用单片机来设计制作,由于其功能的实现主要是通过软件编程来完成,这样大大降低了电路的复杂性,而且成本也较便宜。关键字:温度测量温度传感器DS18B20Abstract:ThispaperintroducesakindofakindofbaseAT89S52singlechipmicrocomputertemperaturemeasurementandalarmcircuit,carryingoutthemanifestationofthedigitalthermometer,itsMeasuringrangeis:-20~100℃,whichuse1602LCDscreendisplayandcansetthelowerlimittemperaturealarm.Generallyspeakingthedesignandmanufacturesofthedigitalthermometercanadoptthenumericalelectriccircuittocomplete,canalsoadoptamachinetocomplete.Ifadoptthenumericalelectriccircuittocomplete,thentheelectriccircuitdiagramofdesignistoocomplicated,itsfunctionalsomainlyisdependoninthenumericalelectriccircuitofthecombinationofeachfunctionmoldpiecetocarryout,andthecreationofthecircuitboardismorecomplicated.Adoptamachinetodesignthecreation,becauseoftherealizationofitsfunctionmainlyistopassthesoftwareplaitdistancetocomplete,thusloweredthecomplexityoftheelectriccircuitconsumedly,andthecostalsocomparesthecheapness.Keywords:STC89C52,,DS18B20,16022.1设计任务及要求:基本功能:1)温度测量范围:-20~100℃,测量误差小于0.5℃2)1602LCD液晶显示屏直接显示扩展功能:1)可以任意设定上下限报警温度2)温度显示有华氏度和摄氏度两种,由按键控制2.2方案辩证2.2.1温度传感器的选取:(1)方案一:采用热敏电阻传感器。利用热敏电阻随温度变化而显著变化,能直接将温度的变化转换为能量的变化,进而制成温度计。但是其测温传感器比较复杂,而且不易通过编制程序来控制测温精度,增大系统设计的难度。数字显示温度计2(2)方案二:采用DS18B20温度传感器。DS18B20的内部3脚(或8脚)封装;使用特有的温度测量技术,将被测温度转换成数值信号;3.0~5.5V的电源供电方式和寄生电源供电方式;ROM由64位二进制数字组成,共分为8个字节;RAM由9个字节的高速暂存器和非易失性电擦写ROM组成。综上所述:温度传感器选取智能测温器件DS18B20。2.2.2显示模块的选择显示电路采用LCD液晶显示,从P3口RXD,TXD串口输出段码。显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少.本设计显示电路采用1602液晶显示模块芯片。用LED数码管来显示。显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。综上各方案所述,对此次课设的方案选定:采用STC89C52作为主控制系统;1602液晶显示模块芯片作为温度数据显示装置;而智能温度传感器DS18B20器件作为测温电路主要组成部分。至此,系统最终方案确定。2、设计方案的总体设计框图温度计电路设计总体设计方框图如图所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用1602液晶显示屏以串口传送数据实现温度显示。2.1硬件电路框图:图1——总体设计方框图系统由单片机最小系统、显示电路、按键、温度传感器等组成。本电路是由STC89C52单片机为控制核心,具有与MCS-51系列单片机完全兼容,程序加密等功能,带2KB字节可编程闪存,工作电压范围为2.7~6V,全静态工作频率为0~24MHZ;显示电路由1602液晶显示模块芯片,可以进行多行显示;温度报警按键设为五个,可以显示华氏温度,调节高低报警温度;温度传感器电路主要由DS18B20测温器件构成,该器件主要功能有:采用单总线技术;每只DS18B20具有一个独立的不可修改的64位序列号;低压供电,电源范围为3~5V;测温范围为-20℃~+125℃,误差为±0.5℃;复位电路是10K电阻构成的上电自动复位。2.2主控电路单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用12MHZ。复位电路采用上电加自动复位。数字显示温度计3图二——主控芯片STC89C52图三——晶振电路图四——复位电路2.3显示电路本设计显示电路采用1602液晶显示模块芯片,该芯片可现实16x2个字符,比以前的七段数码管LED显示器在显示字符的数量上要多得多。1602A芯片的接口信号说明如下表:图五——液晶显示电路2.4报警温度调节电路本系统一共设置了五个按键,k1键只是显示华氏温度,k4键按下不松开显示高低报警温度,松开后恢复显示正常温度,k2键和k3键是分别用来调节高低报警温度,k键控制调节时的上调或下调。具体调节如将高温报警温度调高,第一步将k4键按下不松,k键升起位置,调节k2键,则高温报警温度向上增加,反之亦然。低温报警同理。数字显示温度计4图六——报警点调节电路2.5温度传感器及DS18B20测温原理由于测温电路采用了单总线数字式可编程温度传感器,硬件实现十分简单,而且仅占用一个I/O口。节约了成本,大大简化了电路,从而使得调试容易。图七——测温电路3、系统软件算法设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。3.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图所示。K加减控制开关K1显示华氏温度K2显示温度报警、返回K3高温报警温度调节+=K4低温报警温度调节——数字显示温度计53.2读出温度子序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图示初始化调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNYY发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?移入温度暂存器结束NNY图八——主程序流程图图九——读温度流程图3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示3.4计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图所示。数字显示温度计6发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束开始温度零下?温度值取补码置“—”标志计算小数位温度BCD值计算整数位温度BCD值结束置“+”标志NY图十温度转换流程图图十一计算温度流程图3.5显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图。3.61602的液晶显示温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束NNYY图十二——显示数据刷新流程图1602液晶显示流程图:数字显示温度计74、软件仿真本设计是在Proteus环境下进行仿真的,仿真所用到的器件有:单片机AT89C51,DS1820温度传感器,蜂鸣器,液晶显示器,一些电阻,电容等。仿真结果如下:显示器显示传感器温度高低报警温度参考文献[1]李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998[2]李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994[3]阎石.数字电子技术基础(第三版).北京:高等教育出版社,1989[4]廖常初.现场总线概述[J].电工技术,1999.[5]刘军.单片机原理与接口技术[M].华东理工大学出版社.2006.[6]谢自美.电子线路设计、实验、测试[M].武汉,华中理工大学出版社.2000.[7]张元良.单片机综合设计实用教程[M].北