《本科毕业设计——基于单片机的数字气压计设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计——基于单片机的数字气压计设计.doc(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本科毕业设计(论文)题目: 基于单片机的数字气压计设计 教学单位: 专 业: 学 号: 姓 名: 指导教师: 2013年 5月55摘 要气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。本文主要介绍基于单片机的数字气压计设计。核心是气压传感器BMP085的精密数字气压计系统的软、硬件实现方法。本文围绕气压计,着重介绍了MCS51单片机、气压传感器BMP08
2、5、液晶显示模块LCD1602还有蜂鸣器等的功能结构和用处并对其组成的一个数字气压传感器系统进行了详细的分析。本文介绍通过气压传感器BMP085获得与大气压相对的模拟电压值,用转换器则可把气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,并经过单片机中的A/D转换模块转换为数字脉冲,通过单片机对此脉冲序列的计数等处理后获得实际的气压值,并通过数码管显示电路显示这一系统。本文具体阐述了系统的软件设计和硬件的搭建,以C语言为开发工具,进行了详细设计和编码。总体目标是实现系统的可靠性、稳定性、安全性和经济性。 关键词:单片机;数字气压计;
3、气压传感器;AbstractThe barometer sensitive element test pressure will be directly converted into easily detected, and the transmission of current or voltage signal, and then through the subsequent processing circuitry, and a real-time display of a device. The core component is the air pressure sensor, wh
4、ich monitors the pressure in size, control pressure changes as well as the measurement of physical parameters play an important role. Used in barometer pressure sensors are basically relying on the pressure change when different heights to get the pressure value.This paper describes the design of mi
5、crocontroller-based digital barometer. The core of the pressure sensor BMP085 Precision Digital Barometer system software and hardware implementation. Around the barometer, highlighting the MCS51 microcontroller, air pressure sensor BMP085 LCD module LCD1602 buzzer functional structure and usefulnes
6、s of digital pressure sensor system consisting of a detailed analysis. This article describes the pressure sensor BMP085 atmospheric pressure relative to the analog voltage value V / F converter can put pressure sensor output voltage signal into a pulse signal of a certain frequency; order to use mi
7、crocontroller receives the pulse signal based on the unit the number of pulses in the time, and after the microcontrollers A / D converter module is converted into a digital pulse through the microcontroller of this pulse sequence count obtained after processing the actual pressure value and the sys
8、tem through the digital display circuit. The paper describes the design of the system software and hardware to build, C language development tools, a detailed design and coding. The overall objective is to achieve system reliability, stability, security and economic.Key words: SCM; digital barometer
9、; pressure sensor;目录第 1 章 绪论11.1 选题背景11.2 研究意义11.3 国内外相关技术概况21.3.1 气压计技术概况21.3.2 国内外相关技术31.4 本课题的重点及难点31.5 本课题相关理论及西安地区大气压4第 2 章 系统总体设计62.1 气压计结构62.2 设计方案72.2.1 方案一72.2.2 方案二72.3 系统总体结构82.4 系统各功能模块82.4.1 初始化模块82.4.2 数据处理模块102.4.3 数码显示模块102.4.4 警报电路模块102.5 各功能模块的选择102.5.1 单片机的选择102.5.2 气压传感器的选择112.5.
10、3 数码显示的选择112.5.4 蜂鸣器的选择112.6 系统的配置11第3章 硬件电路的搭建133.1 单片机133.1.1 AT89S52单片机简介133.1.2 AT89S52主要特性153.1.3 AT89S52管脚说明153.1.4 单片机最小系统163.2 气压传感器BMP085173.2.1 BMP085主要特性183.2.2 BMP085发送控制命令方式183.2.3 BMP085读取数据方式193.2.4 BMP085 控制程序总结193.2.5 BMP085电路结构203.3 LCD数码显示203.3.1 1602字符型LCD简介203.3.2 1602LCD的基本参数及引
11、脚功能213.3.3 1602LCD的时序233.3.4 1602电路结构243.4 蜂鸣器253.5 总体电路显示25第 4 章 软件的设计274.1 应用软件的介绍274.1.1 Altium Designer软件介绍274.1.2 Keil软件介绍274.1.3 PROTEUS软件介绍274.2 气压与海拔的关系284.3 程序流程图28第 5 章 系统调试与经验教训305.1 硬件调试305.1.1 单片机最小系统的调试305.1.2 LCD1602 调试305.1.3 气压传感器的测试与调式315.1.4 蜂鸣器的调试315.2 软件程序修改与调试315.3 经验教训35总结36致谢
12、37参考文献38西京学院本科毕业设计(论文)第 1 章 绪论1.1 选题背景数字气压计是利用压敏元件将待测的气压值直接变换为容易检测、易于传输的电流或电压信号,然后再经过后续的电路处理并进行实时显示的一种设备。其中的核心元器件就是气压传感器。气压传感器在监视压力的大小、控制压力的变化以及物理参量的测量等方面起着重要的作用。运用气压计的气压传感器基本上都是依靠不同高度时的气压变化来获取气压值的。相对于普通的水银气压计,不仅准确易读,而且方便携带。气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m气压便降低10hPa;在56km的高空,高度每增加100m,气压便会降低7h
13、Pa;而当高度进一步增加时,即到910km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。一般把作用于单位面积上空气柱的重量称为大气压力。数字气压计大量应用在各种工矿企业、野外作业、以及各消费类电子产品等中,需求极为广泛。本文着重介绍数字气压计在汽车胎压方面的应用。我设计的是一种基于单片机的数字气压计的设计,主要针对的是汽车轮胎胎压计的设计。汽车轮胎胎压计是通过气压传感器获得与汽车轮胎胎压相对应的模拟电压值,并经过AD变换输入到单片机中进行分析处理,从而实时显示相应的气压值。由于使用胎压计有一定
14、的参数要求,所以设计数字气压计时要仔细了解这些参数以防由于使用不当而损坏胎压计。汽车轮胎胎压计采用高性能绝对压力传感器,屏幕显示出高准确度的汽车轮胎胎压,实现了对轮胎压力的实时监测。当汽车轮胎压力处于非正常运行状态时,即通过报警电路来通知驾驶员注意控制轮胎爆胎发生,以便达到安全驾驶的目的。1.2 研究意义随着社会经济的高速发展,高速公路网的蓬勃兴起,以及交通的日趋发达,车辆行驶速度的不断攀升,交通隐患的防范问题已迫在眉睫。因汽车轮胎漏气和爆炸等原因造成的交通事故,大多都是由轮胎的工作温度过高或者不合理胎压引起的。研究汽车轮胎胎压计,对现代汽车行驶时的安全性、经济性和操纵稳定性具有尤为重要的现实
15、意义。现如今,人们对驾驶过程中的安全性与舒适性的追求越来越高,随车携带的数字气压计可以保证人们安全的行驶,有效地降低由于爆胎而导致的交通事故发生的概率。而服务商所要做的就是提供一种物美价廉的数字气压计,以满足有车一族的需要。本课题设计充分利用了BMP085芯片的功能,它不仅满足数字气压计采集、控制和数据处理的需要,而且还可以提高系统稳定性和抗干扰能力。同时,由于大量的工作由单片机软件来实现,简化了设计电路,而且调整方便、可兼顾的指标多,从而大大降低了成本。另外,作为一种功能强大的平台,该数字气压计具有很好的功能扩展性,具有精度高、稳定性好、功能易于扩展等优点,为仪器及电子产品设计后续技术升级,
16、以进一步满足市场的需要提供了条件。1.3 国内外相关技术概况1.3.1 气压计技术概况目前国际国内很多公司都推出了其数字气压传感器,如摩托罗拉公司的MPX4105和Intersema公司的MS5534b另外还有华普微电子的HP03系列数字气压传感器、BOCSH的BPM085系列数字气压传感器。众多数字气压传感器的出现使得多样化的数字化气压测量装置、用品大量出现,并越来越普及,精度也越来越高。数字气压计一般不会只有测量气压一种功能,一般都有其他的功能,比如测温度、指南针、码表等等的功能。本课题研究所用的气压计就附带有温度测控。目前各国研制的轮胎气压报警系统主要分为两种类型:一种是间接式,它通过汽
17、车ABS(防抱制动系统)的轮速传感器及轮胎的力学模型,间接求出轮胎气压,以达到监视轮胎气压的目地;另一种是直接式,它利用安装在每一个轮胎里的以锂离子电池为电源的压力传感器来直接测量轮胎的气压,并通过无线调制发射到安装在驾驶台的监视器上,而监视器随时显示各种轮胎气压,驾驶者可以直观地了解各个轮胎的气压状况,当轮胎气压太低或有渗漏时,系统就会自动报警,确保行车安全。市场研究的预测表明,直接系统技术将成为主流技术。汽车高速行驶中,由于轮胎的压力不正常而造成爆胎是驾驶员难以预防的,也是突发性和恶性交通事故发生的重要原因。引起轮胎漏气和爆胎的原因主要有:(1)轮胎工作温度过高;(2)轮胎气压过大;(3)
18、轮胎使用时间过长;(4)轮胎负荷过大;(5)汽车行驶速度过快。为使汽车能够处于安全的驾驶状态,驾驶者必须在行车过程中实时了解轮胎的超压、欠压、温度等工作状态,我们设计的基于单片机的汽车轮胎胎压计具有以下的功能:(1)实时监测轮胎的压力情况及温度;(2)当某个轮胎处于欠压状态时,相应的欠压报警指示灯亮。当汽车轮胎压力处于非正常状态运行时,通过报警来通知驾驶员,控制轮胎爆胎发生,以达到安全驾驶的目的。1.3.2 国内外相关技术对轮胎爆胎进行预警是保障汽车安全行驶的关键所在,已成为汽车行业研究的热点问题。在轮胎爆胎预警系统及相关技术的研究方面,美国、日本、德国、法国、英国在近几年都取得了突破性的进展
19、,形成了性能和功能完善的轮胎压力监测系统产品。从近年发布的世界新车资料来看,林肯大陆、奔驰、宝马、标志、道奇等中高档车均安装了轮胎压力监测装置,用于监测汽车行驶过程中轮胎气压,车内主控机板显示模块实时显示轮胎气压状态。据中国汽车工业协会相关市场调查表明,国内轮胎爆胎预警系统的相关产品有推出,但都是技术性能不甚完善简易系统产品,存在以下缺点:系统工作寿命极短;系统在低温或高温环境下失效;工作可靠性较差。而性能可靠、功能完善、技术成熟的产品均是一些国外知名公司的品牌产品,但价格较为昂贵。因此,研制性能可靠、功能完善并且价格能为当前多数国内消费者所接受的轮胎爆胎预警技术产品很有必要。国内汽车行业正迫
20、切需求成熟的轮胎爆胎预警系统及产品的投放市场以解决因轮胎爆胎而引起的行驶安全性问题。1.4 本课题的重点及难点本课题的重点及难点就是对整体设计方案的选择和各硬件模块的选择,具体表现为整个系统总共包含几个模块,对气压传感器、A/D转换器等的选择,还有就是怎样通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数字显示等等。1.5 本课题相关理论及西安地区大气压在设计电子气压计之前首先要搞清楚气压的定义。气压是作用在单位面积上的大气压力,即等于单位面积上向上延伸到大气上界的垂直空气柱的重量。气压以百帕(hPa)为单位,取一位小数。国际制单位:帕斯卡,简称帕,符号是Pa。
21、常用单位:标准大气压。表示气压的单位,习惯上常用水银柱高度。例如,一个标准大气压等于760毫米高的水银柱的重量,它相当于一平方厘米面积上承受1.0336公斤重的大气压力。由于各国所用的重量和长度单位不同,因而气压单位也不统一,这不便于对全球的气压进行比较分析。因此,国际上统一规定用百帕作为气压单位。经过换算:一个标准大气压1013百帕(毫巴)1毫米水银(汞柱)柱高4/3百帕(毫巴)1个标准大气压760mm水银(汞柱)柱高。气压产生的原因:从分子动理论可知,气体的压强是大量分子频繁地碰撞容器壁而产生的。单个分子对容器壁的碰撞时间极短,作用是不连续的,但大量分子频繁的碰撞器壁,对器壁的作用力是持续
22、的、均匀的,这个压力与器壁面积的比值就是压强大小。 影响压强的因素:气压的大小与海拔高度、大气温度 、大气密度等有关,一般随高度升高按指数律递减。气压有日变化和年变化。一年之中,冬季比夏季气压高。一天中,气压有一个最高值、一个最低值,分别出现在910时和1516时,还有一个次高值和一个次低值,分别出现在2122时和34时。气压日变化幅度较小,一般为0.10.4千帕,并随纬度增高而减小。气压变化与风、天气的好坏等关系密切,因而是重要气象因子。通常所用的气压单位有帕(Pa)、毫米水银柱高(mmHg)、毫巴(mb)。它们之间的换算关系为:100帕1毫巴34毫米水银柱高。气象观测中常用的测量气压的仪器
23、有水银气压表、空盒气压表、气压计。温度为0时760毫米垂直水银柱高的压力,标准大气压最先由意大利科学家托里拆利测出。大气压强随高度升高而降低 在海拔2000米范围内.海拔每升高12m降低一个毫米汞柱。西安市平均海拔高度:397米.大气压力:冬季:734 毫米汞柱,夏季718毫米汞柱 。由公式:1毫米汞柱=0.133千帕 可得: 7340.133=97.622kpa7180.133=95.494kpa所以可得,西安地区大致气压范围在95.49497.622之间。第 2 章 系统总体设计2.1 气压计结构本文研究的气压计结构如图2.1所示。其中气压传感器用来将被测气压转换为电压信号;用转换器则可把
24、气压传感器输出的电压信号转换成具有一定频率的脉冲信号;以便用单片机接收该脉冲信号,并根据单位时间内得到的脉冲数,依据电压与频率的线性关系式计算出所对应的气压值,最后在单片机控制下由显示出来。本气压计能够在气压传感器的线性范围内准确测量相应气压值。需要说明的是,其测量值是绝对气压值。本文研究的气压计BMP085的技术指标如下。压力范围:3001100hPa(海拔9000米-500米)电源电压:1.8V3.6V(VDDA) 1.62V3.6V(VDDD)LCC8封装: 无铅陶瓷载体封装(LCC)尺 寸: 5.0mmx5.01.2mm低功耗: 5A 在标准模式高精度: 低功耗模式下,分辨率为0.06
25、hPa(0.5米) 高线性模式下,分辨率为0.03hPa(0.25米)含温度输出 C接口 温度补偿无铅,符合RoHS规范, MSL 1 反应时间:7.5ms 待机电流:0.1A无需外部时钟电路被 测 气 压气 压 传 感 器单 片 机LCD 显 示 模 块图2.1 气压计结构2.2 设计方案2.2.1 方案一采用单片机主控,通过压力传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如图2.2所示。气 压 传 感 器A/D 转 换 器的 检 测 系 统单 片 机 控 制总 线 的主控系统单片机控制显 示 器 图2.2 设计方
26、案一2.2.2 方案二采用集成的单片机主控,通过压力传感器将气压信号送入带A/D转换的单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。原理框图如图2.3所示。89S52单 片 机 处 理气 压 传 感 器显 示 器图2.3 设计方案二综上所述,方案一电路虽然与方案二类似,都较方案二调整方便、可兼顾的指标多,但方案一利用PC机平台实现软件操作,在操作运行复杂,并且性价较低,因此耗费较大,所以在实际应用中一般不用,所以我们选择第二种方案。设计51单片机数字气压计系统时,需要考虑下面4个方面的内容。选择合适的气压传感器芯片,这要根据实际需要以
27、及各种气压传感器的性能参数来决定。选择合适的A/D转换器件,它的作用是将气压传感器输出的模拟电流或电压信号转换为数字信号。设计单片机和A/D转换器件的接口电路。实现气压信息采集并输出的软件设计。2.3 系统总体结构本系统的总体结构框图如图2.4所示。基于单片机的数字气压计设计初始化模块数据处理模块数码显示模块警报模块图2.4 系统总体结构由图2.4可知,整个系统的工作流程如下。测量前先为各功能模块初始化,测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。因此,需要经过V/F转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。 通过
28、单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后通过数码管显示电路显示给用户。如果该气压值不在预设值范围之内,则传送一个脉冲信号给单片机控制蜂鸣器报警,提示用户气压出现异常。2.4 系统各功能模块2.4.1 初始化模块1)LCD1602的初始化1602 一般初始化(复位)过程延时 15ms写指令 38H (不检测忙信号)延时 5ms 写指令 38H (不检测忙信号)延时 5ms写指令 38H (不检测忙信号)以后每次写指令、读 写数据操作均需要检测忙信号写指令38H :显示模式设置写指令 08H:显示关闭写指令 01H:显示清屏写指令
29、06H:显示光标移动设置写指令 0CH:显示开及光标设置LCD1602由程序实现软初始化,部分程序如下:void InitLcd(); /初始化lcd1602void WriteDataLCM(uchar dataW);void WriteCommandLCM(uchar CMD,uchar Attribc);void DisplayOneChar(uchar X,uchar Y,uchar DData);void conversion(long temp_data);void Single_Write(uchar SlaveAddress,uchar REG_Address,uchar RE
30、G_data); /单个写入数据uchar Single_Read(uchar REG_Address); /单个读取内部寄存器数据void Multiple_Read(uchar,uchar); /连续的读取内部寄存器数据 2)气压传感器的初始化初始化BMP085,单片机开机进行自检,检查各硬件连接状况,利用蜂鸣器来判断各个模块状况。其初始化程序如下:void bmp085Calibration()/BMP085初始化设置; ac1 = bmp085ReadInt(0xAA); ac2 = bmp085ReadInt(0xAC); ac3 = bmp085ReadInt(0xAE); ac4
31、 = bmp085ReadInt(0xB0); ac5 = bmp085ReadInt(0xB2); ac6 = bmp085ReadInt(0xB4); b1 = bmp085ReadInt(0xB6); b2 = bmp085ReadInt(0xB8); mb = bmp085ReadInt(0xBA); mc = bmp085ReadInt(0xBC); md = bmp085ReadInt(0xBE);2.4.2 数据处理模块数据处理模块主要是对A/D转换模块的数据进行多次采集,并且对采集的数据进行处理,此处理过程主要是对采集的数据进行初值定义以及相应的移位处理,并且把处理好的数据送入
32、相应的缓冲区,为后面的显示模块作好准备。2.4.3 数码显示模块本设计是用单片机的P1口连接一个LCD1602液晶显示屏显示。通过软件编码,显示当前的温度和气压值。2.4.4 警报电路模块当气压传感器所测到的气压值超出预设值范围时,即给单片机一个脉冲信号,单片机控制蜂鸣器报警。由于受条件所限,本次设计没法控制气压,只能控制温度,即当传感器测得温度值大于30摄氏度时,单片机控制蜂鸣器报警。2.5 各功能模块的选择 2.5.1 单片机的选择方案一:选择arm系列芯片,arm系列具有低功耗,高性能的优点,一个机器周期能处理32位数据,可以使气压计的精度更高。方案二:选择TI公司的MSP430系列,4
33、30现在成为比较主流的单片机,在具有低功耗的五种模式下,还具有一定的计算能力,一般都为16位。方案三:选择使用八位处理的51系类单片机。综合比较:arm系列虽然处理精度高,但相比较MSP430系列和51系类价格太高。考虑到我们身处平原地区,气压值浮动较小,不需要精度太高综合价格,我们最终选择51系类单片机,采用STC89S52。2.5.2 气压传感器的选择方案一:采用摩托罗拉公司的MPX4105,MPX4105可以产生于所加气压呈线性关系的高精度模拟输出电压。方案二:采用BOCSH的BMP085,BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。它的性能卓越,绝对精度最低可
34、以达到0.03hPa,并且耗电极低,只有3A。BMP085采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过IC总线直接与各种微处理器相连。综合考虑,我们选用第二种方案,即BOCSH公司的BPM085。2.5.3 数码显示的选择方案一:采用八连排七段数码管,七段数码管有共阴和共阳两种,如用共阳显示电路需要用74LS47译码驱动集成电路,无论共阴还是共阳七段显示电路,都需要加限流电阻。否则通电后就把数码管烧坏了。但其价格便宜, 使用简单。方案二:采用LCD1602,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,内含复位电路,具有对比度
35、可调、微功耗、体积小、显示内容丰富、超薄轻巧等特点,常用在袖珍式仪表和低功耗应用系统中。综上考虑,我们选用第二种方案,即用LCD1602作为数码显示。2.5.4 蜂鸣器的选择方案一:采用有源蜂鸣器,有源蜂鸣器在工作的时候具有较高的稳定性。方案二:采用无源蜂鸣器。综合比较:使用无源蜂鸣器,考虑到板子上的线路布局,使用无源蜂鸣器,在电路上加入一个8550三级管,同样可以使其更稳定。2.6 系统的配置我们用AT89S52单片机作为整个系统的核心,气压传感器、LCD1602数码显示器、蜂鸣器等为重要组成部分,组成了一个稳定的数字气压计系统。本系统通过气压传感器对气压信号的采集、控制、放大等处理完成气压
36、参数的自动获取,以及进行数字显示等等。在此过程中需要利用AT89S52单片机内部的定时器对其进行度量,再使用软件模块对其进行处理,即得到了A/D转换的结果。进行多次A/D转换后,我们就可以采集到一脉冲序列的数据,对这些数据进行适当的处理,最后通过数码管显示电路显示给用户,进而达到了我们对整个系统设计的基本要求。第3章 硬件电路的搭建3.1 单片机单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在
37、一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投入市场的产品就有50多个系列,数百个品种。尽管单片机的品种很多,但是在我国使用的最多的是INTER公司的MCS-51系列单片机,直到现在MCS-51系列单片机仍不失为主流系列。在最近的若干年仍是工业检测控制的主角。MCS-51系列单片机内部包括一个8位CPU,128个字节RAM,21个特殊功能寄存器,4个8位并行I/O口, 2
38、个16位定时器/计数器,片内集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。ROM内的程序是公司制作芯片时,代为用户烧制的,出厂的8051都是含有特殊用途的单片机。 3.1.1 AT89S52单片机简介单片机是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机,即将运算器,控制器,输入输出接口,部分存储器以及其他一些逻辑部件集成在一个芯片上,故可以把单片机看成是一个不带外部设备的微型计算机,相当于一个没有显示器,没有键盘,不带监控程序的单板机。其结构如下图3.1所示。C P U外 部 设 备 计数器ROM中断I/O口RAM图 3.1 单片机结构框图AT89S52是一
39、种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器, AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,外形及引脚排列如图3.2所示。 图3.2 单片机引脚排列图3.1.2 AT89S52主要特性* 与MCS-51 兼容* 4K字节可编程闪烁存储器* 寿命:1000写/擦循环* 数据保留时间:10年* 全静态工作:0Hz-24Hz
40、* 三级程序存储器锁定* 128*8位内部RAM* 32可编程I/O线3.1.3 AT89S52管脚说明VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输
41、出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个
42、带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。在实际应用中,大多数情况下都使用P3口的第二功能。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据
43、存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期
44、间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.1.4 单片机最小系统单片机的最小系统由复位电路、晶振电路等组成。单片机最小系统的搭建如下图3.3所示。图3.3 单片机的最小系统3.2 气压传感器BMP085本设计气压传感器采用的是BOCSH公司的BMP085。BMP085是一款高精度、超低能耗的压力传感器,可以应用在移动设备中。它的性能卓越,绝对精度最低可以达到0.03hPa,并且耗电极低,只有3A。BMP085采用强大的8-pin陶瓷
45、无引线芯片承载(LCC)超薄封装,可以通过IC总线直接与各种微处理器相连。其引脚分布图如图3.4所示:图3.4 气压传感器BMP085引脚分布3.2.1 BMP085主要特性u 压力范围:3001100hPa(海拔9000米.-500米)u 电源电压:1.8V3.6V(VDDA)1.62V3.6V(VDDD)u LCC8封装: 无铅陶瓷载体封装(LCC)u 尺 寸: 5.0mmx5.01.2mmu 低功耗: 5A 在标准模式u 高精度: 低功耗模式下,分辨率为0.06hPa(0.5米)高线性模式下,分辨率为0.03hPa(0.25米)u 含温度输出 C接口u 温度补偿 MSL 1u 无铅,符合RoHS规范, u 反应时间:7.5msu 待机电流:0.1Au 无需外部时钟电路3.2.2 BMP085发送控制命令方式MCU对BMP085 发送控制命令的方式如图3.5所示。图3.5 BMP085 发送控制命令的方式图向BMP085 发送命令的步骤如下: 1)发送模块地址+W(表示写操作),如图4.5中的0xEE。 2)发送寄存器地址(register address),如图4.5中的第一个0xF4。3)发送寄存器的值(control register data),如图4.5中第二个0xF4。寄存器的值代表BM
限制150内