《数字气压计的设计(共35页).doc》由会员分享,可在线阅读,更多相关《数字气压计的设计(共35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数字气压计的设计摘要:本文介绍基于气压传感器MPX4105的精密数字气压计系统的软、硬件实现方法。通过气压传感器MPX4105获得与气压相对的模拟电压值,并经过电压/频率(V/F)转换模块转换为数字脉冲,通过单片机对此脉冲序列的计数等处理后获得实际的气压值,并通过数码管显示电路显示。阐述了系统的软件设计,以C语言为开发工具,进行了详细设计和编码。总体目标是实现系统的可靠性、稳定性、安全性和经济性。 关键词:气压传感器,电压/频率转换,单片机The Design of Numeral-barometerAbstract:Introduces a precise nume
2、rical barometer system based on MPX4105, giving the achieve-method of soft and hardware Obtain the value of analog voltage according to the air pressure via MPX4105, and convert it into numerical pulse by the voltage/frequency conversion. Recur to the take count of the pulse-sequence and relevant ma
3、nagement by the SCM, an actual air-pressure value is obtained. On the system software design, development tools is C language, a detailed design and coding. The overall objective is to achieve system reliability, stability, security and economy.Key words: Gs pressure transducer,Voltage / frequency c
4、onversion,SCM专心-专注-专业1引言1.1课题背景数字气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。相对比于普通的水银气压计,有准确易读,易携带的优点。气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m气压便降低10hPa;在56km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到910k
5、m的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。一般把作用于单位面积上空气柱的重量称为大气压力。数字气压计大量应用在各种工矿企业,野外作业,消费类电子产品等等的地方。需求极为广泛。1.2 本课题国内外研究现状常见气压计有液体气压计和盒式气压计。飞机上使用的高度计实际上是用盒式气压计改装成的。常见的液体气压计有水银气压计和酒精气压计2种,这2种都是老式的气压计,体积大,精度低,不方便携带且容易坏,当今社会科技高速发展,各行各业不断出现新技术新材料,气压测量这块也是这样,盒式气压计的出现部分的解决
6、了液体气压计所无法解决的缺点,比如体积、方便携带等等。人类社会进入20世纪90年代以后微电子行业发展极为迅速,各种各样的电子传感器被发明且被运用到各行各业,为人们的生产生活创造了极大的便利。数字气压传感器亦已出现,并大量被运用,甚至现在很多手持设备中都已经加入了气压计功能,比如手机,GPS等,方便了人们的出行旅游。目前国际国内很多公司都推出了其数字气压传感器,如摩托罗拉公司的MPX4105和Intersema公司的MS5534b另外还有华普微电子的HP03系列数字气压传感器。众多数字气压传感器的出现使得多样化的数字化气压测量装置、用品大量出现,并越来越普及,精度也越来越高。数字气压计一般不会只
7、有测量气压一种功能,一般都有其他的功能,比如测温度、指南针、码表等等的功能。微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。本次设计也将采用微控制器作为电子气压计的数据采集处理和控制元件。微控制器可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和Von N
8、eumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROMEEPROM和闪存Flash;根据指令结构又可分为CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。气压传感器和微电子控制器的结合,可以创造出很多应用,可以说只要能有好的想法,一般都可以实现,气压计已经由以前的只有专业场合专业人士才能使用的测量器具变成今天的随处可见,方便使用的电子产品,并集成到众多的电子产品中,都归功于电子行业技术发展和很多有创新精神开发者。1.3本课题的研究意义本课题是要设计一个利用微控制和
9、数字化气压传感器为核心元件组成的电子气压计系统。微控制和数字化气压传感器的结合可以使得气压计的设计更具灵活性,测量精度相对于液体气压计也有了显著提高。测量结果的显示也更直观,并可灵活的加入超压、低压报警等特殊功能,以满足某些特定需要。通过本次设计也较好的锻炼了本人的动手能力,为将来的工作打下了一定的基础,同时可以充分利用课堂所学知识进行本课题的设计,在运用这些知识的过程中,加深了对这些知识的理解。由原先的机械记忆变为领会本质。1.4 本课题相关理论综述在设计电子气压计之前首先要搞清楚气压的定义。气压是作用在单位面积上的大气压力,即等于单位面积上向上延伸到大气上界的垂直空气柱的重量。气压以百帕(
10、hPa)为单位,取一位小数。国际制单位:帕斯卡,简称帕,符号是Pa。常用单位:标准大气压。表示气压的单位,习惯上常用水银柱高度。例如,一个标准大气压等于760毫米高的水银柱的重量,它相当于一平方厘米面积上承受1.0336公斤重的大气压力。由于各国所用的重量和长度单位不同,因而气压单位也不统一,这不便于对全球的气压进行比较分析。因此,国际上统一规定用百帕作为气压单位。经过换算:一个标准大气压1013百帕(毫巴)1毫米水银(汞柱)柱高4/3百帕(毫巴)1个标准大气压760mm水银(汞柱)柱高。气压产生的原因:从分子动理论可知,气体的压强是大量分子频繁地碰撞容器壁而产生的。单个分子对容器壁的碰撞时间
11、极短,作用是不连续的,但大量分子频繁的碰撞器壁,对器壁的作用力是持续的、均匀的,这个压力与器壁面积的比值就是压强大小。 影响压强的因素:气压的大小与海拔高度、大气温度 、大气密度等有关,一般随高度升高按指数律递减。气压有日变化和年变化。一年之中,冬季比夏季气压高。一天中,气压有一个最高值、一个最低值,分别出现在910时和1516时,还有一个次高值和一个次低值,分别出现在2122时和34时。气压日变化幅度较小,一般为0.10.4千帕,并随纬度增高而减小。气压变化与风、天气的好坏等关系密切,因而是重要气象因子。通常所用的气压单位有帕(Pa)、毫米水银柱高(mmHg)、毫巴(mb)。它们之间的换算关
12、系为:100帕1毫巴34毫米水银柱高。气象观测中常用的测量气压的仪器有水银气压表、空盒气压表、气压计。温度为0时760毫米垂直水银柱高的压力,标准大气压最先由意大利科学家 托里拆利 测出。2系统总体设计2.1 设计思路分析 (1) 设计方案一:采用单片机主控,通过压力传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如图2.1所示。显示器单片机控制的主控制器总线单片机控制的检测系统A/D转换器压力传感器图2.1 方案一原理图 (2) 设计方案二:采用集成的单片机主控,通过压力传感器将气压信号送入带A/D转换的单片机中,以及
13、在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。原理框图如图2.2所示。气压传感器显示器微处理器89C52 图2.2 方案二原理图综上所述,方案一电路虽然与方案二类似,都较方案一调整方便、可兼顾的指标多,但方案一利用PC机平台实现软件操作,在操作运行复杂,并且性价较底,因为耗费较大,所以在实际应用中一般不用,所以我们选择第二种方案。设计51单片机数字气压计系统时,需要考虑下面4个方面的内容。选择合适的气压传感器芯片,这要根据实际需要以及各种气压传感器的性能参数来决定。选择合适的A/D转换器件,它的作用是将气压传感器输出的模拟电流或电压信号转换为数字信
14、号。设计单片机和A/D转换器件的接口电路。实现气压信息采集并输出的软件设计。2.2 系统总体结构本系统的总体结构框图如图2.3所示。基于单片机的数字气压计设计初始化模块A/D转换模块数据处理模块显示模块图2.3 单片机数字气压计系统结构框图由图2.3可知,整个系统的工作流程如下。测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。因此,需要经过V/F转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后通过数码管显示电路显示给
15、用户。2.3系统各功能模块的设计思想通过对单片机各个端口的设置,以及定时器工作方式和串行口工作方式的选择,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯联络的设定。在主程序模块中我们关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。2.3.1 A/D转换模块单片机接受传感器的电压值为模拟信号,它要和A/D转换模块的锯齿波发生装置发送过来的标准模拟信号相比较,即通过P1.0和P1.1引脚进行比较,同时开发定时器0,当待测模拟信号超过标准模拟信号时,P3.6引脚信号将会发生变化,此时的定时器0的值通过量纲转化就得到了相应的
16、数字信号。2.3.2 数据处理模块数据处理模块主要是对A/D转换模块的数据进行多次采集,并且对采集的数据进行处理,此处理过程主要是对采集的数据进行初值定义以及相应的移位处理,并且把处理好的数据送入相应的缓冲区,为后面的显示模块作好准备。2.3.3 显示模块用单片机芯片AT89C52的P0.0/AD0P0.7/AD7端口接数码管的ah端,8位数码管的S1S5通过AT89C52的P2.0P2.4端口来控制选通每个数码管的位选端。在数据的显示模块中,我们采用的是LED动态显示的方式。其具体的实现过程在上述设计思想中详细说明。7段数码管选用共阳连接方式,通过端口输出编码后的段码,对应笔画为“高电平“时
17、点亮。2.4气压传感器的选择气压传感器对于数字气压计设计的实现至关重要,需要综合实际的需求和各类气压传感器的性能参数加以选择。气压传感器的主要性能参数如下。测量范围即所能测量的大气压力范围,单位为kPa。测量精度测量结果(电流或电压)的精度。温度补偿范围一般要选用具有温度补偿能力的气压传感器,因为温度补偿特性可以克服半导体压力敏感器件存在的温度漂移问题。测量的是否是绝对气压值绝对气压值对应的即是实际的气压值,显然要实现数字气压计需要测量绝对气压值的气压传感器。数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的气压传感器7。经过综合考虑,我们选用美
18、国摩托罗拉公司的集成压力传感器芯片MPX4105作为气压传感器。MPX4105可以产生于所加气压呈线性关系的高精度模拟输出电压,它具有以下特点:供电范围:4.855.35V,典型值为5.1V。测量范围:15105kPa。工作温度范围:085。温度补偿范围:-40+125。测量精度为1.7%VFSS。最低气压对应的输出电压VOFF为0.1840.428V,典型值为0.306V;最高气压对应的输出电压VOFF为4.8044.988V,典型值为4.896V;满刻度输出电压间距VFSS的典型值为4.590V。理想的微处理器接口。2.5 A/D转换器件的选择气压传感器MPX4105输出的是模拟电压,因此
19、,必须进行A/D转换才能交由单片机处理。关于A/D转换,其模块的特点是:转换分辨率为10位,最多含8个输入通道和一个内部温度传感器。我采用一种电压/频率(V/F)转换电路来实现模拟电压的数字化处理。V/F转换电路由V/F器件实现。V/F器件的作用是将输入电压的幅值转换成频率与输入电压幅值成正比的脉冲序列,虽然V/F器件本身还不能算做量化器,但加上定时器与计数器以后也可以实现A/D转换。V/F器件的突出特点就是它能够把模拟电压转换成抗干扰能力强、可远距离传送并能直接输入单片机接口的脉冲序列。通过测试V/F的输出频率。可以实现A/D转换功能。针对电路的实际需要,并考虑到外围电路实现的难易程度和相应
20、的性能指标,我选用国家半导体公司的芯片LM331来实现A/D转换。LM331是一款高精度电压/频率转换芯片,它具有以下特点:最大非线性误差为0.01%。可单、双电源供电,电压范围为540V。脉冲输出可兼容任何逻辑形式。内部具有温度补偿能隙基准电路,因而具有极佳的温度稳定性,最大温漂为50ppm/。宽的满量程频率范围:1Hz100KHz。2.6 三端稳压器本设计中的LM331工作电源采用+15V,但是单片机、MPX4105等其他芯片需要+5V供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。选用摩托罗拉公司的三端低电流线性稳压芯片MC78L05作为电源电路。其输入电压范围:2.624V
21、,输出+5V 固定电压;具有内部短路电路限制和热过载保护功能,无需外部元器件。2.7 数码管显示2.7.1 数码管静态显示当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止,这种显示方式每一位都需要一个8位输出口控制。静态显示时,较小的电流能得到较高的亮度且字符不闪烁,当显示器位数较少时,采用静态显示的方法是合适的。2.7.2数码管动态显示一位一位地轮流点亮显示器各个位,对于显示器的某一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。若显示器的位数不大于8,则控制
22、显示器公共极电位只需一个I/O口,控制显示器的各位所显示的字型也只需一个8位口。单个LED是由段发光二极管构成的显示单元。有10个引脚,对应于个段、1个小数点和2个公共端9。本设计中需要用5个LED组成显示单元,共阴极接法,所以我们采用数码管动态显示。2.8 系统配置我们以AT89C52单片机为整个系统的核心,通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数字显示等等。在此过程中需要利用AT89C52单片机内部的定时器对其进行度量,再使用软件模块对其进行处理,即得到了A/D转换的结果。进行多次A/D转换后,我们就可以采集到一脉冲序列的数据,对这些数据进行适当的
23、处理,最后通过数码管显示电路显示给用户,进而达到了我们对整个系统设计的基本要求。3硬件电路设计经过之前的分析,单片机系统中的数码管显示电路,它通常由译码器、驱动器和显示器等部分组成,是将采集到得气压值通过数码管显示的电路。硬件电路离不开功能性器件,因此首先来看看本数字胎压计所采用的主要器件。3.1单片机电路部分3.1.1 主要芯片介绍89C52单片机89C52单片机的40条引脚按功能来分,可以分为3部分,电源及时钟引脚、控制引脚和输入/输出引脚。如下图3.1所示: 图3.1 单片机引脚图 89C52单片机引脚功能主电源及时钟引脚此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2
24、。 (1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。 (2)Vss(20脚)接地。 (3)XTAL1(19脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的振荡器,可提供单片机的时钟控制信号。 (4)XTAL2(18脚)在单片机内部,接至上述振荡器的反向输出端。控制引脚此类引脚包括RESET(即RSR/VPD)、ALE/PROG、PSEN、EA/VPP,可以提供控制信号,有些具有复用功能。 (1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的
25、低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM中的数据不丢失。当Vcc下降到低于规定值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源。 (2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。 (3)PSEN(29脚):程序存
26、储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不会出现。PSEN同样可以驱动8个LSTTL负载。 (4)EA/VPP(31脚):EA功能为内外程序存储器选择控制端。当EA端保持高电平时,单片机访问内部程序存储器,但在PC(程序计数器)值超过0FFFH时将自动转向执行外部程序存储器内的程序。输入/输出引脚此类引脚包括P0口、P1口、P2口和P3口。 (1)P0(P0.0P0.7)是一个8位三态双向I/O口,在不访积压处部存储器时,做通用I/
27、O口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负载。 (2)P1(P1.0P2.7)是一个8位准双向I/O口(作为输入时,口锁存器置1),带有内部上拉电阻,可带4个LSTTL负载。 (3)P2(P2.0P2.7)是一个8位准双向I/O口,与地址总路线高8位复用,可驱动4个LSTTL负载。 (4)P3口功能表,如下表3.1所示。表3.1 P3口功能表P3口各个位的第二功能P3口的位第二功能说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T
28、0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号3.2 气压传感和V/F转换电路部分MPX4105压力传感芯片气压传感器选用摩托罗拉公司生产地集成压力传感芯片MPX4105,其引脚分布如图3.2所示。 MPX4100123456VOUT GND VCC NC NC NC图3.2 MPX4105引脚分布图各引脚功能说明如下:VOUT(1脚):电压输出脚。GND(2脚):接地端。NC(4、5、6脚):空引脚,用于芯片内部连接,悬空不适用。LM331电压/频率转换器电压/频率转换器选用国家半导体公司的高精度V/F转换芯片LM331,其引脚分布如图
29、3.3所示。LM33112347665CO RefCFOGNDVCCCmpInThreR/C 图3.3 LM331引脚分布图各引脚功能说明如下:CO(1脚):电流输出脚。RefC(2脚):基准电流脚。此引脚可接一固定电阻串联一个可变电阻器的组合,用于调整转换增益。FO(3脚):脉冲序列输出脚。该序列的频率值对应于输入电压的脉冲序列。GND(4脚):接地端。R/C(5脚):组容网络引脚。Thre(6脚):阈值电压脚。芯片内部的电压比较器会对此引脚上的电压和7脚CmpIn上的电压作比较。CmpIn(7脚):比较器电压输入脚。需要进行V/F转换的电压经过低通滤波后由此引脚输入。VCC(8脚):电源脚
30、。可采用单、双电源供电,输入电压540V。MC78L05电源电路由于数字胎压计采用的是+15V电源供电,LM331工作于+15V,但是单片机、MPX4105等其他芯片需要+5V供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。电源电路选用摩托罗拉公司的三端低电流线性稳压芯片MC78L05。MC78L05具有以下特点:输入电压范围:2.624V,输出+5V固定电压;具有内部短路电路限制和热过载保护功能;无须外部器件。其引脚分布如图3.3所示。各引脚功能说明如下:Vout(1脚):+5V固定电压输出脚。GND(2脚):接地端。Vin(3脚):电压输入脚,可输入的电压范围为2.624V。
31、MC78L05123Vout GND Vin 图3.4 MC78L05引脚分布图数字胎压计的硬件电路可分为4个部分:气压传感器、V/F转换电路、单片机电路和电源电路。气压传感和V/F转换电路的原理图如图3.5所示。图3.5 基于MPX4105的数字胎压计系统气压传感及V/F转换电路原理图图3.5中,U3为气压传感芯片MPX4105,它工作于+5V电压,将被测电压转换为输出电压(对应图中网络标号为Vin),送至V/F转换电路。电阻R5和电容C7构成典型的去耦合滤波电路。U2为V/F转换芯片LM331,它工作于+15V电压,此电路的设计可参考LM331的芯片资料。在此电路中,电压Vin和输出脉冲F
32、O的频率fo的转换关系满足公式(1)。Fo=Kvin (1) 其中,K=, Rs=R2+R3 (2)电路中,Rt、Ct和RL的典型值分别为6.8k、0.01pf和100k,Rs由一个定值电阻R2和一个可变电路R3串联组成,其中,R2为22k,R3的最大阻值为12k,通过可变电阻R3调节Rs的阻值可以实现对电路转换增益的调整。气压的变化引起Vin的变化,而Vin在满刻度输出电压间距V内变化,V典型值为4.590V,所以Vin变化范围很小,那么根据fo=KVin的关系式,必须增大K值,才能提高测量的精度。fo通过单片机的定时/计数器1的计数测得,该计数器的计数范围为065536,500ms计数频率
33、1次。因此,K值的选取还要考虑到计数器的计数范围。综合考虑之后,将K值设为2000,这样代入式(2)计算,可知R3的阻值应调节到6.424k。图3.5中,Cin和Rin构成低通滤波器,滤除输入电压信号中的干扰脉冲。其中,Cin取0.1,Rin取100k,C的取容值为1的漏极电流小的电容。3.3 胎压计电源与单片机电路部分数字胎压计的设计的电源与单片机电路原理图如图3.6所示。图3.6 基于MPX4105的数字胎压计系统设计及单片机电路原理图图3.6中,U4为电源转换芯片MC78L05,它将+15V电压转换为+5V电压,提供单片机和气压传感芯片使用。U1为单片机芯片AT89C52,工作于11.5
34、92MHz时钟,它的P3.5脚(定时/计数器1外部脉冲输入端)和FO相连,对脉冲序列计数,以获取频率信息,从而转换为气压值。U1的P0口和P2口是和数码管显示电路的接口,其中,P0口味8位段码,P2口提供5位位码(5位7段数码管显示),数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器等部分组成,如图3.7所示。图3.7 数字显示电路组成方块图数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是
35、共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。最后给出该课题设计的完整原理图,如下图3.8所示: 图3.8 电路完整原理图3.4 pcb制作经过前面的努力,数字胎压计硬件电路的设计在本人及同组人的共同努力下已经完成, PROTEL99SE是一个全32位的电路板设计软件,使用该软件可以容易地设计电路原理图、画元件图、设计电路板图、画元件封装图和电路仿真。在这里主要用它来绘制电路原理图和生成印制电路板。下面简要说明一下我们上面用PROTEL画好的电路原理图的设计步骤如下:(1)设置原理图设计环境。其中,工作环境设置是使用Design/Options和Tool和Prefere
36、nces菜单进行的,画原理图环境的设置主要包括图纸大小、捕捉栅格、电气栅格、模板设置等。(2)放置元件,将电气和电子元件放置在图纸上。(3)原理图布线。元件一旦放置在原理图上,不需要用导线将元件连接起来,连接时一定要符合电气规则。(4)编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。(5)检查原理图。使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告,若有错误则要根据错误进行改正。(6)生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的关系。(7)打印原理图。对电路板的设计主要分为以下几个
37、步骤;(1)使用原理图编辑器设计原理图,进行电气检查(ERC)并生成原理图的网络表。(2)进入电路板(PCB)环境,使用电路向导确定电路板的层数、尺寸等电路板参数。(3)使用Design/Netlist菜单,调入网络表。(4)布置元件,就是将元件合理地分布在电路板上。自动布置元件或人工布置元件,多次布置直到自己满意为止。(5)完成修饰等工作,完成整个电路板的设计。4软件设计就该设计的单片机而言,它的输入信号是具有一定频率的脉冲序列,通过单片机内部的计数器可以获得此脉冲序列的频率,此频率对应于某个气压值,如何将频率换算成该气压值是软件设计首先需要考虑的问题。4.1用C语言开发单片机的优势C语言是
38、一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统11。其优势如下:(1)可以大幅度加快开发进度,程序量越大,用C语言就越有优势。(2)无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。(3)可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。(4)省去了人工分配单片机资
39、源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。(5)汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6)C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户
40、使用。并且C编译器能自动生成一些硬件的初始化代码。(7)对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。4.2 如何由频率计算出气压值信号每一步的变换过程如下:第一步,被测气压经过气压传感器MPX4105转换成电压输出,根据MPX4105的芯片资料可知,输出电压VOUT和大气压P的关系如下VOUT=VCC(0.01P-0.09) (3)这里VCC为+5V,因此可得:VOUT=5(0.01P-0.09) (4)第二步,MPX4105的输出电压VOUT作为输入电压Vin,经过V/F转换电路转变为具
41、有对应频率fo的脉冲序列FO。Vin和FO的这种对应关系如上一节的式(1)所示。综合式(1)和式(4),根据VOUT=Vin,可得:P=+9 (5)式(5)中,fo的单位为Hz,P的单位为kPa,K为V/F转换增益,设计中K值为2000。在软件中,根据式(5)编程计算得到气压值P。程序设定如下:T0为定时器,基本的定时时基50ms。T1为计数器运用内部中断0可保证T0定时满500ms后就读取此时计数器的值以计算气压值,使T0、T1均工作于方式1并在P0口送字型码,同时可用P2.0P2.4提供片选码。4.3程序流程图单片机实现数字气压计的程序流程如图4.1所示。开 始设置计时器0设置计数器1Wh
42、ile(1);50ms定时器0服务子程序ET0=0;count+;Count=10?ET0=1;TR1=1;调用显示函数计算气压值TR1=0;count=0;图4.1 单片机实现数字气压计的程序流程图5系统调试与仿真本次设计由我和黄欢欢同学共同完成,本人主要负责硬件方面的工作,而黄欢欢同学主要负责本次设计的软件部分。我们这个设计的仿真软件主要讲述的是Keil软件与Proteus软件的结合与应用。5.1 Keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
43、Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。Keil可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器中。Keil u Vision2 ADE是Keil softwa
44、re公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。 u Vision2本身自带项目管理器,其开发流程步骤如下:开启u Vision2,建立工程文件并且从器件数据库里挑选出项目实际使用的器件。建立一个新的源文件,并且把这个源文件添加到工程中去。为单片机添加并且设置启动代码。设置硬件相关的选项。编译整个工程并且生成下载到存储器用的HEX文件。5.2 PROTEUS软件介绍Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。
45、因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或paus
46、e键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试,应先执行debug菜单下的start/restart debugging菜单项命令,此时可以选择stepover、step into和step out命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。运行proteus的ISIS程序后,