基于STM32的温度采集系统设计和实现机械自动化专业_第1页
基于STM32的温度采集系统设计和实现机械自动化专业_第2页
基于STM32的温度采集系统设计和实现机械自动化专业_第3页
基于STM32的温度采集系统设计和实现机械自动化专业_第4页
基于STM32的温度采集系统设计和实现机械自动化专业_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

本科论文目录.TOC\o"1-3"\h\u2571摘要 I26387Abstract II3320引言 18941整体系统设计 3188761.1系统方案设计 346781.2系统工作原理 4237532硬件设计 5284262.1STM32单片机 521362.1.1STM32单片机介绍 571482.1.2STM32内部电路图 550262.2LCD1602液晶显示器 7251802.2.1LCD1602介绍 7243412.2.21602各管脚功能 8119402.3DS18B20温度传感器 10315192.3.1DS18B20简介 10244862.3.2DS18B20控制字和读写时序说明 1086662.4温度采集电路与单片机的连接 12252993软件设计 14174963.1总程序流程图 14166153.2液晶显示流程 15318913.3按键处理流程 16142004系统调试 17305264.1系统硬件调试 17307144.2系统软件调试 1816714结论 198132参考文献 2015948附录1原理图 2214655附录2源程序清单 2330575致谢 30摘要本论文主要是为了利用编程软件和硬件来设计并实现STM32单片机对环境温度的信号采集。本文中利用STM32单片机来完成毕业设计,并且主要目的就是完成温度的采集,有一点需要注意的是,温度采集是自动化必须掌握的检测技术,也是一项十分有实用的技术。本文利用STM32的一种微型处理器来当主控的CPU,通过使用一个独立的数据采集模块采集数据,在这个基础上实现了智能化的温度数据采取、然后还有传输、处理和显示等功能。并商讨了该怎么提高系统的速度、性能和拓展性。数据采集是获取信号对象信息的过程。然而本文的设计是一个在ARMCortex-M3处理器的基础上的一项数据采集系统,并且在此基础上实现了对当前场景的温度信号的一种实时跟踪性质的采集。这次毕业设计的主要目的是提供可行性方法来进行可以实施的后续研究。关键词:嵌入式系统;ARM;DS18B20温度传感器;STM32;温度采集;数据的处理。

AbstractThispaperismainlytouseprogrammingsoftwareandhardwaretodesignandrealizethesignalacquisitionoftheenvironmenttemperaturebySTM32singlechipmicrocomputer.Inthispaper,STM32single-chipmicrocomputerisusedtocompletethegraduationproject,andthemainpurposeistocompletethetemperatureacquisition.Onethingneedstobenotedisthattemperatureacquisitionisadetectiontechnologythatmustbemasteredautomatically,anditisalsoaverypracticaltechnology.Inthispaper,STM32microprocessorisusedasthemainCPU,andanindependentdataacquisitionmoduleisusedtocollectdata.Onthisbasis,intelligenttemperaturedataacquisition,transmission,processinganddisplayfunctionsarerealized.Howtoimprovethespeed,performanceandexpansibilityofthesystemisdiscussed.Dataacquisitionistheprocessofacquiringsignalobjectinformation.However,thedesignofthispaperisadataacquisitionsystembasedonarmCortex-M3processor,andonthisbasis,itrealizesareal-timetrackingpropertyofthecurrentscenetemperaturesignalacquisition.Themainpurposeofthisgraduationprojectistoprovidefeasiblemethodstocarryoutthefollow-upresearch.Keywords:Embeddedsystem,arm;DS18B20temperaturesensor;STM32;temperatureacquisition;dataprocessing.引言当今社会,随着社会的不断发展,科学技术的不断进步,测温仪器在各个领域的广泛应用,智能化服务已成为这个时代温控系统发展的重要趋势。温度控制在生活中还有在工业领域中涉及的非常多,像室内、供暖机构、天气预告等这些场所的温度控制。像之前传统的温度控制都是手动的,操作起来很麻烦。本文系统设计目的,首先它得是实现一种精准度高的系统来采集的温度控制系统,其应用必须得以普及,功能强大。它的实用性要强,方便使用者携带,这是一款实用同时又物美价廉的温度控制系统。尤其是最近这几年的情况,温度控制系统现在都被用到人们的生活很多层面,但温度控制一直是一个还没有被完全开发的领域,但同时它又与人类生活有着密不可分的关系。嵌入式系统把应用作为中心,用计算机科学技术作为基本,并且软硬件这方面它是可以裁剪的,为了适应这一应用,对于功能性、可靠性、成本、数量、消耗量等方面都有非常严格的要求。嵌入式控制系统已应用在多个领域,在工业制造、军事、医疗等方面,嵌入式控制系统是不可缺少的一部分,影响着社会生活。嵌入式控制系统是多个行业应用结合的产物,正是因为这样,促使它成为一个资金密集,高度分散的综合体系。如果在技术上停滞不前,不懂得创新,那么也是会被淘汰的。嵌入式控制系统秉承用户至上的宗旨,必须根据用户在软件程序、系统功能、成本等多方面的需求,确定软硬件的制定。它在未来的发展趋势将会是可以建立一个通用的软硬件系统,然后开发一个适合他的系统,就可以更方便用户使用了。以往那种刻板的温度采集系统因为他存在着响应不快、精准度不高、靠谱性不强、效率也不高、操作还麻烦等一系列问题,早就不适合现代化工业的快速的发展。由于嵌入式技术的高速发展,设计速度快、效率高、成本低、可靠性高、操作非常便利的温度采集系统成为目前很重要的发展趋势。因此STM32的温度采集系统就成为了解决以往刻板温度采集系统中的种种问题的优先选择方案。本毕业论文是基于STM32单片机温度采集的设计。基于STM32单片机的智能温度检测设计,通过外部温度传感器实现温度的实时采集。它能满足不同情况下温度采集的需要。它主要需要实现以下功能:首先,温度传感器测量当前温度,将测量值传送到单片机上,并在液晶显示器上显示当前温度。第二点通过设置温度上限和下限来比较当前温度。如果当前温度不在温度上限和下限内,警报将发出警报。让用户及时发现温度的变化。根据实际应用情况,选择合适的温度传感器,设计相应的传感器驱动电路和传感器信号调理电路。控制核心采用STM32F103C8T6主控芯片,设计了硬件的功能模块和外围电路,主要包括:温度传感器、液晶显示、按键、报警功能和声光报警单元模块等。1整体系统设计1.1系统方案设计第一个方案:需要使用模拟分立的元件,例如电容、电感、晶体管等非线性元件,观察采集的温度和显示的具体效果,这个方案的设计十分的好理解,特别简单,并且它的操作也不是特别的难,还有个好处,就是它的价格是非常合适的。缺点就是如果用分立的元件,会造成它的分散性特别的大,对集成数字化是十分不好,而且最后测量之后,会存在很大的误差的,所以这个方案的可行性不太好,尽量不用。第二个方案:选用PC机作为本次设计的主控机。利用温度传感器来选用温度的信号,通过信号放大器之后,再送到A/D转换芯片中,然后再一次的经过拥有单片机的检测系统来进行下一步的解析和处理,然后再利用通信线路到PC机的上面,在PC的上面也可以通过对温度信号来进行很多的解析和处理的方式,所以这个方案简单来说还是不错的。图1.1方案二的框图如上图所述,如果用这个方案的话,那么这个技术相对来讲是比较成熟的,发展的时间也是最长的,而且将温度信息上传到PC机,然后再利用PC机的数据处理能力和良好的辅助软件,就可以从多角度、多需求的方向来分析处理这个温度数据,但是这个在工业上基本上是不会运用的。因为PC机的价格的因素,所以这个方案还是不合适的。第三个方案:现在有很多客观需求来促进STM32单片机的设计的整体改进。因为造价高的问题,还有就是物理的尺寸方面是受到很多的限制的,所以这个嵌入式系统的存储器的内存和储存量是有限的。另外,嵌入式的系统它的价格一般来讲是挺敏感的,所以使用速度通常情况下不是很高,成本相对来说也不是很高的。从现在的情况看系统的关键问题并不是在于简单的处理器的速度,而是有效率的系统性能和功能。根据上面写的这三种方案的一些简单的介绍,本次毕业论文系统设计选择第三个方案,这次的毕业设计是用STM32的嵌入式数据解析和显示装置。这一次的系统设计选用的是“STM32核心控制模块+温度采集模块”来完成所需要的功能的。1.2系统工作原理2硬件设计2.1STM32单片机2.1.1STM32单片机介绍STM32这种微型的控制器,它是这个整体温度控制系统的一个核心的部分。因为对温度控制器具有较高的要求,如果执行的速度越快的话,控制的准确度就会越高,稳定性也很高它的灵敏度也会很高,因此必须得选出一种既便宜又实惠而且性能也高的一个单片机。ARMCortex-M3的架构是可以体现出STM32增强型的单片机高性能、低功耗和经济实用的要求。并且它们选择的是THUMB-2指令集,这个指令带来的优势和效果可以变得更强。STM32单片机选择2.0~3.6V的供电电压来使用。这个可以在-40℃~85℃的温度环境下工作。最高的工作频率是72MHz。它的引脚如下图2.1。图2.1STM32F103引脚分布图2.1.2STM32内部电路图本次设计中最主要的是STM32单片机的应用,它本身自带很多功能,工作速度也快。其中它本身自带了一个稳压电路输入5V电源,然后输出为3.3V。原理图如下图2.2。图2.2稳压电路(1)时钟电路本设计选择的STM32单片机外接时钟电路,这样系统运作的话会有稳定的秩序。需要配置外部高速时钟和外部低速时钟。如下图2.3。图2.3外部高速时钟与外部低速时钟(2)复位电路复位电路是每一个电路都会带的功能,本设计选用的STM32内部带有复位电路,但是焊接的实物却没有用到复位电路,作为一款温度测量仪器,测量范围大不适合用复位电路进行复位,所以没有在硬件上加复位开关,复位电路如下图2.4。图2.4复位电路2.2LCD1602液晶显示器2.2.1LCD1602介绍显示器其中的一个部分就是用于显示温度还有温度的上下限。在我们日常生活中,一般来讲生活中运用LCD显示器是比较多的。液晶显示模块经常被用作很多的子产品的通用器件,比如,像手机屏幕,液晶电视,电子钟还有很多家用的电子产品,主要显示数字、特殊的字符和图形。在这样的一个设计中,液晶显示器是用作输出设备的。在单个的芯片系统中如果用液晶显示器来用做输出的话它是得具有以下几个优势:第一个是高显示质量。LCD显示器在各点接收信号后,为了维持一种颜色和亮度,会连续发光。这种情况下,和显像管的显示器不同。阴极射线管的显示器总是更新新的亮点。因此,液晶显示器的画质高也不会闪烁。第二个就是数字型接口液晶显示器全部都是数字信号,还有一点就是它在和单片机的系统的接口是非常的简便和靠谱的,同时操作也是十分的便利的。第三个优势就是它的体积非常小、重量也是非常轻的,液晶显示器的目的是通过显示器上的电极来控制并显示液晶分子的状态,重量比相同显示面积的传统显示器轻得多。第四个优势就是低功耗:一般情况下,液晶显示器的主要功能消耗在其内部的电极和驱动器的IC上,所以耗电比其他显示器少。LCD1602主要技术参数:显示容量:16×2个字符;芯片工作电压:4.5—5.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm。它的原理图如图2.5所示图2.5LCD1602原理图2.2.21602各管脚功能一般来说,1602字符液晶显示器是一种14引脚或16引脚的液晶显示器。本文选用16针引脚液晶显示器。另外两条线是背光电源线VCC和地线GND,控制原理与14引脚LCD相同,其中:表2.11602各管脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、双向数据总线0位(最低位)8DB1底4位三态、双向数据总线1位9DB2底4位三态、双向数据总线2位10DB3底4位三态、双向数据总线3位11DB4高4位三态、双向数据总线4位12DB5高4位三态、双向数据总线5位13DB6高4位三态、双向数据总线6位14DB7高4位三态、双向数据总线7位(最高位)(也是busyflag)15BLA背光电源是正极16BLK背光电源是负极表2.2寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busyflag(DB7),以及读取位址计数器(DB0~DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据2.3DS18B20温度传感器2.3.1DS18B20简介DS18B20是达拉斯公司生产研发的,拥有单线数字温度的一个传感器,是拥有三个脚TO-92小的空间的一个封闭东西;温度的测量范围在零下五十五摄氏度到零上一百二十五摄氏度,可以编成八到十二位的A/D互换准确度,DS18B20的测量精度是正负0.5摄氏度,被测的温度可以用符号十六位数字来表示输出。原理图及引脚说明如图2.6,功能如表2.3。(a原理图)(b引脚说明)图2.6DS18B20原理图及引脚说明表2.3DS18B20引脚说明序号名称引脚功能1GND接地2DQ数据输入/输出引脚:开漏单总线接口引脚;当被用到寄生电源下,也可向器件提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,此引脚必须接地2.3.2DS18B20控制字和读写时序说明(1)初始化总线上单线的所有操作都从原始时间开始,初始化如下。当通过检测到单线上升沿时,通常会延迟15-60us,并通过拉下一段总线达到其响应脉冲。主机接收到响应脉冲后,表示有一个单线设备在线。(2)ROM操作命令如果总线主机要是发现有对应的脉冲,就能发起某种操作的口令。一般会有五个ROM的操作口令。说明看下表2.4。表2.4ROM操作命令与说明命令类型命令字节功能说明Readrom33H此命令读取激光ROM的64位,只能用于总线上单个DS18B20的情况下,多挂则会发生冲突Matchrom(匹配rom)55H此命令后跟64位ROM序列号,寻址多挂总线上的DS18B20。只有序列号完全匹配的DS18B20才能响应后面的内存操作命令,其他不匹配的将等待复位脉冲。此命令可用于单挂或多挂接总线。Skiprom(跳过rom)CCH此命令用于单挂接总线系统时,可以无需提供64位ROM序列号皆可运行内存操作命令。如果总线上挂多挂DS18B20,并且在此命令后执行读命令,将会发生数据冲突。Scarchrom(搜索rom)F0H主机调用此命令,通过一个排除法过程,可以识别出总线上所有器件的ROM序列号。Alarmrom(警报rom)ECH此命令流程图和scarchrom命令相同,但是DS18B20只有在最近的一次温度测量时满足了告警触发条件,才会响应此命令。(3)内存操作命令ROM操作的口令在被成功操作之后,它就可以通过内存的操作口令。主机是可以提供六个内存的操作口令的,比如表2.5。(4)数据处理DS18B20是有严格要求的,在时间和顺序方面必须得保证数字的完整度。在这个单线上,会存在一些复位冲、应答脉冲、写“1”、写“0”、读“1”、读“0”只有这几种样式的信号类型。所有的一切全部都是从这个主机里操作的。所有写时隙必须大于60μs(即高下拉后大于60μs),所有写时隙之间的恢复时间必须短至1us。DS18B20在DQ线慢慢变低后,对多个数据端口采用了DQ,假如说它是一个高电平的话,那就得写“1”了,那要是低电平的话,那就得写“0”了。针对这个主机所产生的写“1”的这个情况,这个数据线就必须得先被拉低之后,这样才能释放出来的,然后写时间缝隙之后的几个数字后,可以同意DQ线拉到这个高的电平。然而一般情况下,主机如果写了“0”时隙的情况下,DQ线就得被拉到低电平而且最少保持低电平60us。表2.5内存操作命令与说明命令类型命令字节功能说明WriteScratchpad(写暂存器)4EH此命令写暂存器中地址2~4的3个字节(TH、TL和配置寄存器)在发起复位脉冲之前,3个字节都必须要写。RradScratchpad(读暂存器)BEH此命令读取暂存器内容,从字节0~一直读取到字节8。主机可以随时发起复位脉冲以停止此操作。CopyScratchpad(复制暂存器)48H此命令将暂存器中的内容复制进E2RAM,以便将温度告警触发字节存入非易失内存。如果在此命令后产生读时隙,那么只要器件在进行复制就会输出0,复制完成后,再输出1。ConvenrtT(温度转换)44H此命令开始温度转换操作。如果在此命令后主机产生读时隙,那么只要器件在进行温度转换就会输出0,转换完成后在输出1。RecallE2(重调E2存储器)B8H将存储在E2RAM中的温度告警触发值和配置寄存器值重新拷贝到暂存器中,此重调操作在DS18B20加电时自动产生。ReadPowerSupply(读供电方式)B4H主机发起此命令后每个读数据时隙内,DS1820发信号通知它的供电方式:0为寄生电源方式,1为外部供电方式。所有读写时隙至少需要60μs,每个独立时隙至少需要1μs的修复时间。写入定时,主机会将总线15μs内的值拉低至完全输出,并将“1”写入DS18B20。如果主机在拔下总线后能保持60μs的低电平,那么就会往单总线写“0”。DS18B20在主机上会发出读数据的命令,但是之后就得立刻产生读写时隙,这样的话可以方便DS18B20能够传的出好的数据。这里需要注意是,与DS18B20配套使用的是一个频率为11.0592MHz的一个单片机晶振,这种情况下它是在一定意义上决定了这个指令工作的时间,在软件设计这方面它会根据发出的口令来制作时间编写还有很多其他的延时程序。2.4温度采集电路与单片机的连接这次毕业成果用的是DS18B20温度传感器来完成环境的温度采集和变换,它与单片机的连接图如图2.9所示。图2.7单片机与DS18B20连接图STM32F103C8T6的PB15管脚与DS18B20的I/O管脚相连,作为这种数据读入和写出。电阻的R11是一个在DS18B20的I/O口的上拉的一个电阻,在读时隙结束时,I/O脚依靠R4上拉电阻拉回高电平。如果想用DS18B20来操作温度之间的相互转换,那么I/O线就必须证明自己在温度的相互转换之间供给一个够用的能量,因为DS18B20在温度互换之间所工作的电流是必须得达到1毫安的,电路则是用的5V的电源,根据公式I=U/R=5/4700=1.06mA,根据这个原理,选用小一点的电阻,只要保证DS18B20的工作电流就可以了,但是为了让信号稳定下来,通常在电路设计方面就加一个拉电阻。我选用4.7K。3软件设计系统的单片机代码使用的C语言编写,以KeiluVision5软件为开发环境。这样的话这个系统的软件就会实现应该有的功能:(1)通过LCD来显示出这个温度的数值;(2)利用对温度的数值和报警的设置数值的了解,把两者对比了一下,如果超过温度上下限,这个警报器就会响。3.1总程序流程图图3.1主程序流程图由上面程序图就可以看出,接通电源后LCD1602的液晶显示器初始化和系统的最原始化,从而使STM32进入一个相对应的状态和模式。采集当前环境的温度,显示出温度数值,通过按键设置温度的上下限,如果当前温度没超出设置的温度上下限时程序运行结束,如果温度超出温度的上下限,蜂鸣器就会报警。3.2液晶显示流程液晶显示采用了LCD1602液晶,这是种常用的液晶,驱动起来方便,使用简单,显示数据的整体流程无非是,首先液晶初始化,然后送入要在哪一个地址显示的地址数据,再送入要显示的数据即可,但是要注意的是,1602液晶是字符屏,送入的显示的数据必须是字符。显示流程图3.2如下:图3.2液晶显示流程图3.3按键处理流程图3.3按键处理流程图4系统调试4.1系统硬件调试本设计基于电路图理论,根据电路图制作硬件电路。硬件电路的调试主要包括以下几个方面:检查是否有漏焊、误焊、短路、断路等,启动后检查电路是否能正常工作。看有没有漏焊,同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接。程序下载成功后,给板子通电之后发现温度在自己设置的阈值之外,但是蜂鸣器没有报警,检查后发现蜂鸣器焊点没有焊接好,经过处理后蜂鸣器正常工作。当温度超过最大值时如图4.1所示:图4.1温度超过最大值当温度低于最小值的时如图4.2所示:图4.2温度低于最小值4.2系统软件调试本设计是基于单片机控制,利用单片机的主程序完成对温度的采集,使用的是STM32系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以KeilμVision5软件进行编写。KeilμVision5使用的基本方法,首先本软件上没有STM32单片机的数据,所以我在Keil官网上下载了我所需要的STM32F1xx_DFP.2.3.0直接加载到我的软件上。其次需要建立一个新的项目,选择使我所选择的单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STM32F103C8T6后,接通电源,电源指示灯亮,系统启动。当显示器出现温度时,说明系统开始工作。

结论通过以上分析本篇论文是针对提高温度采集的效率,节省时间并更精确的反应出当前温度和超出阈值范围报警的采集系统。本论文设计的重点在于STM32单片机和DS18B20温度传感器的系统应用。其主要对单片机的最小系统进行相应的设计和选择适合的温度传感器从而使得温度采集系统更为完备,一般来说,温度传感器收集到当前温度数据,通过数据线传递给单片机,以单片机的外部中断形式获取输出信号,并用显示器显示出当前温度。一方面能够展现出当前的温度另一方面当温度超过阈值系统就会报警。在硬件调试方面,由于采用的STM32单片机内部自带很多工作元件。外围元件不是很多,所以调试不太难。对各电子元件也无特别要求。只需要多次反复尝试,避免出错就可以。在软件调试时,发现一些程序只有满足条件才被执行,所以令单步调试难度加大,这时选用程序调试汇总的断点设置,使调试能完整进行。再者碰到编写时忘记切换输入法,有中文标点符号程序编译出现错误,一一改进后完成调试。本次设计经过了硬件和软件的测试,各部分均达到了预期功能:实现了温度采集,以及警示作用。该系统操作简单,可靠性高,灵敏度高等优点。应用本设计产品,可提高温度采集的效率,使我们的生活变得更加的方便。参考文献[1]康华光,电子技术基础模拟部分第四版[M].北京:高等教育出版社,1999.6[2]阎石,数字电子技术基础第四版[M].北京:高等教育出版社,1999.6[3]王福瑞等,单片微机测控系统设计大全[M].北京航空航天大学出版社,1998:331-337[4]宁改娣,杨拴科.DSP控制器原理及应用[M].科学出版社,2002[5]周立功等,ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.1[7]唐清善,ProtelDXP高级实例教程[M].中国水利水电出版社,2004.4.[8]罗浩等,一种新的基于ARM的数据采集系统设计[J].信阳师范学院学报(自然科学版),2006.4[9]秦伟等,基于ARM处理器的数据采集系统的设计[J].自动化技术与应用,2006年第10期[10]杜春雷,ARM体系结构与编程.清华大学出版社,2003[12]李宁,基于MDK的STM32处理器开发应用[M].北京航空航天大学出版社,2008[13]刘黎明等,单片机与嵌入式系统应用[J].英文刊名MICROCONTROLLER&EMBEDDEDSYSTEM,2002:7[14]王田苗,嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003

[15]杜春雷,ARM体系结构与编程[M].北京:清华大学出版社,2003

[16]王中训,李树起.基于水温控制的数据采集系统[M].煤矿机械出版社,2013[17]陈至坤,李蓓.温度检测技术及相关仪器的发展现状[J].河北理工大学学报(自然科学版),2011

[18]乐嘉华温度检测技术的现状和未来[J].炼油化工自动化,1995

[19]陈俊梅,卢莉蓉,周晋阳.一种多用智能温度测量仪的设计与实现[J].现代电子技术,2010[20]刘智勇,传感器产业发展现状及前景分析[J].黑龙江科技信息,2013

[21]中国行业研究网,我国温度传感器市场发展现状解析[R].深圳,2010[22]王中训李树起等,基于水温控制的数据采集系统[M].煤矿机械出版社,2013[23]章诵兰物联网高速发展国内传感器迎来黄金发展期[J].自动化与仪表,2012

[24]陆广振,温度传感器市场前景可观[J].仪器制造,1983

[25]中国电子元件行业协会敏感元器件与传感器分会物联网与传感器产业高峰论坛暨2012年年会会议邀请函[J].传感器与微系统,2012:6

[26]刘忠玉,国外温度传感器发展现状和市场预测[J].传感器技术,1989附录1原理图附录2源程序清单#include"delay.h"#include"key.h"#include"sys.h"#include"usart.h" #include"LCD1602.h"#include"time.h"#include"beep.h"#include"led.h"#include"delay.h"#include"stmflash.h"#include"ds18b20.h"#defineFLASH_SAVE_ADDR0X0800FF00 //设置FLASH保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)u16fls[2];u8k;u8HL[20]={"TH:TL:"};intTH,TL;u8kz=0;u8s0;u8beep;u8t=0; inttemperature;u8k=0;voidkey(){ k=KEY_Scan(1); if(k==KEY0_PRES) kz++;//**************湿度上限********************** if(k==KEY1_PRES&&kz==1) { TH++; if(TH>125) TH--; } if(k==KEY2_PRES&&kz==1) { TH--; if(TH<=TL) TH++; }//**************湿度下限********************** if(k==KEY1_PRES&&kz==2) { TL++; if(TL>=TH) TL--; } if(k==KEY2_PRES&&kz==2) { TL--; if(TL<-55) TL++; } if(kz>2) { kz=0; fls[0]=TH; fls[1]=TL; STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)fls,2); }}voidshow(){ u8str[16]={"Temper:"}; if(temperature>=0) { if((temperature/1000%10)>0) str[7]=temperature/1000%10+0x30; else str[7]=''; if((temperature/100%10)>=0&&(temperature/1000%10)>0) str[8]=temperature/100%10+0x30; elseif((temperature/100%10)>0&&(temperature/1000%10)<=0) str[8]=temperature/100%10+0x30; else str[8]=''; if((temperature/10%10)>=0) str[9]=temperature/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } elseif((temperature*-1)>=100) { str[7]='-'; if((temperature*-1)/100%10>0) str[8]=temperature*-1/100%10+0x30; else str[8]=''; if(((temperature*-1)/10%10)>=0&&((temperature*-1)/100%10>0)) str[9]=temperature*-1/10%10+0x30; elseif(((temperature*-1)/10%10)>0&&(temperature*-1)/100%10<0) str[9]=temperature*-1/10%10+0x30; else str[9]=''; str[9]=temperature/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } else { str[7]=''; str[8]='-'; str[9]=temperature*-1/10%10+0x30; str[10]='.'; str[11]=temperature%10+0x30; str[12]=0xdf; str[13]='C'; str[14]=''; str[15]=''; } LCD1602_Show_Str(0,0,str); delay_ms(10); if(kz==1&&s0) { HL[3]=''; HL[4]=''; HL[5]=''; } else { if(TH>=0) { if((TH/100%10)>0) HL[3]=TH/100%10+0x30; else HL[3]=''; if((TH/10%10)>=0&&(TH/100%10)>0) HL[4]=TH/10%10+0x30; elseif((TH/10%10)>0) HL[4]=TH/10%10+0x30; else HL[4]=''; if((TH%10)>=0) HL[5]=TH%10+0x30; } if(TH<0) { HL[3]='-'; if(((TH*-1)/10%10)>0) HL[4]=0x30+(TH*-1)/10%10; else HL[4]=''; if(((TH*-1)/10%10)>=0&&((TH*-1)/10%10)>0) HL[5]=0x30+(TH*-1)%10; else HL[5]=0x30+(TH*-1)%10; } } if(kz==2&&s0) { HL[11]=''; HL[12]=''; HL[13]=''; } else { if(TL>=0) { if((TL/100%10)>0) HL[11]=TL/100%10+0x30; else HL[11]=''; if((TL/10%10)>=0&&(TL/100%10)>0) HL[12]=TL/10%10+0x30; elseif((TL/10%10)>0

温馨提示

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

评论

0/150

提交评论