MPX4115实验报告.doc

上传人:rrsccc 文档编号:8877348 上传时间:2021-01-22 格式:DOC 页数:10 大小:515KB
返回 下载 相关 举报
MPX4115实验报告.doc_第1页
第1页 / 共10页
MPX4115实验报告.doc_第2页
第2页 / 共10页
MPX4115实验报告.doc_第3页
第3页 / 共10页
MPX4115实验报告.doc_第4页
第4页 / 共10页
MPX4115实验报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MPX4115实验报告.doc》由会员分享,可在线阅读,更多相关《MPX4115实验报告.doc(10页珍藏版)》请在三一文库上搜索。

1、 MPX4115课程设计报告 系 别: 电子信息工程系 专 业: 计算机控制技术 学生姓名: 学 号:2 0 1 1 3 0 43目录一、设计思路2二、系统方案论证与选型22.1控制器部分22.2 数据采集部分22.2.1.数据采集模块的芯片选择22.2.2.数据采集模块的原理图22.2.3气压传感器MPX4115的原理32.3数据转换模块32.3.1模数转换芯片选择32.3.2数据转换电路部分原理图32.4 数据处理模块42.4.1数据处理芯片的选择42.4.2 AT89C51引脚及功能42.5 显示模块及芯片5三、硬件设计53.1 总体规划53.2 主控制器电路 63.3 模数转换器63.

2、4 数据处理6四、软件设计64.1系统应用程序组成64.2主程序流程图 如图8为: 7附录17附录28附录39一、设计思路利用压力传感器采集因压力变化而产生的电压信号,然后经模数转换器转换成数字信号最后把数字信号送入单片机。单片机经过处理后得出当前气压值,然后在LCD上显示。主要技术指标为:15-115kpa,分度值为0.1kpa.二、系统方案论证与选型 系统由控制器,测量,数模转换和显示4部分组成。系统设计方框图如图1所示LCD显示单片机AT89C51处理模数转换器压力传感器图12.1控制器部分测量部分是利用传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路

3、,差动放大电路,)处理后,送单片机中的A/D转换器,将模拟量转化为数字量输出,控制器接受来自A/D转换器输出的数字信号,经过复杂的运算,将数宁信号转换为实际的大气压强,并将其送到显示单元中。本实验选用89C51单片机,该单片机的参数是:主要包括具有64KB寻址空间,4KB程序存储单元,RAM(256个字节);2个定时器,2个中断口,1个UARST串口,外部晶振12M,机器周期1,程序指令周期个机器周期以上,即内程序指令执行调试小于,V供电,IO口除P0需外接电阻外,其它都可直接驱动电平输出,但是电流驱动能力小于10mA,因此驱动10mA以上器件,需外接三极管或者MOS管驱动 。该单片机的特点是

4、: 优异的性价比 集成度高,体积小,有很高的可靠性图2 控制功能强扩展性能好,非常容易构成各种应用系统。电路如图2:2.2 数据采集部分2.2.1.数据采集模块的芯片选择 气压传感器对于系统至关重要,需要综合实际的需求和各类气压传感器的性能参数加以选择。一般要选用有温度补偿作用的气压传感器,因为温度补偿特性可以克服半导体压力传感器件存在的温度漂移问题。绝对气压值对应的既是实际的气压值,显然本设计要实现的数字气压计需要能测量绝对气压值的气压传感器。本设计要实现的数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的气压传感器。经过综合考虑,本设计选用美

5、国摩托罗拉公司的集成压力传感器。MPX4115可以产生与所加气压呈线性关系高精度模拟输出电压。2.2.2.数据采集模块的原理图数据采集模块由气压传感器MPX4115构成,采集的是大气压值。其中1脚是输出信号端,输出的是与气压值相对应的模拟电压信号。数据采集模块的图3原理如图3所示。2.2.3气压传感器MPX4115的原理 MPX4115系列压电电阻传感器是一个硅压力传感器。这个传感器结合了高级的微电 机 技 术,薄 膜 镀 金 属。还 能 为 高 水 准 模 拟 输 出 信 号 提 供 一 个 均 衡 压 力 。在 0-85的温度下误差不超过1.5% 温度补偿是-40-125。 气压传感器MP

6、X4115的管脚说明如表1所示:表1 气压传感器MPX4115的管脚说明气压传感器MPX4114的特性参数如表2所示:表2 气压MPX4115的特性参数2.3数据转换模块2.3.1模数转换芯片选择 气压传感器MPX4115 输出的是模拟电压,因此,必须进行模拟到数字的转换才能交由单片处理。关于A/D转换,本实验采用一种电压频率转换电路来实现模拟电压数字化的处理。针对电路的实际需求,并考虑到外围电路实现的难易程度和相应的性能指标,选用芯片LTC1297来实现A/D转换。2.3.2数据转换电路部分原理图 LTC1297是一款高精度电压频率转换芯片,是一款集成有一个12位,带有开关电容的逐次逼近式的

7、A/D转换器;一个在(+)输入端具有“采样-保持”功能的差分输入端口;以及一个串行I/O端口。LTC1297在每次转换工作之间都会自动掉电处于休眠状态,以将所消耗的电流减少到5uA(标准情况下)。LTC1297能够将所进行数字化转换后的信号以60KHz的速率输出。并且因其优秀的交流特性,它也能作为DSP来使用。内部的串行口可以在不借助任何外围硬件的情况下同大多数MPU串口和所有MPU并口进行通信,这样的通信通过三线形式来实现。因为他们的高精度,便捷的小巧尺寸,该款元件能很好地适应各类数模转换环境,尤其对于要求使用最少的互连数量以及最小的功耗的情况。数 据 转 换 模 块 原 理 图 如 图 4

8、 所 示 图4LTC1297各引脚说 明:引脚 1为片选输入:该引脚上的逻辑低电平将使能LTC芯片,该引脚上的高电平将使芯片处于掉电状态。引脚 2 ,3 模拟输入端:输入必须是无噪音的(相对于GND)。引脚 4 GND模拟地:GND必须直接连接到模拟地。引脚 5 参考电压输入端:参考输入定义了A/D的跨度,并且它必须相对于GND而言没有噪音干扰。引脚 6 数字信号输出端:A/D转换结果通过该引脚输出。引脚 7 转换时钟:该时钟同步与串行数据传输。引脚 8 反向供电端:该电源必须没有噪声和纹波,这一点通过直接连接旁路电容到模拟地来实现。2.4 数据处理模块 2.4.1数据处理芯片的选择 对于LT

9、C1297 输出的频率信号要经过单片机的数据处理,通过频率与气压之间的关系计算出气压值。AT89C51单片机最为核心的部分是中央处理器CPU,它由运算器和控制逻辑构成,其中包括若干特殊功能寄存器。AT89C51是一款低电压,高性能CMOS8位 单 片 机,片 内 含 4kbytes的 可 反 复 擦 写 的 只 读 程序 存 储 器(PEROM) 和128byte的随机存取数据存储器(RAM),器件用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可

10、灵活应用于各种控制领域。本课题中选用AT89C51单片机来实现. 2.4.2 AT89C51引脚及功能图5 AT89C51引脚如图5P0口:P0口是一组8位漏极开路型双向I/O口,也 即 地 址/数据总线复用口。作为输出口用时,每位能驱动8TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存 器时,这组口线分时转换地址(低8位)和 数 据 总 线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门

11、电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(TTL)。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR 指令)时P2口送出高8位 地 址 数据。在 访 问 8位地址的外

12、部数据存储器(如执行MOVX RI指令)时,P2口线上的内容(也即特殊功能寄存器区R2寄存器的内容),在 整 个 访 问 期 间 不 改 变。Flash编程或校验时,P2 亦接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3口输出缓冲级可驱动4TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3 表3 P3口的第二功能2.5 显示模块及芯片 选择LCD12232作为显示器。 LCD12232的参数是

13、:VDD:逻辑电源正 GND(VSS): 逻辑电源地 VO(VEE):LCD驱动电源 RESET:复位端,对于68系列MPU:上升沿(L-H)复位,且复位后电平须保持为高电(H); 对于80系列MPU:下降沿(H-L)复位,且复位后电平须保持为低电平(L)。 E1:读写使能。对于68系列MPU,连接使能信号引脚,高电平有效; 对于80系列MPU,连接/RD引脚,低电平有效。 E2:同E1引脚。 R/W:读写选择,对于68系列MPU,高电平时读数据,低电平时写数据; 对于80系列MPU,低电平时允许数据传输,上升沿时锁定数据。 A0:数据/指令选择 高电平:数据D0-D7将送入显示RAM; 低电

14、平:数据D0-D7将送入指令执行器执行。 D0-D7:数据输入输出引脚。 BL+/BL-:LED背光电源。三、硬件设计 3.1 总体规划该系统采用压力传感器进行测量,得出模拟信号;送入LTC模数转换器中进行处理,然后送入单片机进行数据处理,最后由LCD显示出来。由控制器部分、测量部分、数据显示部分和模数转换部分组成。 3.2 主控制器电路 图6选择89C51单片机作为主控制器。连接如图6,P0端口接LCD显示器的D0-D7脚,P2.0接LCD 的A0口,P2.1接LCD的E1端口,P2.2接LCD的E2口,P1.0接LTC的片选信号口,P1.1接LTC的时钟信号口,P1.2接LTC的输出口。

15、3.3 模数转换器LTC1297的参数:输入电压VCC-GND:12v电压 模拟及参考输入:-0.3v到VCC+0.3v 数字输入:-0.3v到12v 数字输出:-0.3v到VCC+0.3v芯片保存温度:-65到150引脚焊接温度(10秒焊接时间):300对于LTC1297,在变位低后,8051代码中需要加入四个空指令,这么做是为了能让LTC1297从掉电状态中醒来。LTC1297的取数据程序:uint ReadADC() uint i,dat=0;ADC_CS=0;ADC_CLK=0; _nop_();_nop_();_nop_();_nop_();ADC_CLK=1; _nop_();_n

16、op_();ADC_CLK=0; _nop_();_nop_();for(i=0;i12;i+)ADC_CLK=1;_nop_();_nop_();ADC_CLK=0;_nop_();_nop_();dat=(dat1)|ADC_DIO; ADC_CS=1;return dat;3.4 数据处理 因为1.电压为0时,对应模数转换后为0;2.电压为5v时,对应模数转换为2=4096.所以1.当气压传感器的值为15Kpa时,输出电压为0.267445v,此时对应模数转换为218.7264; 2.当气压传感器的值为115Kpa时,输出电压为4.7646v,此时对应的模数转换为3903.16032.综

17、上所述:要使LCD上显示的和气压传感器测出来的值相同,则必须把经过模数转换后的数进行处理,得到公式:A=(ReadADC()-404)/3.68+200;四、软件设计 4.1系统应用程序组成 本设计采用C语言编程,编译环境为keil UV4。软件主要两个方面:一是初始化系统;二是数据采集、数据处理并进行显示。这两个方面的操作分别在主程序中来进行。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。程序结构如图7所示初始化延时程序开始主程序图7Lcd清屏写指令写数据A/D转换模块数据处理模块显 示 模 块初始化模块 数据处理A/D转换Lcd初始化显示4.2主程序流程图 如

18、图8为: 图8附录1unsigned char i;LCDcmd(0xB8|Page);/设置主控制器页地址LCDcmd(0x00); /设置主控制器列地址for(i=0;i61;i+)LCDdata(0,0x00);for(i=0;i61;i+)LCDdata(1,0x00);/*LCD初始化*/void lcdini()LCDcmd(0xE2);/复位LCDcmd(0xAE);/关显示LCDcmd(0xA4);/正常驱动模式LCDcmd(0xA9);/占空比为1/32(即32行液晶显示驱动)LCDcmd(0xA1);/设定列驱动与液晶列数据口连接方式LCDcmd(0xEE);/正常读写模式

19、clrscr(0);/擦除0页clrscr(1);/擦除1页clrscr(2);/擦除2页clrscr(3);/擦除3页/*写LCD字符串*/uint ReadADC() uint i,dat=0;ADC_CS=0;ADC_CLK=0; _nop_();_nop_();_nop_();_nop_(); ADC_CLK=1; _nop_();_nop_(); ADC_CLK=0; _nop_();_nop_();for(i=0;i12;i+) ADC_CLK=1;_nop_();_nop_(); ADC_CLK=0;_nop_();_nop_();dat=(dat1)|ADC_DIO; #inc

20、lude /调用头文件#include #include font.h;/调用字库文件 sfr DATAport=0x80;/定义LCD12232数据口sbit A0=P20;/写(数据/指令)(1/0)选择sbit E1=P21;/LCD左边使能sbit E2=P22;/LCD右边使能sbit RW=P23;/(读/写)(1/0)状态选择sbit ADC_CS =P10;sbit ADC_CLK=P11;sbit ADC_DIO =P12;void delay(uchar x)unsigned char i;while(x-)for(i=65530; i0; i-);/*写指令*/void

21、LCDcmd(uchar temp)delay(2);E1=0;/禁止控制器E2=0;A0=0;/写指令模式RW=0;/写使能E1=1;/控制器使能E2=1;DATAport=temp;/写指令E1=0;/写完后,禁止控制器E2=0;/*写数据*/void LCDdata(bit lcde,uchar temp)delay(2);E1=0;/禁止控制器 E2=0;LCDcmd(0xAF);/开显示A0=1;/写数据模式RW=0;/写使能E1=lcde;/(lcde=0/1)(左/右)控制器使能E2=lcde;DATAport=temp; /写数据E1=0;/写完后,禁止主控制器E2=0;/*L

22、CD清屏*/void clrscr(uchar Page) for(i=0;i8;i+) LCDdata(0,tab1a%10i*2+j%2); for(i=0;i8;i+)LCDdata(0,tab111i*2+j%2); /kfor(i=0;i8;i+)LCDdata(0,tab112i*2+j%2); /pfor(i=0;i6;i+)LCDdata(0,tab113i*2+j%2); /afor(i=6;i8;i+)LCDdata(1,tab113i*2+j%2); /a void main()uint A=0;delay(1);/LCD复位前适当延时,保证LCD复位成功lcdini()

23、;/LCD复位while(1) Lcdshow1(); A=(ReadADC()-404)/3.68+200;Lcdshow2(A); ADC_CS=1; return dat;void Lcdshow1() /气压uchar i,j;for(j=0;j2;j+)LCDcmd(0xB8|j);/第j页显示LCDcmd(0x00);/设置列开始地址for(i=0;i40;i+)/写上半部分 LCDdata(0,tab20i*2+j%2);void Lcdshow2(a) /uchar i,j;for(j=2;j4;j+) LCDcmd(0xB8|j);/第j页显示 LCDcmd(0x00);/设

24、置列开始地址 for(i=0;i8;i+)/写上半部分 LCDdata(0,tab1a/1000i*2+j%2); for(i=0;i8;i+) LCDdata(0,tab1(a/100)%10i*2+j%2); for(i=0;i8;i+) LCDdata(0,tab1(a/10)%10i*2+j%2); for(i=0;i8;i+) LCDdata(0,tab110i*2+j%2);附录2#define uint unsigned int#define uchar unsigned charuint code tab116=0x00,0x00,0xE0,0x0F,0x10,0x10,0x0

25、8,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*0,0*/0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*1,1*/0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00,/*2,2*/0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x

26、00,0x00,/*3,3*/0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00,/*4,4*/0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00,/*5,5*/0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00,/*6,6*/0x00,0x00,0x38,0x00,0x08

27、,0x00,0x08,0x3F,0xC8,0x00,0x38,0x00,0x08,0x00,0x00,0x00,/*7,7*/0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,/*8,8*/0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00,/*9,9*/0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x0

28、0,0x00,0x00,0x00,/*.,10*/0x08,0x20,0xF8,0x3F,0x00,0x24,0x00,0x02,0x80,0x2D,0x80,0x30,0x80,0x20,0x00,0x00,/*k,11*/0x80,0x80,0x80,0xFF,0x00,0xA1,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x0E,0x00,0x00,/*p,12*/0x00,0x00,0x00,0x19,0x80,0x24,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x3F,0x00,0x20,/*a,13*/;uint code

29、tab216=0x20,0x00,0x10,0x00,0x4C,0x00,0x47,0x00,0x54,0x00,0x54,0x00,0x54,0x00,0x54,0x00,0x54,0x00,0x54,0x00,0x54,0x00,0xD4,0x0F,0x04,0x30,0x04,0x40,0x00,0xF0,0x00,0x00,/*气,0*/0x00,0x80,0x00,0x60,0xFE,0x1F,0x02,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFA,0x7F,0x82,0x40,0x82,0x40,0x82,0x44,0x82,0x58,0x82,0x40,0x02,0x40,0x00,0x00,/*压,1*/0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,/*:,2*/附录3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1