下载

1下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于传感器MPX4115的智能压力检测系统设计与仿真

基于传感器MPX4115的智能压力检测系统设计与仿真.doc

基于传感器MPX4115的智能压力检测系统设计与仿真

男人我闭着眼参透你的心
2017-10-07 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《基于传感器MPX4115的智能压力检测系统设计与仿真doc》,可适用于综合领域

基于传感器MPX的智能压力检测系统设计与仿真成都理工大学工程技术学院毕业论文基于传感器MPX的智能压力检测系统设计与仿真作者姓名,专业名称,指导教师,基于传感器MPX的智能压力检测系统设计与仿真摘要数字式气压计被广泛应用于当前工业领域、国防领域、医疗领域以及日常生活中。本设计中就介绍了一种气压的实时显示设备。它利用软、硬件基础知识通过单片机与气压传感器的结合使得在液晶显示器上显示出当前大气压值。本文详细的描述了基于mpx气压计的多功能应用以及软硬件实现的过程。本设计是基于气压传感器mpx的精密数字气压设计系统。通过气压传感器mpx获得与大气相对应的模拟电压值并经过电压频率(VF)装换模块装换为数字脉冲通过单片机接受脉冲数依据电压与频率的线性关系式计算出相对应的实际气压值最后在单片机的控制下由液晶显示电路显示出实际气压值。总体目标是实现系统的可靠性、稳定性、安全性和经济性。关键词:mpx气压传感器单片机液晶显示VF装换器I基于传感器MPX的智能压力检测系统设计与仿真AbstractDigitalpressuregaugeiswidelyusedintheindustrialfield,nationaldefensefield,medicalfieldandindailylifeThisdesignintroducedrealtimedisplayequipmentforpressureItmakesuseofsoft,hardwarebasedonknowledge,throughacombinationofsinglechipmicrocomputerandpressuresensor,whichshowsthecurrenthighpressureintheliquidcrystaldisplayThispaperdescribestheprocessofapplicationofmultifunctionalmpxbarometerofthehardwareandsoftwarebasedonThisdesignisdigitalprecisionpressuredesignsystemofpressuresensorbasedonmpxMpxpressuresensorthroughthereceivedanalogvoltagecorrespondingt成的单片硅结构个正确布置在各个悬臂梁上的压阻敏感元件。多功能化不仅可以降低生产成本减小体积而且可以有效的提高传感器的稳定性、可靠性等性能指标把多个功能不同的传感元件集成在一起除可同时进行多种参数的测量外还可对这些参数的测量结果进行综合处理和评价可反映出被测系统的整体状态。由上还可以看出集成化对固态传感器带来了许多新的机会同时它也是多功能化的基础。传感器与微处理机相结合使之不仅具有检测功能还具有信息处理、逻辑判断、自诊断、以及“思维”等人工智能就称之为传感器的智能化。借助于半导体集成化技术把传感器部分与信号预处理电路、输入输出接口、微处理器等制作在同一块芯片上即成为大规模集成智能传感器。可以说智能传感器是传感器技术与大规模集成电路技术相结合的产物它的实现将取决于传感机器与半导体集成化工艺水平的提高与发展。这类传感器具有多功能、高性能、体积小、适量大批生产和使用方便等优点可以肯定的说是传感器重要的方向之一。传感器另一个发展就是智能传感器又叫灵巧(Smart)传感器。这一概念最早是由美国宇航局在开发宇宙飞船过程中提出来的。飞船上天后需要知道其速度、位置、姿态等数据为了宇宙员能正常生活需要控制舱内的湿度、温度、气压、加速度、空气成分等。因此这需要大量的的传感器。而且还需要它具备大量数据的储存、处理、分析的功能实现远距离、高基于传感器的智能压力检测系统设计速度、高精度传输等。开发新型传感器:新型传感器大致应包括:采用新原理、填补传感器空白、仿生传感器等诸方面。它们之间是互相联系的。传感器的工作机理是基于各种效应和定律由此启发人们进一步探索具有新效应的敏感功能材料并以此研制出具有新原理的新型物性型传感器件这是发展高性能、多功能、低成本和小型化传感器的重要途径。结构型传感器发展得较早目前日趋成熟。结构型传感器一般说它的结构复杂体积偏大价格偏高。物性型传感器大致与之相反具有不少诱人的优点加之过去发展也不够。世界各国都在物性型传感器方面投入大量人力、物力加强研究从而使它成为一个值得注意的发展动向。其中利用量子力学诸效应研制的低灵敏阈传感器用来检测微弱的信号是发展新动向之一。新材料开发:传感器材料是传感器技术的重要基础,是传感器技术升级的重要支撑。随着材料科学的进步,传感器技术日臻成熟,其种类越来越多,除了早期使用的半导体材料、陶瓷材料以外,光导纤维以及超导材料的开发,为传感器的发展提供了物质基础。例如,根据以硅为基体的许多半导体材料易于微型化、集成化、多功能化、智能化,以及半导体光热探测器具有灵敏度高、精度高、非接触性等特点,发展红外传感器、激光传感器、光纤传感器等现代传感器在敏感材料中,陶瓷材料、有机材料发展很快,可采用不同的配方混合原料,在精密调配化学成分的基础上,经过高精度成型烧结,得到对某一种或某几种气体具有识别功能的敏感材料,用于制成新型气体传感器。此外,高分子有机敏感材料,是近几年人们极为关注的具有应用潜力的新型敏感材料,可制成热敏、光敏、气敏、湿敏、力敏、离子敏和生物敏等传感器。传感器技术的不断发展,也促进了更新型材料的开发,如纳米材料等。例如美国NRC公司已开发出纳米ZrO气体传感器,控制机动车辆尾气的排放。数字气压计系统的设计意义随着我国经济的不断成长国家越来越重视气压计项目相关行业的发展“十二五”期间气压计产业的重点领域及其投资机会研究成为热点问题。先进的测量仪器成为现代化产品开发的必备条件气压计被广泛应用于我们人类改造自然的很多领域以及我们日常家庭生活中。本课题是要设计一个利用微控制和数字化气压传感器为核心元件组成的电子气压计系统。其基于传感器的智能压力检测系统设计中核心元件就是气压传感器它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。传统气压表(空盒式、弯管式等)精度低、显示单一本课题设计的数字气压计采用单片机控制具有使用方便、精度高、显示简单灵活等优点并可灵活的加入超压、低压报警、无线传输等特殊功能而且可以大幅提高被控气压的技术指标。因此对高精度便携式数字大气压计的研究有着非常重要的意义。基于传感器的智能压力检测系统设计系统总体设计设计整体思想在系统构建过程中,需要考虑稳定性、复杂程度、造价和调试的难易程度等因素。图所示框图中的每一部分就是一个单元电路,可完成各自的功能。模块之间没有复杂的信号传输,且干扰很少,因而系统整体比较稳定。本设计是基于MPX的数字气压计包括软、硬件的设计与调试。软件部分通过对C语言的学习和对单片机知识的了解根据系统的特点编写出单片机程序。硬件部分分为四大块包括大气压的非电信号数据的采集、转换、处理以及显示。通过对设计的了解选择适合的器件画出原理图。系统总体框图气压计硬件部分由四部分构成它们分别是:信息采集模块数据转换模块信息处理模块和数据显示模块。下图为系统总框图:气压传感器电VF转换器源单片机模块液晶显示器图单片机数字气压计系统结构框图基于传感器的智能压力检测系统设计由图可知整个系统的工作流程如下:测量时被测气压由气压传感器转换为模拟的电压输出此输出信号不能直接交由单片机处理。因此需要经过VF转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。通过单片机接收该脉冲信号得到单位时间内获得的脉冲数依据电压与频率的线性关系式计算出所对应的实际气压值最后通过数码管显示电路显示给用户。系统各功能模块的设计思想通过对单片机各个端口的设置以及定时器工作方式和串行口工作方式的选择并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯联络的设定。在主程序模块中我们关键是使单片机初始化以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。数据采集模块数据采集模块(mpx),主要核心是由气压传感器构成其主要功能是对被测气压进行实时稳定的测量并以模拟电压的形式输出交由后面的数据转化模块处理。AD转换模块AD转换模块(ADC)主要功能是将气压传感器输出的模拟电压信号经过AD转换电路转换为单片机能直接处理的数字信号。数据处理模块数据处理模块(ATC)主要是对AD转换模块的数据进行多次采集并且对采集的数据进行处理此处理过程主要是对采集的数据进行初值定义以及相应的移位处理并且把处理好的数据送入相应的缓冲区为后面的显示模块作好准备。数据显示模块数据显示模块(LCD),主要对单片机处理后的数据进行实时显示显示内容为测量气压值。基于传感器的智能压力检测系统设计硬件电路设计数据采集模块数据采集模块的芯片选择气压传感器对于系统至关重要需要综合实际的需求和各类气压传感器的性能参数加以选择。一般要选用有温度补偿作用的气压传感器因为温度补偿特性可以克服半导体压力传感器件存在的温度漂移问题。绝对气压值对应的既是实际的气压值显然本设计要实现的数字气压计需要能测量绝对气压值的气压传感器及气压传感器的主要性能参数如下:、测量范围即所能测量的大气压力范围单位为kPa。测量精度、测量结果(电流或电压)的精度。、温度补偿范围一般要选用具有温度补偿能力的气压传感器因为温度补偿特性可以克服半导体压力敏感器件存在的温度漂移问题。、测量的是否是绝对气压值绝对气压值对应的即是实际的气压值显然要实现数字气压计需要测量绝对气压值的气压传感器。数字气压计显示的是绝对气压值同时为了简化电路提高稳定性和抗干扰能力要求使用具有温度补偿能力的气压传感器。经过综合考虑我们选用美国摩托罗拉公司的集成压力传感器芯片MPX作为气压传感器。MPX可以产生于所加气压呈线性关系的高精度模拟输出电压它具有以下特点:供电范围:~V典型值为V。测量范围:~kPa。工作温度范围:~。温度补偿范围:~。基于传感器的智能压力检测系统设计测量精度为VFSS。最低气压对应的输出电压VOFF为~V典型值为V最高气压对应的输出电压VOFF为~V典型值为V满刻度输出电压间距VFSS的典型值为V。根据MPX的气压线性关系可以列出具体输出关系如下:Vout=Vs(P–)(PressErrorTempFactorVs)式中,Vs是工作电压,P是大气压值,Vout为输出电压。数据采集的仿真原理图数据采集模块由气压传感器MPX构成采集的是大气压值。其中脚是输出信号端输出的是与气压值相对应的模拟电压信号。数据采集模块的仿真原理如图所示。基于传感器的智能压力检测系统设计图数据采集模块仿真原理图气压传感器MPX的原理MPX系列压电电阻传感器是一个硅压力传感器。这个传感器结合了高级的微电机技术薄膜镀金属。还能为高水准模拟输出信号提供一个均衡压力。在的温度下误差不超过温度补偿是。气压传感器MPX的管脚说明如表所示:表气压传感器MPX的管脚说明VOUTGNDVSNSNSNS气压传感器MPX的特性参数如表所示:基于传感器的智能压力检测系统设计表气压传感器MPX的特性参数参数符号最小典型最大单位压力范围PopKPa供电电压VsVdc供电电流LomAdc最大压力偏置(,VpssVdc)Vs=V满量程输出(,VoffVdc)Vs=V满量程比例(,VFSSVdc)Vs=V精度VPS(,)S灵敏度VPmVKPa响应时间(,)tRms上升报警时间ms偏置稳定性VFSS数据转换模块数据转换芯片选择气压传感器MPX输出的是模拟电压因此必须进行模拟到数字的转换才能交由单片机处理。关于AD转换本课题中采用一种电压频率转换电路来实现模拟电压数字化的处理。关于AD转换其模块的特点是:转换分辨率为位最多含个输基于传感器的智能压力检测系统设计入通道和一个内部温度传感器。我采用一种电压频率(VF)转换电路来实现模拟电压的数字化处理。VF转换电路由VF器件实现。VF器件的作用是将输入电压的幅值转换成频率与输入电压幅值成正比的脉冲序列虽然VF器件本身还不能算做量化器但加上定时器与计数器以后也可以实现AD转换。VF器件的突出特点就是它能够把模拟电压转换成抗干扰能力强、可远距离传送并能直接输入单片机接口的脉冲序列。通过测试VF的输出频率。可以实现AD转换功能。针对电路的实际需要并考虑到外围电路实现的难易程度和相应的性能指标我选用的是ADC。ADC是美国国家半导体公司生产的一种位分辨率、双通道AD转换芯片。由于它体积小兼容性强性价比高而深受单片机爱好者及企业欢迎其目前已经有很高的普及率。ADC具有以下特点:位分辨率双通道AD转换输入输出电平与TTLCMOS相兼容V电源供电时输入电压在~V之间工作频率为KHZ转换时间为μS一般功耗仅为mWP、PDIP(双列直插)、PICC多种封装商用级芯片温宽为CtoC工业级芯片温宽为to数据转换电路部分电路原理图ADC构成的AD转换器的电路如图所示,其中图中的号引脚是数据采集后的输入号引脚和号引脚是转换后信号的输出。基于传感器的智能压力检测系统设计图ADC原理图ADC的原理ADC为位分辨率AD转换芯片其最高分辨可达级可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用使得芯片的模拟电压输入在~V之间。芯片转换时间仅为μS据有双数据输出可作为数据校验以减少数据误差转换速度快且稳定性能强。独立的芯片使能输入使多器件挂接和处理器控制变的更加方便。通过DI数据输入端可以轻易的实现通道功能的选择。正常情况下ADC与单片机的接口应为条数据线分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的所以电路设计时可以将DO和DI并联在一根数据线上使用。如图所示ADC基于传感器的智能压力检测系统设计芯片接口说明:片选使能低电平使能CSCHO模拟输入通道或作为IN使用CH模拟输入通道或作为IN使用GND芯片参考电位(地)D数据信号输入选择通道控制D数据信号输入转换通道控制CLK芯片时钟输入VCC电源输入及参考电压输入(复用)数据处理模块数据处理模块的芯片选择对于ADC输出的频率信号要经过单片机的数据处理通过频率与气压之间的关系计算出气压值。ATC单片机最为核心的部分是中央处理器CPU它由运算器和控制逻辑构成其中包括若干特殊功能寄存器。ATC是一款低电压高性能CMOS位单片机片内含kbytes的可反复擦写的只读程序存储器(PEROM)和bytes的随机存取数据存储器(RAM)器件采用ATMEL公司的高密度、非易失性存储技术生产兼容标准MCS指令系统片内置通用位中央处理器(CPU)和Flash存储单元功能强大ATC单片机可为您提供许多高性价比的应用场合可灵活应用于各种控制领域。本课题中选用ATC单片机来实现。单片机部分的原理图单片机部分的原理如图所示。基于传感器的智能压力检测系统设计图单片机部分的原理图ATC引脚及功能ATC是美国Atmel公司生产的低电压、高性能CMOS位单片机片内含KB的可反复檫写的程序存储器和B的随机存取数据存储器(RAM)器件采用Atmel公司的高密度、非易失性存储技术生产兼容标准MCS指令系统片内配置通用位中央处理器(CPU)和Flash存储单元功能强大的ATC单片机可灵活应用于各种控制领域。ATC单片机属于ATC单片机的增强型与Intel公司的C在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:()片内程序存储器内含KB的Flash程序存储器可擦写寿命为次()片内数据存储器内含字节的RAM()具有根可编程IO口线()具有个可编程定时器()中断系统是具有个中断源、个中断矢量、个级优先权的中断结构基于传感器的智能压力检测系统设计()串行口是具有一个全双工的可编程串行通信口()具有一个数据指针DPTR()低功耗工作模式有空闲模式和掉电模式()具有可编程的级程序锁定位()ATC工作电源电压为()V且典型值为V()ATC最高工作频率为MHz。C单片机的条引脚按功能来分可以分为部分电源及时钟引脚、控制引脚和输入输出引脚。如下图所示:图ATC引脚分布图()Vcc(脚):接V电源为单片机芯片提供电能。()Vss(脚)接地。()XTAL(脚)在单片机内部它是一个反向放大器的输入端该放大器构成了片内的振荡器可提供单片机的时钟控制信号。()XTAL(脚)在单片机内部接至上述振荡器的反向输出端。控制引脚此类引脚包括RESET(即RSRVPD)、ALEPROG、PSEN、EAVPP可以基于传感器的智能压力检测系统设计提供控制信号有些具有复用功能。()RSRVPD(脚):复位信号输入端高电平有效当振荡器运行时在此引脚加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于V的低电平以保证单片机正常工作。掉电期间此引脚可接上备用电源(VPD)以保持内部RAM中的数据不丢失。当Vcc下降到低于规定值而VPD在其规定的电压范围内(V)时VPD就向内部RAM提供备用电源。()ALEPROG(脚):ALE为地址锁存允许信号。当单片机访问外部存图单片机引脚储器时ALE(地址锁存允许)输出脉冲的下降沿用于锁存位地址的低位。即使不访问外部存储器ALE端仍有周期性正脉冲输出其频率为振荡器频率的。但是每当访问外部数据存储器时在两个机器周期中ALE只出现一次即丢失一个ALE脉冲。ALE端可以驱动个LSTTL负载。()PSEN(脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间每个机器周期均PSEN两次有效。但在此期间每当访问外部数据存储器时这两次有效的PSEN信号将不会出现。PSEN同样可以驱动个LSTTL负载。()EAVPP(脚):EA功能为内外程序存储器选择控制端。当EA端保持高电平时单片机访问内部程序存储器但在PC(程序计数器)值超过FFFH时将自动转向执行外部程序存储器内的程序。输入输出引脚此类引脚包括P口、P口、P口和P口。()P(P~P)是一个位三态双向IO口在不访积压处部存储器时做通用IO口使用用于传送CPU的输入输出数据当访问外部存储器时此口为地址总路线低位及数据总路线分时复用口可带个LSTTL负载。()P(P~P)是一个位准双向IO口(作为输入时口锁存器置)带有内部上拉电阻可带个LSTTL负载。()P(P~P)是一个位准双向IO口与地址总路线高位复用可驱动个LSTTL负载。基于传感器的智能压力检测系统设计()P口功能表如下表所示表P功能表P口各个位的第二功能P口的位第二功能说明PRXD串行数据接收口PTXD串行数据发射口PINT外部中断输入PINT外部中断输入PT计数器计数输入PT计数器计数输入PWR外部RAM写信号PRD外部RAM读信号数据显示模块显示模块的芯片选择在工业控制中显示器件向来是很重要的一环随着科技的迅速发展显示器件的种类也是越来越多目前主流的显示器件就是液晶显示器液晶显示器简称LCD显示器它是利用液晶经过处理后能够改变光线的传输方向的特性实现显示信息的液晶显示模块具有体积小、功耗低、显示内容丰富超薄轻巧等优点在单片机应用系统中得到日益广泛的应用。液晶显示器按其功能分为三类:笔端式液晶显示器、字符点阵式液晶显示器、图形点阵式液晶显示器。前两种能够显示数字、字符等而图形点阵式液晶显示器还可以显示汉字和任意图形。本设计中选择经济实惠的字符型液晶显示器LCD。LCD可基于传感器的智能压力检测系统设计以显示两行每行个字符采用V电源供电外围电路配置简单价格便宜具有很高的性价比显示器LCD部分的原理图显示器部分的电路如图所示。图显示器部分电路图LCD原理LCD是一种专门用于显示字母、数字、符号等点阵式LCD实物如图所示。图LCD实物图基于传感器的智能压力检测系统设计LCD的外围引脚及作用:第脚:VSS为地电源第脚:VDD接V正电源第脚:V为液晶显示器对比度调整端接正极电源时对比度最弱接地电源时对比度最高对比度过高时会产生“鬼影”使用时可以通过一个K的电位器调整对比度第脚:RS为寄存器选择高电平时选择数据寄存器低电平时选择指令寄存器第脚:RW为读写信号线高电平时进行读操作低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读取忙信号当RS为高电平RW为低电平时可以写入数据第脚:E端为使能端当E端由高电平跳变成低电平时液晶模块执行命令第脚:D,D为位双向数据线第脚:空脚。液晶显示器内部的控制器共有条控制指令如表所示:表控制指令序指令RDDDDDDDRSD号W清显示光标返回*置输入模式ISD显示开关控制DCB光标或字符移位SR**CL基于传感器的智能压力检测系统设计置功能DNF**L置字符发生存贮器字符发生存贮器地址地址置数据存贮器地址显示数据存贮器地址读忙标志或地址B计数器地址F写数到CGRAM或要写的数据内容DDRAM)从CGRAM或DDRAM读读出的数据内容数液晶模块的读写操作屏幕和光标的操作都是通过指令编程来实现的。(说明为高电平为低电平)指令:清显示指令码H光标复位到地址H位置指令:光标复位光标返回到地址H指令:光标和显示位置设置ID光标移动方向高电平右移低电平左移S:屏幕上所有文字是否左移或右移高电平表示有效低电平表示无效。指令:显示开关控制。D:控制整体的显示开与关高电平表示开显示低电平表示关显示。C:控制光标的开与关高电平表示有光标低电平表示无光标B:控制光标是否闪烁高电平闪烁低电平不闪烁。指令:光标或显示移位SC:高电平时显示移动的文字低电平时移动光标指令:功能设置命令DL:高电平时为位总线低电平时为位总线N:低电平时为单行显示高电平时为双行显示F:低电平时显示X的点阵字符高电平时显示X的显示字符。指令:字符发生器RAM地址设置。指令:DDRAM地址设置。指令:读忙信号和光标地址BF:忙标志位高电平表示忙此时模块不能接收命令或数据如果为低电平表示不忙。基于传感器的智能压力检测系统设计电源模块、数据下载模块及报警模块电路中的电源部分如图所示。USB电源为整个电路提供电源输出V。图USB电源串行通信接口的部分电路原理图如所示。图串行通信接口基于传感器的智能压力检测系统设计蜂鸣器报警模块的部分电路原理图如图所示。图报警电路图基于传感器的智能压力检测系统设计仿真工具介绍单片机C语言由于本设计中使用的编程语言是C语言。C语言作为一种方便的语言而得到广泛的支持很多硬件开发都用C语言编程如各种单片机、DSP、ARM等。C语言程序本身不依赖于机器硬件系统基本上不做修改或仅做简单的修改就可将程序从不同的系统移植过来直接使用。C语言提供了很多数学函数并支持浮点运算开发效率高可极大地缩短开发时间增加程序可读性和可维护性。单片机C编程与汇编ASM编程相比有如下优点:()可以大幅度加快开发进度程序量越大用C语言就越有优势。()无需精通单片机指令集和具体的硬件也能够编出符合硬件实际专业水平的程序。()可以实现软件的结构化编程使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。()省去了人工分配单片机资源的工作在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后只要在代码中申明一下变量的类型编译器就会自动分配相关资源根本不需要人工干预从而有效地避免了人工分配单片机资源的差错。()汇编语言的可移植性很差而C语言只要将一些与硬件相关的代码作适当的修改就可以方便地移植到其它种类的单片机上。()C语言提供auto、static、flash等存储类型针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间而且C语言提供复杂的数据类型极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复并且提供常用的标准函数库供用户使用。并且C编译器能自动生成一些硬件的初始化代码。()对于一些复杂系统的开发可以通过移植(或C编译器提供)的实时操作系统来实现。基于传感器的智能压力检测系统设计正由于C语言在系统开发中的优势这次设计的所有程序设计都将采用C语言编写。Keil软件介绍KeilC是美国KeilSoftware公司出品的系列兼容单片机C语言软件开发系统。与汇编相比C语言在功能上、结构性、可读性、可维护性上有明显的优势因而易学易用。KeilC软件提供丰富的库函数和功能强大的集成开发调试工具全Windows界面。Keil可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C及A编译器编译生成目标文件(OBJ)。目标文件可由LIB创建生成库文件也可以与库文件一起经L连接定位生成绝对目标文件(ABS)。ABS文件由OH转换成标准的Hex文件以供调试器dScope或tScope使用进行源代码级调试也可由仿真器使用直接对目标板进行调试也可以直接写入程序存储器中。KeiluVisionADE是Keilsoftware公司的产品它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。uVision本身自带项目管理器其开发流程步骤如下:开启uVision建立工程文件并且从器件数据库里挑选出项目实际使用的器件。建立一个新的源文件并且把这个源文件添加到工程中去。为单片机添加并且设置启动代码。设置硬件相关的选项。编译整个工程并且生成下载到存储器用的HEX文件。Proteus软件介绍Proteus与其它单片机仿真软件不同的是它不仅能仿真单片机CPU的工作情况也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时关心的不再是某些语句执行时单片机寄存器和存储器内容的改变而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验从某种意义上讲是弥补了实验和工程应用间脱节的矛盾和现象。Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包基于传感器的智能压力检测系统设计括模拟信号和数字信号。对于单片机硬件电路和软件的调试Proteus提供了两种方法:一种是系统总体执行效果一种是对软件的分步调试以看具体的执行情况。对于总体执行效果的调试方法只需要执行debug菜单下的execute菜单项或F快捷键启动执行用debug菜单下的pauseanimation菜单项或pause键暂停系统的运行或用debug菜单下的stopanimation菜单项或shiftbreak组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试应先执行debug菜单下的startrestartdebugging菜单项命令此时可以选择stepover、stepinto和stepout命令执行程序(可以用快捷键F、F和ctrlF)执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了startrestartdebuging命令后在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等可供调试时分析和查看。运行proteus的ISIS程序后进入该仿真软件的主界面。在工作前要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令在pickdevices窗口中选择电路所需的元件放置元件并调整其相对位置元件参数设置元器件间连线编写程序在source菜单的Definecodegenerationtools菜单命令下选择程序编译的工具、路径、扩展名等项目在source菜单的Addremovesourcefiles命令下加入单片机硬件电路的对应程序通过debug菜单的相应命令仿真程序和电路的运行情况。这里我们采用proteus的系统总体执行效果调试方法调试单片机的供应电源和复位电路部分。这里单片机时钟工作在MHZ电源电路、晶振电路和复位电路是整个系统正常工作的基础应首先保证它们的正常工作。Protel介绍经过前面的努力数字气压计硬件电路的设计在已经完成PROTELSE是一个全位的电路板设计软件使用该软件可以容易地设计电路原理图、画元件图、设计电路板图、画元件封装图和电路仿真。在这里主要用它来绘制电路原理图和生成印制电路板。下面简要说明一下我们上面用PROTEL画好的电路原理图的设计步骤如下:()设置原理图设计环境。其中工作环境设置是使用DesignOptions基于传感器的智能压力检测系统设计和Tool和Preferences菜单进行的画原理图环境的设置主要包括图纸大小、捕捉栅格、电气栅格、模板设置等。()放置元件将电气和电子元件放置在图纸上。()原理图布线。元件一旦放置在原理图上不需要用导线将元件连接起来连接时一定要符合电气规则。()编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。()检查原理图。使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告若有错误则要根据错误进行改正。()生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表通过该表可以确认各个元件和它们之间的关系。()打印原理图。对电路板的设计主要分为以下几个步骤()使用原理图编辑器设计原理图进行电气检查(ERC)并生成原理图的网络表。()进入电路板(PCB)环境使用电路向导确定电路板的层数、尺寸等电路板参数。()使用DesignNetlist菜单调入网络表。()布置元件就是将元件合理地分布在电路板上。自动布置元件或人工布置元件多次布置直到自己满意为止。()完成修饰等工作完成整个电路板的设计。应用Protel软件画出原理以及使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告若有错误则要根据错误进行改正。在电路原理图的基础上进行电气规则检查后创建网络表导入PCB板放置件及布线。基于传感器的智能压力检测系统设计软件系统设计程序流程图单片机实现数字气压计的程序流程如图所示。ms定时器服务子程序开始设置计时ET=count器TR=count=设置计数Count=器计算气压值While()调用显示函数ET=TR=图单片机实现数字气压计的程序流程图基于传感器的智能压力检测系统设计气压值计算信号每一步的变换过程如下:第一步被测气压经过气压传感器MPX转换成电压输出根据MPX的芯片资料可知输出电压Vout和大气压P的关系如下:Vout=Vs(P–)()这里VCC为V因此可得:Vout=(P–)()第二步MPX的输出电压Vout作为输入电压Vin经过AD转换电路转变为具有对应频率fo的脉冲序列F。第三步根据线性区间标度变换公式:P=()()*Fkpa()更具()式编程计算得到气压值P。基于传感器的智能压力检测系统设计系统的调试与仿真系统仿真电路图VSSVDDVEERSRWELCDpLMLDCDDDUpDPXTALPADDPXPADDPPADDPCRYSTALXTALPADCRPPPADPpGNDPADCPPADPRSTPADuPAPAPAVRPSENPAPkALEPAPEAPAVCCPRPARESPACKPkPAPPPPTPRXDQPDPPTEXPTXDRVPLEDGREENPGNDPPINTMkPRPPINTMPXPPPTPkPPTVPPPWRPRPPRDNATCLSDNVCCSOUNDERURCkuFVCCCSPVoltsCLKCHADICHUDOGNDPADCBANDCPGNDONPD=CPP图仿真原理图PP基于传感器的智能压力检测系统设计LCDJVSSVDDVEERSRWRRRRRRRREDkkkkkkkkDDDVDDUlDPTPlDPTPlDPPlDPPhPPhPPhPPhPPuINTPINTPPCTPTPPpVEAVPPBUZZPYXVXCRYSTALRRXCPOTRESETRXDVCCTXTXDVRDALEPCJpWRPSENCSVCCVRuUDKuDCHDSVRCHLEDkGNDSDOVSWPBRCSUSBBBUZZCLKKDINVREFLSDADCRRRRRNSKKKkVMPXSPEAKERVRkChnFBBhVhUhMAXCJCCVCCSSSSllllVVGNDufCCDOUTSWPBSWPBSWPBSWPBufCRINSSSSCRXCROUTufTXVDINSWPBSWPBSWPBSWPBDOUTDINSSSSufRINROUTSWPBSWPBSWPBSWPBSSSSDConnectorSWPBSWPBSWPBSWPBhUAhLSuhAAhTitleSizeNumberRevisionBDate:MaySheetofFile:C:UsersAdministratorDesktopPCBMyDesignddbDrawnBy:图PCB原理图基于传感器的智能压力检测系统设计系统仿真结果在Proteus环境下运用keil软件(其程序见附件)生成HEX文件导入单片机误差程序调试成功。、当传感器压力检测为kpa时(传感器MPX正常测试范围内)仿真结果如图所示:图压力kpa的仿真结果、当传感器压力检测为小于kpa(不在传感器MPX的量程范围内)时不能测量实际压力并且声音报警(红色警报灯闪烁)~仿真结果如图所示:基于传感器的智能压力检测系统设计kpa的仿真结果图压力<、当传感器压力检测为大于kpa(不在传感器MPX的量程范围内)时不能测量实际压力并且声音报警(红色警报灯闪烁)~仿真结果如图所示:基于传感器的智能压力检测系统设计图压力>kpa的仿真结果基于传感器的智能压力检测系统设计总结本次毕业设计在自己的努力同学的帮助黄x师的指点下已全部完成结果重要过程也很珍贵在做毕业设计的过程中我学到了好多知识和经验仔细认真的想想总结一下将对自己是个质的提升。现先将此次毕业设计的成果简要汇报如下:•完整的数字气压计设计方案•了解数据的采集以及传感器采集压力的理论•如何选择合适的气压传感器•利用VF转换来实现模数的转换•所需使用的电压转换电路提供V电源•低成本基于传感器的智能压力检测系统设计致谢当毕业论文写到这里的时候为期四个月的毕业设计基本要画上句号了。在加上黄宇老师的耐心指导下自己可谓有了一个全新的提高。毕业设计也较顺利圆满地完成了。此次我的毕业设计的课题是“基于传感器MPX的智能压力检测”一开始拿到这个课题是一头的雾水不知道该如何的下手也就在毕业设计的开始阶段黄老师为我指出了此课题的大概方向和需要查阅的相关书籍以及在后面会遇到的主要问题可谓受益颇多。在学习了相关本次设计的知识后我实际的设计部分在这个过程中遇到了相当多的问题和困难比如选用什么样的气压传感器以及AD转换芯片传感器电路及AD转换和单片机的接口电路、气压显示电路如何去设计等!在此要感谢黄老师在此过程中给与我的耐心指导。到此毕业设计就此完成。还要感谢这篇论文所涉及到的各位老师的研究文献如果没有各位老师研究成果的帮助和启发我很难完成这片论文的写作~实践是检验真理的唯一标准经过几年的理论学习和这次在即将走向工作岗位的时候能将理论与实践相结合的来锻炼自己可谓是难得的一次提高在此感谢学校为我安排的这个教学环节也感谢在此次设计过程中给与我极大帮助和理解的黄老师和帮助过我的同学。由于我的学术水平有限所以论文难免存在不足之处恳请各位老师、同学批评和指正~基于传感器的智能压力检测系统设计参考文献谢维成、杨加国单片机原理与应用及C程序设计。清华大学出版社张陪仁基于C语言编程MCS单片机原理与应用。清华大学出版社刘伟传感器原理及实用技术。电子工业出版社赵继文传感器与应用电路设计。科学出版社严天峰单片机应用系统设计与仿真调试。北京航空航天大学出版社曹丙霞ProtelSE电路原理图与PCB设计。电子工业出版社赵负图新型传感器集成电路应用手册。人民邮电出版社马忠梅单片机的C语言应用程序设计。北京航空航天大学出版社吴延海微型计算机接口技术。重庆大学出版社胡汉才单片机原理及其接口技术。清华大学出版社基于传感器的智能压力检测系统设计附件系统整体框图VSSVDDVEERSRWLCDEpLMLDCDDDUpDPDXTALPADXPDPADPDPADCRYSTALPCRPXTALPADPPADpPGNDCPADPPADPRSTPADuPAPAPAVRPSENPAPkALEPAPEAPAPVCCRPARESPACKPkPAPPPPTPRXDQDPPPTEXPTXDRVPLEDGREENPGNDPPINTMkPRPPINTMPXPPPTPkVPPTPPPWRPRPPRDNATCLSDVCCNSOUNDERURCVCCCSkuFPCLKCHVoltsADICHUDOGNDPADCBANDCPGNDPOND=CPPPP基于传感器的智能压力检测系统设计附件系统Protel图电路原理图LCDJVSSVDDVEERSRWRRRRRRRREDkkkkkkkkDDDVDDUlDPTPlDPTPlDPPlDPPhPPhPPhPPhPPuINTPINTPPCTPTPPpVEAVPPBUZZPYXVXCRYSTALRRXCPOTRESETRXDCVCTXTXDVRDALEPCJpWRPSENCSVCCVRuUDKuDCHDSVRCHLEDkGNDSDOVSWPBRCSUSBBBUZZCLKKDINVREFLSDADCRRRRRNSKKKkVMPXSPEAKERVRkChnFBBhVhUhMAXCJCCVCCSSSSllllVVGNDufCCDOUTSWPBSWPBSWPBSWPBufCRINSSSSCRXCROUTufTXVDINSWPBSWPBSWPBSWPBDOUTDINSSSSufRINROUTSWPBSWPBSWPBSWPBSSSSDConnectorSWPBSWPBSWPBSWPBhUAhLSuhAAhTitleSizeNumberRevisionBDate:NovSheetof寇经纬PCBMyDesignddbDrawnBy:File:E:基于传感器的智能压力检测系统设计PCB版图基于传感器的智能压力检测系统设计附件程序代码相关源程序如下:********************************************************压力测试仪系统描述输入kPA压力信号输出hffh数字信号(adc)在LCD上显示实际的压力值如果超限则报警线性区间标度变换公式:y=()()*Xkpa作者:单位:日期:********************************************************#include<regh>#include<intrinsh>#include<absacch>#include<mathh>#defineucharunsignedchar#defineuintunsignedint#defineBUSYx常量定义#defineDATAPORTPADC的引脚基于传感器的智能压力检测系统设计sbitADCS=P^ADCchipseclectsbitADDI=P^ADCkinsbitADDO=P^ADCkoutsbitADCLK=P^ADCclocksignalsbitLCMRS=P^sbitLCMRW=P^sbitLCMEN=P^ucharaddata采样值存储sbitAlarmledred=P^超过压力表量程最大值红色led报警定义sbitAlarmledgreen=P^低于压力表量程最小值绿色led报警定义adc采样值存储单元charpressdata标度变换存储单元unsignedcharadalarm报警值存储单元unsignedcharpressbai=显示值百位unsignedcharpressshi=显示值十位unsignedcharpressge=显示值个位unsignedcharpressdot=显示值十分位ucharcodestr={"Press:kpa"}ucharcodestr={"Check:KouJW"}voiddelay(uint)voidlcdwait(void)voiddelayLCM(uint)LCD延时子程序voidinitLCM(void)LCD初始化子程序voidlcdwait(void)基于传感器的智能压力检测系统设计LCD检测忙子程序voidWriteCommandLCM(ucharWCLCM,ucharBusyC)写指令到ICM子函数voidWriteDataLCM(ucharWDLCM)写数据到LCM子函数voidDisplayOneChar(ucharX,ucharY,ucharDData)显示指定坐标的一个字符子函数voidDisplayListChar(ucharX,ucharY,ucharcode*DData)显示指定坐标的一串字符子函数voiddisplay(void)系统显示子函数ucharAdc(unsignedcharchannel)voidalarm(void)voiddatapro(void)**********mainfuncation************voidmain(void){delay()系统延时ms启动addata=采样值存储单元初始化为initLCM()WriteCommandLCM(x,)清显示屏DisplayListChar(,,str)DisplayListChar(,,str)while(){addata=Adc()采样值存储单元初始化为基于传感器的智能压力检测系统设计alarm()datapro()display()}}*********延时K*ms,mhz**********voiddelay(uintk){uinti,jfor(i=i<ki){for(j=j<j){}}}**********写指令到ICM子函数************voidWriteCommandLCM(ucharWCLCM,ucharBusyC){if(BusyC)lcdwait()DATAPORT=WCLCMLCMRS=选中指令寄存器LCMRW=写模式LCMEN=nop()基于传感器的智能压力检测系统设计nop()nop()LCMEN=}**********写数据到LCM子函数************voidWriteDataLCM(ucharWDLCM){lcdwait()检测忙信号DATAPORT=WDLCMLCMRS=选中数据寄存器LCMRW=写模式LCMEN=nop()nop()nop()LCMEN=}***********lcm内部等待函数*************voidlcdwait(void){DATAPORT=xff读LCD前若单片机输出低电平,而读出LCD为高电平,则冲突,Proteus仿真会有显示逻辑黄色LCMEN=LCMRS=LCMRW=nop()基于传感器的智能压力检测系统设计nop()nop()while(DATAPORTBUSY){LCMEN=nop()nop()LCMEN=nop()nop()}LCMEN=}**********LCM初始化子函数***********voidinitLCM(){DATAPORT=delay()WriteCommandLCM(x,)三次显示模式设置不检测忙信号delay()WriteCommandLCM(x,)delay()WriteCommandLCM(x,)delay()WriteCommandLCM(x,)bit数据传送行显示*字型检测忙信号WriteCommandLCM(x,)关闭显示检测忙信号WriteCommandLCM(x,)清屏检测忙信号WriteCommandLCM(x,)显示光标右移设置检测忙信号基于传感器的智能压力检测系统设计WriteCommandLCM(xc,)显示屏打开光标不显示不闪烁检测忙信号}****显示指定坐标的一个字符子函数****voidDisplayOneChar(ucharX,ucharY,ucharDData){Y=X=if(Y)X|=x若y为(显示第二行)地址码XX|=x指令码为地址码XWriteCommandLCM(X,)WriteDataLCM(DData)}*******显示指定坐标的一串字符子函数*****voidDisplayListChar(ucharX,ucharY,ucharcode*DData){ucharListLength=Y=xX=xfwhile(X<){DisplayOneChar(X,Y,DDataListLength)ListLengthX}}基于传感器的智能压力检测系统设计*****************系统显示子函数*****************voiddisplay(void){WriteCommandLCM(xc,)显示屏打开光标不显示不闪烁检测忙信号DisplayListChar(,,str)DisplayListChar(,,str)DisplayOneChar(,,pressbaix)DisplayOneChar(,,pressshix)DisplayOneChar(,,pressgex)DisplayOneChar(,,pressdotx)delay()稳定显示}************读ADC函数************采集并返回ucharAdc(unsignedcharchannel)AD转换返回结果{uchari=ucharjuintdat=ucharndat=if(channel==)channel=if(channel==)channel=ADDI=基于传感器的智能压力检测系统设计nop()nop()ADCS=拉低CS端nop()nop()ADCLK=拉高CLK端nop()nop()ADCLK=拉低CLK端,形成下降沿nop()nop()ADCLK=拉高CLK端ADDI=channelxnop()nop()ADCLK=拉低CLK端,形成下降沿nop()nop()ADCLK=拉高CLK端ADDI=(channel>>)xnop()nop()ADCLK=拉低CLK端,形成下降沿ADDI=控制命令结束nop()nop()dat=for(i=i<i){dat|=ADDO收数据ADCLK=nop()基于传感器的智能压力检测系统设计nop()ADCLK=形成一次时钟脉冲nop()nop()dat<<=if(i==)dat|=ADDO}for(i=i<i){j=j=j|ADDO收数据ADCLK=nop()nop()ADCLK=形成一次时钟脉冲nop()nop()j=j<<ndat=ndat|jif(i<)ndat>>=}ADCS=拉低CS端ADCLK=拉低CLK端ADDO=拉高数据端,回到初始状态dat<<=dat|=ndatreturn(dat)returnadk}voiddatapro(void){基于传感器的智能压力检测系统设计unsignedinttempfloatpressif(<addata<)当压力值介于kpa到kpa之间时遵循线性变换{intvary=addatay=()()*Xkpapress=(()*vary)测试时补偿值为temp=(int)(press*)放大倍便于后面的计算pressbai=temp取压力值百位pressshi=(temp)取压力值十位pressge=((temp))取压力值个位pressdot=((temp))取压力值十分位}}*****************报警子函数*******************voidalarm(void){if(addata>=)如果当前压力值大于kpa{Alarmledred=delay()Alarmledred=基于传感器的智能压力检测系统设计}则启动redled报警else{Alarmledred=}关闭redled报警if(addata<=)如果当前压力值小于kpa{Alarmledgreen=delay()Alarmledgreen=}则启动greenled报警else{Alarmledgreen=}关闭greenled报警}成都理工工程技术学院毕业论

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/58

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利