课程设计高原数字气压测试器.docx

上传人:b****2 文档编号:2706691 上传时间:2023-05-04 格式:DOCX 页数:18 大小:870.18KB
下载 相关 举报
课程设计高原数字气压测试器.docx_第1页
第1页 / 共18页
课程设计高原数字气压测试器.docx_第2页
第2页 / 共18页
课程设计高原数字气压测试器.docx_第3页
第3页 / 共18页
课程设计高原数字气压测试器.docx_第4页
第4页 / 共18页
课程设计高原数字气压测试器.docx_第5页
第5页 / 共18页
课程设计高原数字气压测试器.docx_第6页
第6页 / 共18页
课程设计高原数字气压测试器.docx_第7页
第7页 / 共18页
课程设计高原数字气压测试器.docx_第8页
第8页 / 共18页
课程设计高原数字气压测试器.docx_第9页
第9页 / 共18页
课程设计高原数字气压测试器.docx_第10页
第10页 / 共18页
课程设计高原数字气压测试器.docx_第11页
第11页 / 共18页
课程设计高原数字气压测试器.docx_第12页
第12页 / 共18页
课程设计高原数字气压测试器.docx_第13页
第13页 / 共18页
课程设计高原数字气压测试器.docx_第14页
第14页 / 共18页
课程设计高原数字气压测试器.docx_第15页
第15页 / 共18页
课程设计高原数字气压测试器.docx_第16页
第16页 / 共18页
课程设计高原数字气压测试器.docx_第17页
第17页 / 共18页
课程设计高原数字气压测试器.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

课程设计高原数字气压测试器.docx

《课程设计高原数字气压测试器.docx》由会员分享,可在线阅读,更多相关《课程设计高原数字气压测试器.docx(18页珍藏版)》请在冰点文库上搜索。

课程设计高原数字气压测试器.docx

课程设计高原数字气压测试器

目录

摘要:

1

0前言1

1绪论2

1.1课题在国内基本状况2

1.2本课题的研究意义2

1.3本课题相关理论综述3

2系统总体设计3

2.1设计思路分析3

2.2系统总体结构4

2.3系统各功能模块介绍4

3硬件设计12

3.1硬件电路12

3.2BMP085与单片机的接口电路12

3.3单片机主控电路13

3.4LCD1602接口电路14

3.5程序流程图15

3.6实物图16

4结论16

参考文献17

高原数字气压测试器

(河南大学物理与电子学院,河南开封,475004)

摘要:

本设计介绍了一种用气压传感器BMP085与STC89C52单片机相结合的气压计设计方法。

通过气压传感器获得与气压相对应的模拟电压值,再通过BMP085气压传感器内置的模块的转化和处理,以及单片机对其的控制,获得当前的气压值,并通过1602液晶显示模块显示。

本设计以C语言为开发工具,进行了相关的设计与编程,总体实现了系统功能的可靠性、稳定性、经济性。

关键词:

气压传感器;气压计;BMP085;单片机

Withdigitaldisplayofplateaupressuremeasuringdevice

Jinchao

(SchoolofPhysicsandElectronics,HenanUniversity,HenanKaifeng475004,China)

Abstract:

ThisdesigndescribesthedesignofprecisenumericalbarometerbasedonBMP085,givingtheachieve-methodofsoftandhardwareObtainthevalueofanalogvoltageaccordingtotheairpressureviaBMP085,andthenhandybythecorrespondingmodulebuiltintotheBMP085pressuresensor,andtheMicrocomputercontrolstheprocess.TheresultswilldisplayedontheLCD1602.Onthesystemsoftwaredesign,developmenttoolsisCprogramminglanguage,Theobjectiveistoachievesystemreliability,stability,securityandeconomy.

Keywords:

PressuresensorBarometerMCUBMP085

0前言

随着国家经济不断的提高,国人的生活水平也得到了极大的改善,越来越多的人吧注意力放到了户外旅游上面。

特别近年来很多人喜欢到像西藏这些高海拔,高气压的地方旅游,虽然那里美丽的风景吸引着不断到来的游客但是也逐渐凸显出一些游客身体无法适应这样高海拔,高大气气压的问题。

因此,开发这样一个测量大气气压的仪器便可帮助人们避免这些问题,这也是我毕业设计的课题。

1绪论

1.1课题在国内基本状况

常见气压计有液体气压计和盒式气压计。

常见的液体气压计有水银气压计和酒精气压计这两种,这两种都是老式的气压计,体积大,精度低,不方便携带且容易坏,当今社会科技高速发展,各行各业不断出现新技术新材料,气压测量领域也是这样,盒式气压计的出现部分的解决了液体气压计无法解决的缺点,比如体积、携带等等[1]。

人类社会进入20世纪90年代以后微电子行业发展极为迅速,各种各样的电子传感器被发明且被运用到各行各业,为人们的生产生活创造了极大的便利。

数字气压传感器亦已出现,并大量被运用,甚至现在很多手持设备中都已经加入了气压计功能,比如手机,GPS等,方便了人们的出行旅游[2]。

目前国际国内很多公司都推出了其数字气压传感器,如摩托罗拉公司的MPX4105和Intersema公司的MS5534b,另外还有华普微电子的HP03系列数字气压传感器以及BOSCH公司的SMD500和BMP085等等。

众多数字气压传感器的出现使得多样化的数字化气压测量装置大量出现,并越来越普及,精度也越来越高。

微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。

微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。

例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。

本次设计也将采用微控制器作为数字气压计的控制元件[3]。

气压传感器和微电子控制器的结合,可以创造出多种产品,随着科技的发展,气压计已经由以前的只有专业人士才能使用的测量器具变成今天的随处可见的电子产品,并集成到众多的电子产品中。

1.2本课题的研究意义

本课题设计充分利用了BMP085的功能,它满足数字气压计采集、控制和数据处理的需要,可提高系统稳定性和抗干扰能力。

同时,微控制和数字化气压传感器的结合可以使得气压计的设计更具灵活性,测量精度相对于液体气压计也有了显著提高,测量结果的显示也更直观,由于大量的工作由单片机软件来实现,简化了设计电路,且调整方便、可兼顾的指标多,从而大大降低了成本。

另外,由于该数字气压计的模块化设计,为仪器及电子产品设计的后续技术升级,以及进一步满足市场的需要提供了条件。

1.3本课题相关理论综述

在设计电子气压计之前首先要搞清楚气压的定义,气压是作用在单位面积上的大气压力,即等于单位面积上向上延伸到大气上界的垂直空气柱的重量,著名的马德堡半球实验证明了它的存在。

气压的国际制单位是帕斯卡,简称帕,符号是Pa。

气压的地区差别是气象变化的直接原因之一,在高处的大气层比较薄,那里的空气引力比低处要小,因此在高处的气压比在低处要低。

气压产生的成因,可以依据分子动理论分析,气体的压强是大量分子频繁地碰撞容器壁而产生的。

单个分子对容器壁的碰撞时间极短,作用是不连续的,但大量分子频繁地碰撞器壁,对器壁的作用力是持续的、均匀的,这个压力与器壁面积的比值就是压强大小。

气压的大小与海拔高度、大气温度、大气密度等有关,一般随高度升高按指数律递减。

气压有日变化和年变化:

一年之中,冬季比夏季气压高;一天中,气压有一个最高值、一个最低值,分别出现在9~10时和15~16时,还有一个次高值和一个次低值,分别出现在21~22时和3~4时。

气压日变化幅度较小,一般为0.1~0.4千帕,并随纬度增高而减小。

气压变化与风、天气的好坏等关系密切,因而是重要气象因子[4]。

2系统总体设计

2.1设计思路分析

本次设计采用集成的单片机主控,压力传感器采集到气压信号后,经过其自带的A/D转换模块和控制单元,将其处理后,送入单片机中,通过单片机的控制,将处理的结果送显示模块进行显示,其原理框图2-1所示。

 

图2-1设计方案原理图

2.2系统总体结构

本系统的总体结构框图如图2-2所示。

图2-2数字气压计系统结构框图

由图2-2可知,整个系统的工作流程是:

测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。

因此,需通过BMP085气压模块内置的A/D转换模块的转换以及其寄存器的处理和单片机的控制,最后获得实际气压值,并通过LCD1602显示。

2.3系统各功能模块介绍

2.3.1BMP085气压传感器

BMP085是BOSCH(博世)公司生产的新一代数字气压传感器,BMP085的低功耗、低电压的电学特性使它可以很好的适用于手机、PDA、GPS导航器件以及户外装备上。

BMP085在低的高度噪声(merely0.25)快速转换的情况下,表现很好。

BMP085采用强大的8脚陶瓷无引线芯片承载(LCC)超薄封装,它性能卓越,具有稳定的电磁兼容性、高精度、线性性以及稳定性,并且内置有校准补偿,绝对精度最低可以达到0.03hPa(0.25米),并且耗电极低,只有3μA。

气压测量范围从300hPa到1100hPa,换算成高度为海拔9000米到500米[5]。

BMP085是基于压阻效应技术的,它共有八个引脚,1脚(GND)接电源地,2脚(EOC)为完成转换输出,3脚(VDDA)为正电源,4脚(VDDD)为数字正电源,5脚为空,6脚(SCL)为IIC的时钟端,7脚(SDA)为IIC的数据端,8脚(XCLR)为主清除信号输入端,低电平有效,用来复位BMP085和初始化寄存器和控制器,在不用的情况下可以空置,其引脚图如图2-3所示。

图2-3BMP085引脚图

BMP085的工作电压为1.8V~3.6V,典型工作电压为2.5V,其与单片机相连的典型电路。

从上图2-4中可以看到,BMP085内包含有电阻式压力传感器、AD转换器和控制单元,其中控制单元包括了EEPROM和IIC接口。

读取BMP085时会直接传送没有经过补偿的温度值和压力值。

而在EEPROM中则储存了176位单独的校准数据。

BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。

它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3uA。

BMP085采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过IIC总线直接与各种微处理器相连,以其功能强大和性能稳定被广泛运用,这也是我选择BMP085的原因。

 

BMP085与单片机相连的典型电路

如下图2-4所示。

图2-4BMP085与单片机相连的典型电路

这些数据将对读取的温度压力值进行补偿[6]。

176位的EEPROM被划分为11个字,每个字16位,这样就包含有11个校准系数。

每个器件模块都有自己单独的校准系数,在第一次计算温度压力数据之前,单片机就应该先读出读出EEPROM中的这些校准数据,然后再开始采集数据温度和压力数据[7]。

和所有的IIC总线器件一样,BMP085也有一个器件的固定地址,根据其数据手册,出厂时默认BMP085的从机地址为0xEE(写入方向),或0xEF(读出方向)。

温度数据UT和压力数据UP都存储在寄存器的第0到15位之中,压力数据UP的精度还可扩展至16~19位。

2.3.2STC89C52单片机

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

STC89C52具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

STC89C52单片机的40条引脚按功能来分,可以分为3部分,电源及时钟引脚、控制引脚和输入/输出引脚[8]。

STC89C52主要特性:

1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.

2.工作电压:

5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

3.工作频率范围:

0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz

4.用户应用程序空间为8K字节

5.片上集成512字节RAM

6.通用I/O口(32个),复位后为:

P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片

 

STC89C52引脚图如图2-5所示。

图2-5STC89C52单片机引脚图

2.3.3LCD1602显示模块

在日常生活中,我们对液晶显示器并不陌生。

液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。

在单片机的人机交流界面中,一般的输出方式有以下几种:

发光管、LED数码管、液晶显示器。

采用液晶显示做为输出具有以下的几个优点:

(1)显示质量高。

恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。

因此,液晶显示器画质高且不会闪烁。

(2)数字式接口。

液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

(3)体积小、重量轻。

液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显。

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度。

(4)功耗低。

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。

下面详细介绍下LCD1602字符型液晶显示器,LCD1602字符型液晶显示器实物如下图2-6所示。

 

图2-6LCD1602实物图

2.3.3LCD1602液晶显示原理

液晶显示器各种图形的显示原理:

(1)线段的显示

点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。

例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。

这就是LCD显示的基本原理[9]。

(2)字符的显示

用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。

这样一来就组成某个字符。

但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。

(3)汉字的显示

汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址[10],设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。

,LCD1602的内部显示地址如下图2-7所示。

 

图2-71602LCD内部显示地址

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?

这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。

在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。

每次输入指令前都要判断液晶模块是否处于忙的状态。

LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来[11],我们就能看到字母“A”。

LCD1602主要技术参数:

显示容量:

16×2个字符,模块最佳工作电压:

5.0V,字符尺寸:

2.95×4.35(W×H)mm,芯片工作电压:

4.5—5.5V。

3硬件设计

3.1硬件电路

整个硬件连接电路图3-1所示。

 

图3-1电路连接图

3.2BMP085与单片机的接口电路

BMP085的各引脚在前一部分,已经详细介绍过,在此不再赘述,其与单片机的接口电路如下图3-2所示。

图3-2BMP085与单片机的接口电路

因单片机驱动能力小,其电流不足以驱动BMP085,故外接两阻值为5.6k的上拉电阻,增大电流,以驱动BMP085。

3.3单片机主控电路

主控电路包括复位电路、晶振电路以及单片机P0口的上拉电阻电路。

复位电路由阻值为200Ω的电阻以及22uf的电容组成;复位电路由11.0592M晶振以及两个33P的电容组成[12],单片机相当与无数个继电器,通过用户的编程设置来实现需要的控制,是用在控制电路中实现自动或者顺序控制,控制电路中和传统电路中继电器类似,单片机就是一个发号施令的管理者角色,它输出的能力有限,是要外加驱动来配合,不是说的智能开关,而是通过用户的编程设定来实现控制的

 

其具体的电路图如下图3-3所示。

图3-3主控电路

3.4LCD1602接口电路

用单片机的P0口接LCD1602液晶显示器的8位数据线,P2.5接RS,P2.6接RW,P2.7接E,其具体电路图如下图3-4所示。

图3-4电路图

3.5程序流程图

程序的流程图如图3-5所示。

图3-5流程图

其中主程序如下:

//******主程序********

voidmain()

{

delay(50);//上电延时

InitLcd();//液晶初始化

Init_BMP085();//初始化BMP085

BEEP=0;

InitTimer();//初始化定时器

while

(1)//循环

{

bmp085Convert();

delay(1000);

checkkey();

if(set_st==0)WriteCommandLCM(0x0c,1);

if(set_st==1)

{

WriteCommandLCM(0xcb,1);

WriteCommandLCM(0x0d,1);

Delay1(150);

}

3.6实物图

我的实物图如3-6所示。

图3-6运行中的实物图

4结论

我的这篇论文主要设计采用了一种以气压模块BMP085的新型气压计。

设计主要包括了硬件电路的设计和系统程序的设计。

其中硬件电路部分包括主控制器控制的测气压电路和显示电路等,主控制器采用单片机STC89C52,温度传感器采用BMP085,显示电路采用LCD1602液晶显示器显示。

系统程序部分包括整个实验的主程序,读出气压子程序,气压转换命令子程序,计算气压子程序,显示数据刷新子程序等。

通过将这些按照原理设计图将各个模块的连接和焊接,到最后程序的烧录和调试完成了本次的实验的设计要求。

参考文献

[1]戴佳.51单片机应用系统开发典型事例.北京:

中国电力出版社,2005年9月.39~78

[2]张毅刚.新编MCS-51单片机应用技术.第三版.哈尔滨:

哈尔滨工业大学出版社,2008年4月.50~68

[3]周润景.蔡雨恬.proteus入门实用教程.第二版.北京:

机械工业出版社,2011年11月.9~44

[4]陈梓城.实用电子电路设计与调试.北京:

中国电力出版社,2011年4月.102~135

[5]谭浩强.单片机原理.北京:

大学出版社,1989年4月.36~78

[6]张毅刚.单片机原理及应用.北京:

高等教育出版社,2003年7月.118~150

[7]戴佳.戴卫恒.51单片机C语言应用程序设计实例精讲.北京:

电子工业出版社,2008年2月.69~103

[8]王秀玲.A/DD/A转换技术.北京:

清华大学出版社,1984年8月.92~134

[9]彭伟.单片机C语言程序设计实训100例:

基于8051+Proteus仿真.北京:

电子工业出版社,2009年6月.34~87

[10]STC89C52的技术手册.ATMEL公司

[11]马忠梅.单片机的C语言程序设计.北京:

北京航空航天出版社,1999年4月.50~63

[12]沈红卫.单片机应用系统设计实例与分析.北京:

北京航空航天大学出版社,2003年5月.67~104

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2