基于单片机的数字温度计设计.docx
《基于单片机的数字温度计设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计设计.docx(37页珍藏版)》请在课桌文档上搜索。
1、目录摘要ILlStraCtII引言1整体方案设计31.1 主控芯片类型选择31.2 测温电路选择31.3 系统总体方案42系统的硬件电路设计52.1 单片机系统设计52.2 显示模块设计82.3 温度读取电路的设计103系统软件设计133.1 软件开发环境的介绍133.2 系统重要函数134系统调试174.1 系统硬件测试174.2 系统软件测试17结论19参考文献20附录1总体原理图设计22附录2源程序清单23致谢26摘要数字温度计系统是一种快速直观的检测环境温度的设备,用于快速生成生活中对周围环境温度检测的设备,它也是快速提高各个测温效率的必要设备之一。为了满足生活中对数字温度计的这一需求
2、,本文设计了一款精度高、可靠性高、操作简便的数字温度计系统。本文利用STM32单片机控制DS18B20感温芯片,结合8段数码管、独立按键模块完成数字温度计功能,该系统不仅可以实时直观检测当前环境温度而且提供设置温度上限和下限,在超过温度上限或者降低到温度下限以后,报警灯开始闪烁。通过对本系统的测试,结果表明本设计很好地实现了数字测温显示功能和超限报警功能。成熟的DS18B20模块增加了系统的稳定性,它不需经过模拟信号与数字信号的转换,只需要三线就可以完成温度的采集,简化了外围电路。高效的32位单片机STM32增加该系统的可扩展性。该系统不仅可以单独应用于生活中测量温度,还可以和其他模块连接起来
3、组成一个全新的、更加高端的系统,例如恒温大棚温控系统,温度检测联动报警系统等。关键词:数字温度计;温度传感器DSl8B20;STM32单片机AbstractDigitalthermometersystemisakindofrapidandintuitiveequipmenttodetecttheambienttemperature,whichisusedtoquicklygeneratetheequipmenttodetecttheambienttemperatureinlife,anditisalsooneofthenecessaryequipmenttorapidlyimprovethee
4、fficiencyofeachtemperaturemeasurement.Inordertomeetthedemandofdigitalthermometer,thispaperdesignsadigitalthermometersystemwithhighprecision,highreliabilityandeasyoperation.Forthemostpart,asingleSTM32chipcancontroltheDS18B20thermometer,whichiscombinedwitheightdigitaltubesandindividualmodules.Thesyste
5、mcannownotonlymeasurethetemperatureofthesurroundingairinrealtime,butalsoactasathresholdandalowertemperaturelimit.Ifyouhitatemperaturethresholdordrop,thebluelightstartsflashing.Throughthetestofthissystem,theresultshowsthatthisdesignhasrealizedthedigitaltemperaturedisplayfunctionandtheover-limitalarmf
6、unctionwell.MatureDS18B20moduleincreasesthestabilityofthesystem,itdoesnotneedtogothroughtheanalogsignalanddigitalsignalconversion,onlyneedthreelinestocompletethetemperatureacquisition,simplifyingtheperipheralcircuit.Efficient32-bitSCMStm32increasesthescalabilityofthesystem.Thesystemcannotonlybeusedt
7、omeasurethetemperatureinlife,butalsobeconnectedwithothermodulestoformanewandmorehigh-endsystem,suchasthermostaticgreenhousetemperaturecontrolsystem,temperaturedetectionlinkagealarmsystemandsoon.Keywords:Digitalthermometer;TemperaturesensorDS18B20;STM32SingleChipMicrocomputer引言如今快速发展的科技给我们生活带来了翻天覆地的变
8、化,其中单片机技术更是在我们生活中起到了无足轻重的地位,逐渐的崭露头角发展特别的快。它具有高可靠性低功耗的优势,这就奠定了它在各种消费类产品、工业控制系统、通信终端中的地位。随着人们提高生活水平,单片机控制无疑是人们追求的目标,数字温度计就是一个典型的例子,但人们对于现代工作、科研、生活的要求越来越高,需要先从微控制器技术,数字化控制,智能化控制方向发展。温度是日常生活、工业、医学、环境保护、化学工业和石油中最常用的物理量之一。测量温度的基本方法是用温度计直接读出温度。最常见的温度测量工具是各种各样的温度计,例如:水银玻璃温度计、酒精温度计、热电偶温度计或耐热温度计。这些年随着数字电路的发展,
9、以前只能靠人纯机械的读取温度数据逐渐转变到数字电路处理显示温度,提高了精度和准确度,这不仅使生活更加便利同时也使工业控制领域注入了新的活力。越来越多的新技术和新产品步入了这个领域,并且朝着更加精准和高度集成方向发展。也使得数字温度计在工业控制领域是种不可或缺的设备之一。温度计用途广泛,数量众多,在各类传感器中居首位。其发展大体经过三个阶段:(1)传统的离散式温度计(含干扰素)(2)模拟集成温度计/控制器。集成传感器是利用硅半导体集成技术制成的,又称单面集成温度计。(3)智能温度计。那是微电子技术,计算机技术和自动测量技术的结晶。智能型温度传感器包括温度传感器,A/D传感器,信号处理装置,存储器
10、(或寄存器)和接口电路。本课题将针对这一问题设计一种新型智能电子温度计,它在稳定性和响应时间上比传统水银温度计有显著优势,精度要求也可与传统水银温度计媲美。在各种各样的传感器中,DS18B20系列温度芯片在市场上获得了极大的普及率,属于新一代适配微处理器的改进型的温度传感器,与传统的热敏电阻相比,他能够直接读取被测温度,减少板载模数信号转换,一般来说数字处理好过于模拟处理。主要的原因如下:首先,数字处理具有低成本,小型化和稳健性的特征。其次模拟信号容易被干扰,设计电路也比较麻烦,最后,数字温度传感器利于大众普及。因此,本文提出了一种通过单片机系统采集温度显示的系统,采取STM32F103单片机
11、作为主控制器,DS18B20作为测温芯片完成系统的温度采集功能。本篇文章共分为四个章节,具体内容如下:第一章阐述了系统的设计目标和功能模块,说明了系统的方案设计,做出了系统的功能框图,重点介绍了选取单片机型号以及选择最适合的测温模块、8段数码管。第二章介绍了数字温度计系统的总体硬件设计,包含各模块的设计原理图和释义,本章重点介绍了测温芯片的电路设计。第三章讲述了系统的软件设计;介绍了芯片与单片机之间的通讯协议,简要介绍了系统的开发环境以及重要函数和系统流程图。第四章是硬件调试部分,包括了系统的软硬件测试,并就本设计出现的问题,做了简单的论述以及解决办法。1整体方案设计1.1 主控芯片类型选择数
12、字温度计系统可以使用一个主控制器来完成,在各项资料的收集与对比之后总结出本系统可供选择的控制方案有单片机控制和DSP控制,具体方案如下:方案一:系统可以使用单片机作为主控芯片,单片机是一种虽然小但很完整的芯片,应用在集成电路中,也可以称之为微型计算机系统。它包括RAM、CPU、ROM、中断控制器,定时器和I/O模块,更先进的单片机还包括PWM、SPIAD、IC等电路1。在工业控制中,单片机已经应用在多个场景,以其强大的系统处理能力和稳定性著称。方案二:系统能够采用DSP作为主控芯片,DSP即数字信号处理器,是一种研究用数字对信号进行分析,转换,滤波,检测,调制,解调和高速算法的元件。数字处理器
13、的主要功能是完成各模块之间的通信,主要包括上电自举,键盘读取值,音频编码芯片和LCD屏幕初始化,以及通过LCD屏幕指示数字编解码芯片的运行状态。将音频数字信号存储在闪存中。综上,DSP的运行速度很快,但其控制算法相对复杂。而单片机的系统的控制方法相对简单,且可靠性高、价格较低、功耗低,虽然单片机相比DSP功能比较简单,但是完全满足本设计需求。本设计考虑到后续的功能扩展,应选取高性能、低成本、低功耗的单片机。单片机系统功能强大,调试简便,可以很方便的组成测温系统。采用单片机作为本设计的控制部分,后续可以基于单片机高性能进行功能性扩展,比如一些恒温大棚温控系统中自动送风大型无刷电机精准控制驱动,工
14、业节点温度检测回传系统等等,因此本设计选用单片机作为主控芯片。1.2 测温电路选择测温系统即对周围环境的温度进行收集并且传递至单片机,因为环境温度并不是恒定的温度,所以对于测温元件的要求会比较高,本测温电路可供选择的有光敏电阻测温电路和DS18B20测温模块控制方式,具体方案如下:方案一:可以使用热敏电阻一类的温感效应器件,利用其某个参数会随着温度变化进行变化的特性,如电压或者电流,通过A/D转换后进入单片机处理从而可以得到对应的温度值F),此方案需要用到A/D转换芯片,需要考虑模拟量在整个系统可靠性以及抗干扰能力,以及单片机运算能力,调试的功能点多,温度误差大等缺点。方案二:可以使用DS18
15、B20温测芯片,通过单线协议,在规定时序下即可读取温度值,DS18B20为全数字温度转换和输出芯片3,先进的单总线数据通信。单线协议使外围电路简单只需要一根数据两个电源线即可完成温度的采集。两种方案都可以读取到当前环境的温度值,但很容易看出方案二的DS18B20温测芯片实现起来更为简单,经过比较,第二种方案测量的温度数值比较稳定,所以选择方案二为测温电路更为合适。1.3 系统总体方案数字温度计系统要求实现实时温度的采集显示和监测。按照设计的要求,系统可分为三个部分,即对于温度数据的采集部分、对于温度检测的报警部分、对于数据的显示部分。其中的数据采集是运用单片机通过单线协议读取测温芯片数据,采集
16、数据后通过显示部分对环境进行显示,方便用户读取实时温度,温度检测报警部分通过独立按键设置温度门限值,实时对比环境温度和门限温度,超出门限温度后控制LED闪烁报警。本设计具体的系统方案如图L1所示。2系统的硬件电路设计2.1 单片机系统设计2.1.1 单片机型号的选择为了保证系统更好更快的运行,应该选择性价比高,可靠性高,低功耗的控制器。由于温度测量需要掉电保护来防止温度测量时出现太大误差,所以需要使用掉电存储数据的时候可以直接使用单片机内部的存储,因此应选择含有2k字节的EEPROM存储的单片机。基于此有以下方案可供选择:方案一:使用STC89C51单片机作为主控制器。它采用8051内核,它是
17、一个8位通用CPU外加一些闪存单元组成。用户代码可以通过串行通信口下载到芯片中,成本低是它的一个优势。方案二:使用MSP430混合信号处理器作为它的主控单元,它是一个16位能量消耗超低的精简指令集5的CPUo一般来说,需要使用电池供电的设备仪表使用该系列的单片机。开发难度一般比较大、价格稍微贵些。方案三:使用STM32F103C8T6单片机作为主控单元,STM32F103是以低功耗、高性能、高稳定性32位的C0NTESTM3内核的单片机,满足高稳定系和后续处理复杂控制的可扩展性。MSP430单片机价格稍微贵些,且属于16位CPU,STC89C51单片机开发难度较低但是满足不了复杂程度高的处理,
18、STM32系列单片机价格低,性能出众满足设计所需,因此本系统使用STM32系列单片机。2.1.2 单片机的引脚说明本设计是以STM32F103C8T6为最小系统作为主控单元,主要引脚说明见表2.1。它将所有的引脚以插针形式全部引出,板载晶振和复位逻辑,采用3.3V供电。该封装在焊接的时候可以采用一个IC插座进行先焊接然后焊接完成后再将芯片插到IC插座上这样做方便更换单片机单元。STM32F103一共具有48只引脚,其中可以用来控制的引脚有32个分别是PAO-15.PBo-15、PCI3-15。这些引脚默认都可以当做GPlO来使用,可输入可输出,在这些引脚上同时也提供了第二功能,比如SPLIeA
19、D等等。UKD闻皿wDrgDB!DBUDBM皿丽WMMDS -Mkil0)叫器ssu)g图2.1STM32封装形式表2.1单片机引脚功能引脚功能P12普通I/O口,与DS18B20相连PAll普通I/O口输入,与按键相连PAlO普通I/O口,与DS18B20相连PA9普通I/O口输出,与LED相连PA8普通I/O口,与ISD4004相连PB13IPU(上拉输入口),上拉输入PB12OD(开漏输出口),开漏输出2.1.3 单片机的最小系统一个芯片的最小系统主要包括电源电路、晶振电路、复位电路和调试电路。本设计中STM32单片机的工作电压在3.3V可以正常工作。电源部分使用的是5V电源适配器,通过
20、一个miniUSB口供给最小系统使用。在晶振电路中使用了两个无源晶振,8MHZ晶振是给HSE用,主时钟,32.768KHZ晶振是外部低频晶振,用于计时或者系统在待机低功耗时使用。两个晶振通过输入端两个负载电容进入单片机,如图2.2。复位电路分为手动按键复位和上电自动复位。如图2.3所示,电容器C2两端的电压在上电时不会快速变化。此时,电容器的负端子连接到RST,并且电压全部施加到电阻器R2,RESET输入高电平,芯片复位。由于之后3.3V直流电源对电容供电,导致电阻两端电压不断降低,直到变为O的时候芯片开始照常工作。有一个与电容器C2并联的复位按钮,当它没有被按下的时候,系统完成上电复位。在系
21、统照常工作后,可以通过按钮使RST引脚变为高电平,完成手动复位。图2.3复位电路调试电路采用SWD模式,其中只使用4根线就可以很方便的通过JLINK调试器进行在线调试程序,原理图如图2.4图2.4SWD调试电路图2.5为STM32单片机最小系统的电路图。图2.5单片机最小系统2.2 显示模块设计2 .2.1显示器件的选择数字温度计为了方便用户读取当前实时温度,直观的展现出温度数据需要通过显示器件将温度信息显示出来,温度信息占用两位数字,不用太过复杂的显示器件,显示器件可以有以下选择:方案一:使用LCD1602液晶显示屏4作为用于显示的设备。LCDl602液晶显示器将最多32个字母分成两行显示,
22、也称为文字液晶显示器,显示数字、字母、符号或文字。LCD1602液晶显示器由大量的位图字符构成,每个位图字符可以显示一个字符,字符与每个位的每行分开,这称为字符间距和行间距。因此,图像在画面上不能很好地工作。而为了更完美的显示,该液晶需要采用控制器,大多使用的是HD44780,才能完成字符的功能。方案二:使用LED数码管9作为系统的显示设备。其对于展示数字和字母有很好的效果,并且价位低廉。本设计显示温度只有两位数字位,因此直接将所有16位引脚可以直接接到单片机上,为了克服主控制器端口的电流输出不足问题,可以用三极管对电流进行放大后控制数码管。实现简单方便。液晶显示屏造成资源浪费,且实现方式比较
23、复杂,使用LED数码管可以满足本设计的功能要求。因此本系统采用LED数码管实现。3 .2.2显示模块的工作原理LED数码管分为共阳极和共阴极两种,共阳极就是把每位数码管的8个显示LED的正极连接到一起,用控制端把每个段的负极连接,控制端为低有效;共阴极就是讲每位数码管的8个显示LED的负极连接到一起,控制端连接每个段的正极,控制端为高有效,本设计采用共阳极设计;因为单片机输出引脚的驱动电流太小,不足以驱动LED数码管或者驱动LED数码管太暗,就需要通过三极管增加驱动电流0,现选型C9012PNP型三极管,封装如2.6图所示,发射级接VCC,基级接GND,集电极接数码管公共脚。LED接线原理图如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 温度计 设计
链接地址:https://www.desk33.com/p-890890.html