基于MPX4115的数字压力测量仪器设计说明书_第1页
基于MPX4115的数字压力测量仪器设计说明书_第2页
基于MPX4115的数字压力测量仪器设计说明书_第3页
基于MPX4115的数字压力测量仪器设计说明书_第4页
基于MPX4115的数字压力测量仪器设计说明书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、word文档整理分享大作业说明书基于MPX4115勺数字压力测量仪器设计学生姓名:xxx学生学号:08372专业:测控技术与仪器指导教师:程xx参考资料word文档整理分享(一)系统总体设计1:设计整体思想基于MPX4115的数字气压计包括软硬件的设计与调试。软件部分通过对C语言的学习和对单片机知识的了解,根据系统的特点编写出单片机程序。硬件部分分为四大块,包括非电信号数据的采集、转换、处理以及显示:。通过对设计的了解,选择适合的器件,画出原理图。2:系统总体框图硬件部分由四部分构成,它们分别是:信息采集模块,数据转换模块,信息处理模块和数据显示模块。(二)硬件电路设计及描述1:数字压力测量仪

2、设计意义压力测量仪被广泛应用于国防领域、工业领域、医疗领域以及我们日常家庭生活中。其中的核心元件就是压力传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。本系统设计的数字压力测量仪采用单片机控参考资料word文档整理分享制,具有使用方便、精度高、显示简单和灵活性等优点,而且可以大幅提高被控气压的技术指标,从而能够大大提高产品的质量2:数据采集模块的芯片选择压力传感器对于系统至关重要,需要综合实际的需求和各类压力传感器的性能参数加以选择。一般要选用有温度补偿作用的压力传感器,因为温度补偿特性可以克服半导体压力传感器件存在的温度漂移问题。本设计要实现的数字气压计显示的是绝

3、对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的压力传感器。经过综合考虑,本设计选用美国摩托罗拉公司的集成压力传感器。MPX4115T以产生高精度模拟输出电压。数据采集模块由压力传感器MPX4115勾成。其中1脚是输出信号端,输出的是与气压值相对应的模拟电压信号。数据采集模块的原理如图、气压传感器MPX4115勺原理MPX411陈列压电电阻传感器是一个硅压力传感器。这个传感器结合了高级的微电机技术,薄膜镀金属。还能为高水准模拟输出信号提供一个均衡压力。在0C-85c的温度下误差不超过1.5%,温度补偿是-40C-125C。参考资料word文档整理分享3:单片机控制

4、模块由AT89C51单片机、时钟电路、复位电路组成AT89C5建一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshProgrammableandErasableReadOnlyMemory的低电压,高性能CMOS粒微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEH密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPLW闪烁存储器组合在单个芯片中,ATMEL勺AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

5、AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。a“*.LJl13口.囚3#smkcoeolHe寸口心口一口用匕己QQCiCiOQODxXHHtt?Ct四w演热甘»籍鬻杀及宾川称qqowcdN寸肛32口七?倒中户黑痴oaoooooo口口黑黑PkkS1e66rletdfci4<1-m1UB口卡01内寸心9N匕g9Wd4LLLLLLLLxX型CLOlliClCldtLtLClCl.Cl391a,3632L36a35343332i22i23l8iiH2512E1127r1261dO-;11131314615716817«-.ATS9VS1.<TEX

6、T*.1T4:A/D转换模块ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。8位分辨率双通道A/D转换输入输出电平与TTL/CMO$目兼容5V电源供电时输入电压在05V之间工作频率为250KHz转换时间为32ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32p

7、S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CSCLKDODI。但由于DO®与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC083抹工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向

8、芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,其功能项见官方资料。如资料所示,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、参考资料word文档整理分享“0”时,将CH0(乍为正/&入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0乍为负卒&入端IN-,CH1作为正输入端IN+进行输入。到第3个脉冲

9、的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO®输出转换数据最高位DATA7随后每一个脉冲下沉DO®输出下一位数据。直到第11个脉冲时发出最低位数据DATA0一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832勺输入电压是05V且8位分辨率时的电压精度为19.53mM如

10、果彳为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00Ho5:显示模块采用LED动态扫描显示原理如下:(1)P2&P22、P21、P20输出高电平,关闭所有数码管;(2)显示个位一一把要显示的数据送到P10P17P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平;(3)显示十位一一把要显示的数据送到P10P17P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平;(4)显示百位一一把要显示的数

11、据送到P10P17P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平;(5)显示千位一一把要显示的数据送到P10P17P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。(6)以此顺序循环,把它做成子程序,在主循环中调用。现已DS8为个位来讨论,十、百、千为分别为DS7DS6DS51、首先要了解的是此数码管为共阴极数码管,即三极管Q16Q15Q14Q13导通时数码管才能点亮,亦即相应的单片机P23P22、P21、P20为低电平。2、动态扫描显示原理如下:(1)P2&P22、P21、P20输出高电平,关闭所有数码管;(2)显示个位一一把

12、要显示的数据送到P10P17P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平;(3)显示十位一一把要显示的数据送到P10P17P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平;(4)显示百位一一把要显示的数据送到P10P17P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平;(5)显示千位一一把要显示的数据送到P10P17P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。(6)以此顺序循环,把它做成子程序,在主循环中调用6:系统总体电路图参考资料word文档整理分享ABCDEFGDF1

13、2340:A:11a_31311团1121a4例MALtPCIMJ而PU.gi1POJMD2JfTAUfd帕.血”FC3FUJM06ASTPfl.TMTP2£W3咽用白屋纲口建好11ftLtP2.M12歌想熟门/岫I4建才洒悔fliaPSlSfiJtD11P3-1TOD12PJilNTDA1JAUP3.W13P3.5fll阳礴EIlJ/ffDAC:51iebDE'田DD2京STSKD31更口最至Di31D5730DSB32D7S(三)软件设计流程图初始化函数系统总流程图参考资料A/D转换器进行A/D转换A/D转换程序流程图word文档整理分享显示流程图主程序voidmain(

14、void)(while(1)unsignedinttemp;floatpress;getdata=Adc0832(0);if(14<getdata<243)115kpa之间时,遵循线性变换intvary=getdata;/y=(115-15)/(243-13)*X+15kpapress=(10.0/23.0)*vary)+9.3;主函数流程图/当压力值介于15kpa到/测试时补偿值为9.3temp=(int)(press*10);面的计算/放大10倍,便于后dispbuf3=temp/1000;dispbuf2=(temp%1000)/100;dispbuf1=(temp%1000

15、)%100)/10;dispbuf0=(temp%1000)%100)%10;display();/取压力值百位/取压力值十位/取压力值个位/取压力值十分位参考资料word文档整理分享LED显示程序#defineuintunsignedint#defineucharunsignedchar/ADC0832的弓I脚sbitADCS=P2A0;/ADC0832chipseclectsbitADDI=P3A7;/ADC0832kinsbitADDO=P3A7;/ADC0832koutsbitADCLK=P3A6;/ADC0832clocksignalunsignedchardispbitcode8=

16、0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f;/位扫描unsignedchardispcode11=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0803072080x82,0xF8,0x80,0x90,0xff);/共阳数码管字段码unsignedchardispbuf4;uinttemp;uchargetdata;/获取ADC转换回来的值voiddelay_1ms(void)/12mhzdelay1.01ms.unsignedcharx,y;x=3;while(x-)y=40;while(y-);voiddisplay(void)/数码管显示

17、函数chark;for(k=0;k<4;k+)P1=dispbitcodek;P0=dispcodedispbufk;if(k=1)/加上数码管的dp小数点P0&=0x7f;delay_1ms();.参考资料word文档整理分享A/D转换程序转换,返回结果unsignedintAdc0832(unsignedcharchannel)/AD(uchari=0;ucharj;uintdat=0;ucharndat=0;if(channel=0)channel=2;if(channel=1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;/拉低CS端_n

18、op_();_nop_();ADCLK=1;/拉高CLK端_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿1_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿2_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿3ADDI=1;/控制命令结束_nop_();_nop_();dat=0;for(i=

19、0;i<8;i+)(dat|=ADDO;/收数据ADCLK=1;_nop_();参考资料word文档整理分享_nop_();ADCLK=0;/形成一次时钟脉冲_nop_();_nop_();dat<<=1;if(i=7)dat|=ADDO;)for(i=0;i<8;i+)j=0;j=j|ADDO;/收数据ADCLK=1;_nop_();_nop_();ADCLK=0;/形成一次时钟脉冲_nop_();_nop_();j=j<<7;ndat=ndat|j;if(i<7)ndat>>=1;)ADCS=1;/拉彳氐CS端ADCLK=0;/拉低CL

20、K端ADDO=1;/拉高数据端,回到初始状态dat<<=8;dat|=ndat;return(dat);/returnad5.源程序代码:压力测试仪系统描述;输入15-115kPA压力信号输出00h-ffh数字信号(adc0832)080307208在LED上显示实际的压力值,如果超限则报警#include<reg51.H>#include"intrins.h"#defineuintunsignedint#defineucharunsignedchar/ADC0832的弓I脚sbitADCS=P2A0;/ADC0832chipseclect参考资料w

21、ord文档整理分享sbitADDI=P3A7;/ADC0832kinsbitADDO=P3A7;/ADC0832koutsbitADCLK=P3A6;/ADC0832clocksignal080307208unsignedchardispbitcode8=0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f;/位扫描unsignedchardispcode11=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;/共阳数码管字段码unsignedchardispbuf4;uinttemp;uchargetdat

22、a;/获取ADC转换回来的值voiddelay_1ms(void)/12mhzdelay1.01ms.unsignedcharx,y;x=3;while(x-)y=40;while(y-);voiddisplay(void)/数码管显示函数chark;for(k=0;k<4;k+)P1=dispbitcodek;P0=dispcodedispbufk;if(k=1)/加上数码管的dp小数点P0&=0x7f;delay_1ms();./*读ADC08328数*/采集并返回unsignedintAdc0832(unsignedcharchannel)/AD转换,返回结果参考资料wor

23、d文档整理分享(uchari=0;ucharj;uintdat=0;ucharndat=0;if(channel=0)channel=2;if(channel=1)channel=3;ADDI=1;_nop_();_nop_();ADCS=0;/拉低CS端_nop_();_nop_();ADCLK=1;拉高CLK端_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿1_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=channel&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿2_nop_();_nop_();ADCLK=1;/拉高CLK端ADDI=(channel>>1)&0x1;_nop_();_nop_();ADCLK=0;/拉低CLK端,形成下降沿3ADDI=1;/控制命令结束_nop_();_nop_();dat=0;for(i=0;i<8;i

温馨提示

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

评论

0/150

提交评论