毕业设计(论文)基于单片机的气压计设计.doc

上传人:laozhun 文档编号:3980772 上传时间:2023-03-30 格式:DOC 页数:33 大小:604KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的气压计设计.doc_第1页
第1页 / 共33页
毕业设计(论文)基于单片机的气压计设计.doc_第2页
第2页 / 共33页
毕业设计(论文)基于单片机的气压计设计.doc_第3页
第3页 / 共33页
毕业设计(论文)基于单片机的气压计设计.doc_第4页
第4页 / 共33页
毕业设计(论文)基于单片机的气压计设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的气压计设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的气压计设计.doc(33页珍藏版)》请在三一办公上搜索。

1、毕 业 论 文学生姓名学 号学院 专 业题 目指导教师 2012年5月摘要: 本设计就介绍了一种基于气压传感器MPX4105的精密数字气压计系统的实时显示设备。它通过气压传感器MPX4105获得与大气压相对应的模拟电压值,并经过电压/频率(V/F)转换模块转换为数字脉冲,通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后在单片机的控制下由液晶显示电路显示出实际气压值。阐述了系统的软件设计,以C语言为开发工具,进行了详细设计和编码。总体目标是实现系统的可靠性、稳定性、安全性和经济性。 关键词:气压传感器,电压/频率转换,单片机,液晶显示

2、 Abstract: This design is introduced which is based on pressure sensor MPX4105 precision digital barometer of real-time display device. System It through the air pressure sensor MPX4105 was obtained with the atmospheric pressure corresponding simulation voltage values, and through voltage/frequency

3、(V/F) conversion module converted to digital pulse, through the microcontroller receives the pulse signal, receive an unit time get, according to the number of pulses of linear equation of voltage and frequency calculated the actual air pressure value corresponding last, under the control of the pro

4、cessor by liquid crystal display circuit shows real pressure value. 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.Keywords: mcu,pressure sensor,v/f transferor,lcd目录

5、1 绪论31.1 课题背景31.2 技术概况及发展趋势31.3 数字气压计系统设计的意义52 系统总体设计52.1 设计思路分析52.2 系统总体结构72.3 系统各功能模块的设计思想82.4 气压传感器的选择92.5 A/D转换器件的选择102.6 三端稳压器112.7 系统配置113 硬件电路设计113.1 单片机电路部分113.2 气压传感和V/F转换电路部分143.3 气压计电源与单片机电路部分174 软件设计194.1 如何由频率计算出气压值194.2 程序流程图205 系统调试与仿真205.1 Keil软件介绍205.2 PROTEUS软件介绍21结论23参考文献24致 谢25程序

6、代码261 绪论1.1 课题背景压计是一种测量大气压的装置,一般把作用于单位面积上空气柱的重量称为大气压力,简称气压。气象学研究表明,在空间垂直方向上气压随高度增加而降低,这种变化的幅度在近表面和高空时又有所不同,近地表时气压随高度增加而降低的幅度最大,越到高空这种变化越缓慢。气压还会受空气中的气流影响,若空气中有下降气流,气压会增加;若空气中有上升气流,气压会减小。本课题要求利用单片机控制实现气压计功能,而单片机的接口信号必须是数字信号,因此想要用单片机获取气压这类非电信号的信息,必须使用气压传感器。通过气压传感器MPX4105获得与待测气压相对的模拟电压值,并经过电压/频率(V/F)转换模

7、块转换为数字脉冲,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后在单片机的控制下由液晶显示电路显示出实际气压值。以C语言为开发工具,进行了设计和编码。总体目标是实现系统的可靠性、稳定性、安全性和经济性。1.2 技术概况及发展趋势 随着科技的不断发展,传感器技术也在不断的进步和创新, 利用新工艺传感器技术的气压计将会越来越先进和精准,系统的可靠性、稳定性、安全性和经济性将会大幅的提高。而且趋于小型化、无线化、智能化、多功能化的发展。基于传感器在本设计中的重要作用,下面介绍一下传感器目前的技术性能和发展趋势。 1.2.1 技术性能(1)高精度1 随着科学研究的

8、深入,工程控制的精确,要求传感器的精度尽可能的提高,对“在线”加工检测要求高于0.1m,对火箭发动机内的动态压力测量精度应优于0.1%,对材料微观结构的测量达到 m量级。 (2) 智能化 传感器技术要有认识广阔空间状态的功能,首先遇到的问题是自动化系统的复杂化。例如钢铁工业,首先是控制钢板的厚度与成分,其次是检测表面的缺陷和管理形状。随着从点管理到形状等面管理的复杂化,暴露了敏感器件和信号处理的弱点。机器人出现后,对传感器智能化要求更加迫切,没有视觉和触觉的机器人,其作业受到很大的限制,通用性明显减小。又如宇宙飞船和卫星向地球传送的信息,庞大的数据应先由智能传感器分散处理后再向地球传送压缩数据

9、,这样才能提高系统的效率。传感器分散处理信号,说明更接近人的五官,因此,传感器的智能化是进步的必然结果。 (3) 微型化与集成化 在很多测试场合,要求传感器有尽可能小的尺寸,如弹载传感器,生物医学中插入人体内的传感器,风洞中测压力场分布的传感器等,都要求尽量微型化。实现微型化除了传感器变换元件必须微型化外,更重要的是与传感元件密切关联的放大器、温度补偿器、信号储存与处理电路等也必须微型化。采用集成电路技术成功地将传感元件和电路集成在一块芯片上,做到既微型又稳定,是传感器发展的必然趋势。1.2.2 发展趋势1 新材料开发2传感器材料是传感器技术的重要基础, 是传感器技术升级的重要支撑。随着材料科

10、学的进步,传感器技术日臻成熟,其种类越来越多,除了早期使用的半导体材料、陶瓷材料以外,光导纤维以及超导材料的开发,为传感器的发展提供了物质基础。例如,根据以硅为基体的许多半导体材料易于微型化、集成化、多功能化、智能化,以及半导体光热探测器具有灵敏度高、精度高、非接触性等特点,发展红外传感器、激光传感器、光纤传感器等现代传感器;在敏感材料中,陶瓷材料、有机材料发展很快,可采用不同的配方混合原料,在精密调配化学成分的基础上,经过高精度成型烧结,得到对某一种或某几种气体具有识别功能的敏感材料,用于制成新型气体传感器。此外,高分子有机敏感材料,是近几年人们极为关注的具有应用潜力的新型敏感材料,可制成热

11、敏、光敏、气敏、湿敏、力敏、离子敏和生物敏等传感器。传感器技术的不断发展,也促进了更新型材料的开发,如纳米材料等。美国NRC公司已开发出纳米ZrO2 气体传感器,控制机动车辆尾气的排放,对净化环境效果很好,应用前景比较广阔。由于采用纳米材料制作的传感器,具有庞大的界面,能提供大量的气体通道,而且导通电阻很小,有利于传感器向微型化发展,随着科学技术的不断进步将有更多的新型材料诞生。2、智能化发展80 年代发展起来的智能化传感器是微电子技术、微型电子计算机技术与检测技术相结合的产物,具有测量、存贮、通信、控制等特点。智能化传感器一般主要由主传感器、辅助传感器及微机硬件系统三大部分构成。也就是说,智

12、能化传感器是一种带有微处理器的传感器,它兼有检测判断和信息处理功能。例如美国霍尼尔公司的ST - 3000 型传感器,是一种能够进行检测和信号处理的智能传感器,具有微处理器和存贮器功能,可测量差压、静压及温度等。又如一典型智能化压力传感器,其中主传感器为压力传感器,它的作用是用来测量被测压力参数的。20 多年来,智能化传感器有了很大的发展。近年来,智能化传感器开始同人工智能相结合,创造出各种基于模糊推理、人工神经网络、专家系统等人工智能技术的高度智能传感器,称为软传感器技术。它已经在家用电器方面得到利用,相信未来将会更加成熟。智能化传感器是传感器技术未来发展的主要方向。在今后的发展中,智能化传

13、感器无疑将会进一步扩展到化学、电磁、光学和核物理等研究领域。1.3 数字气压计系统设计的意义气压计广泛应用于国防 、工业、医疗等领域以及我们日常家庭生活中。它的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。本课题是要设计一个利用微控制和数字化气压传感器为核心元件组成的电子气压计系统。其中核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气;本课题设计的数字气压计采用单片机控制

14、,使用方便、精度高、显示简单灵活,并可灵活的加入超压、低压报警、无线传输等特殊功能,而且可以大幅提高被控气压的技术指标。通过本课题的设计,较好的锻炼了我的动手能力,为将来的工作打下了一定的基础,在运用过程中,熟悉并掌握了这些知识的理解和运用。2 系统总体设计2.1 设计思路分析2.1.1 设计方案一采用单片机主控,通过压力传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如下:显示器单片机控制的检测系统单片机控制的主控制器压力传感器A/D转换器总线图2-1 方案一原理图2.1.2 设计方案二采用集成的单片机主控,通过压力传

15、感器将气压信号送入带A/D转换的单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。原理原理框图如下:气压传感器显示器微处理器89C52 图2-2 方案二原理图综上所述,方案一电路虽然与方案二类似,都较方案一调整方便、可兼顾的指标多,但方案一利用PC机平台实现软件操作,在操作运行复杂,并且性价较底,因为耗费较大,所以在实际应用中一般不用,所以我们选择第二种方案。设计51单片机数字气压计系统时,需要考虑下面4个方面的内容。1选择合适的气压传感器芯片,这要根据实际需要以及各种气压传感器的性能参数来决定。2选择合适的A/D转换器件,它的作用是将气

16、压传感器输出的模拟电流或电压信号转换为数字信号。3设计单片机和A/D转换器件的接口电路。4实现气压信息采集并输出的软件设计。2.2 系统总体结构本系统的总体结构框图如图2-3所示。基于单片机的数字气压计设计初始化模块A/D转换模块数据处理模块显示模块图2-3 单片机数字气压计系统结构框图由图2-3可知,整个系统的工作流程如下。测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。因此,需要经过V/F转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化)。通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出

17、所对应的实际气压值,最后通过LCD显示电路显示给用户。2.3 系统各功能模块的设计思想通过对单片机各个端口的设置,以及定时器工作方式和串行口工作方式的选择,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯联络的设定。在主程序模块中我们关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。2.3.1 A/D转换模块单片机接受传感器的电压值为模拟信号,它要和A/D转换模块的锯齿波发生装置发送过来的标准模拟信号相比较,即通过P1.0和P1.1引脚进行比较,同时开发定时器0,当待测模拟信号超过标准模拟信号时,P3.6引脚信号将会发生

18、变化,此时的定时器0的值通过量纲转化就得到了相应的数字信号。2.3.2 数据处理模块数据处理模块主要是对A/D转换模块的数据进行多次采集,并且对采集的数据进行处理,此处理过程主要是对采集的数据进行初值定义以及相应的移位处理,并且把处理好的数据送入相应的缓冲区,为后面的显示模块作好准备。2.3.3 显示模块 本设计中选择经济实惠的字符型液晶显示器LCD1602。LCD1602可以显示两行,每行16个字符,采用+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。显示器部分的电路如图2-4所示。 图2-4 显示模块原理图LCD1602是一种专门用于显示字母、数字、符号等点阵式LCD。LCD

19、1602的外围引脚及作用6:第1脚:VSS为地电源;第2脚:VDD接5V正电源;第3脚:VEE 为液晶显示器对比度调整端,接正极电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度;第4脚:RS 为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;第5脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平,RW为高电平时可以读取忙信号,当RS为高电平RW为低电平时可以写入数据; 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第7

20、-14脚: D0D7为8位双向数据线;第15-16脚:空脚。1602液晶显示器内部的控制器共有11条控制指令,如表2-6所示:表2-6 1602的内部指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或

21、DDRAM读数11读出的数据内容2.4 气压传感器的选择气压传感器对于数字气压计设计的实现至关重要,需要综合实际的需求和各类气压传感器的性能参数加以选择。气压传感器的主要性能参数如下。1测量范围即所能测量的大气压力范围,单位为kPa。2测量精度测量结果(电流或电压)的精度。3温度补偿范围一般要选用具有温度补偿能力的气压传感器,因为温度补偿特性可以克服半导体压力敏感器件存在的温度漂移问题。4测量的是否是绝对气压值绝对气压值对应的即是实际的气压值,显然要实现数字气压计需要测量绝对气压值的气压传感器。数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的气

22、压传感器1。经过综合考虑,我们选用美国摩托罗拉公司的集成压力传感器芯片MPX4105作为气压传感器。MPX4105可以产生于所加气压呈线性关系的高精度模拟输出电压,它具有以下特点:1供电范围:4.855.35V,典型值为5.1V。2测量范围:15105kPa。3工作温度范围:085。4温度补偿范围:-40+125。5测量精度为1.7%VFSS。6最低气压对应的输出电压VOFF为0.1840.428V,典型值为0.306V;最高气压对应的输出电压VOFF为4.8044.988V,典型值为4.896V;满刻度输出电压间距VFSS的典型值为4.590V。7理想的微处理器接口。2.5 A/D转换器件的

23、选择气压传感器MPX4105输出的是模拟电压,因此,必须进行A/D转换才能交由单片机处理。关于A/D转换,其模块的特点是:转换分辨率为10位,最多含8个输入通道和一个内部温度传感器。我采用一种电压/频率(V/F)转换电路来实现模拟电压的数字化处理。V/F转换电路由V/F器件实现。V/F器件的作用是将输入电压的幅值转换成频率与输入电压幅值成正比的脉冲序列,虽然V/F器件本身还不能算做量化器,但加上定时器与计数器以后也可以实现A/D转换。V/F器件的突出特点就是它能够把模拟电压转换成抗干扰能力强、可远距离传送并能直接输入单片机接口的脉冲序列。通过测试V/F的输出频率。可以实现A/D转换功能。针对电

24、路的实际需要,并考虑到外围电路实现的难易程度和相应的性能指标,我选用国家半导体公司的芯片LM331来实现A/D转换。LM331是一款高精度电压/频率转换芯片,它具有以下特点:1最大非线性误差为0.01%。2可单、双电源供电,电压范围为540V。3脉冲输出可兼容任何逻辑形式。4内部具有温度补偿能隙基准电路,因而具有极佳的温度稳定性,最大温漂为50ppm/。5宽的满量程频率范围:1Hz100KHz。2.6 三端稳压器本设计中的LM331工作电源采用+15V,但是单片机、MPX4105等其他芯片需要+5V供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。选用摩托罗拉公司的三端低电流线性稳压

25、芯片MC78L05作为电源电路。其输入电压范围:2.624V,输出+5V 固定电压;具有内部短路电路限制和热过载保护功能,无需外部元器件。2.7 系统配置我们以AT89C52单片机为整个系统的核心,通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数字显示等等。在此过程中需要利用AT89C52单片机内部的定时器对其进行度量,再使用软件模块对其进行处理,即得到了A/D转换的结果。进行多次A/D转换后,我们就可以采集到一脉冲序列的数据,对这些数据进行适当的处理,最后通过数码管显示电路显示给用户,进而达到了我们对整个系统设计的基本要求。3 硬件电路设计经过之前的分析,单

26、片机系统中的数码管显示电路,它通常由译码器、驱动器和显示器等部分组成,是将采集到得气压值通过数码管显示的电路。硬件电路离不开功能性器件,因此首先来看看本数字气压计所采用的主要器件。3.1 单片机电路部分3.1.1 主要芯片介绍89C52单片机89C52单片机的40条引脚按功能来分,可以分为3部分,电源及时钟引脚、控制引脚和输入/输出引脚。如下图3-1所示:89C52单片机引脚功能主电源及时钟引脚此类引脚包括电源引脚Vcc、Vss、时钟引脚XTAL1、XTAL2。(1)Vcc(40脚):接+5V电源,为单片机芯片提供电能。(2)Vss(20脚)接地。(3)XTAL1(19脚)在单片机内部,它是一

27、个反向放大器的输入端,该放大器构成了片内的振荡器,可提供单片机的时钟控制信号。(4)XTAL2(18脚)在单片机内部,接至上述振荡器的反向输出端。 控制引脚此类引脚包括RESET(即RSR/VPD)、ALE/PROG、PSEN、EA/VPP,可以提供控制信号,有些具有复用功能。 图3-1 单片机引脚图(1)RSR/ VPD(9脚):复位信号输入端,高电平有效,当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(REST)。复位后应使此引脚电平保持为不高于0.5V的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM中的数据不丢失。当Vcc下降到低

28、于规定值,而VPD在其规定的电压范围内(50.5V)时,VPD就向内部RAM提供备用电源。(2)ALE/PROG(30脚):ALE为地址锁存允许信号。当单片机访问外部存储器时,ALE(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存储器,ALE端仍有周期性正脉冲输出,其频率为振荡器频率的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。ALE端可以驱动8个LSTTL负载。(3)PSEN(29脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均P

29、SEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的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/O口使用,用于传送CPU的输入/输出数据,当访问外部存储器时,此口为地址总路线低8位及数据总路线分时复用口,可带8个LSTTL负

30、载。(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-2所示:P3口各个位的第二功能P3口的位第二功能说明P3.0RXD串行数据接收口P3.1TXD串行数据发射口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部RAM写信号P3.7RD外部RAM读信号 图 3-2 P3口功能表3.2 气压传感和V/F转换

31、电路部分MPX4105压力传感芯片气压传感器选用摩托罗拉公司生产地集成压力传感芯片MPX4105,其引脚分布如图3-3所示。 图3-3 MPX4105引脚分布图各引脚功能说明如下:VOUT(1脚):电压输出脚。GND(2脚):接地端。NC(4、5、6脚):空引脚,用于芯片内部连接,悬空不适用。LM331电压/频率转换器电压/频率转换器选用国家半导体公司的高精度V/F转换芯片LM331,其引脚分布如下图3-4所示。 各引脚功能说明如下:CO(1脚):电流输出脚。RefC(2脚):基准电流脚。此引脚可接一固定电阻串联一个可变电阻器的组合,用于调整转换增益。FO(3脚):脉冲序列输出脚。该序列的频率

32、值对应于输入电压的脉冲序列。GND(4脚):接地端。R/C(5脚):组容网络引脚。Thre(6脚):阈值电压脚。芯片内部的电压比较器会对此引脚上的电压和7脚CmpIn上的电压作比较。CmpIn(7脚):比较器电压输入脚。需要进行V/F转换的电压经过低通滤波后由此引脚输入。VCC(8脚):电源脚。可采用单、双电源供电,输入电压540V。 图3-4 LM331引脚图MC78L05电源电路由于数字气压计采用的是+15V电源供电,LM331工作于+15V,但是单片机、MPX4105等其他芯片需要+5V供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。电源电路选用摩托罗拉公司的三端低电流线性稳

33、压芯片MC78L05。MC78L05具有以下特点:1.输入电压范围:2.624V,输出+5V固定电压;2.具有内部短路电路限制和热过载保护功能;3.无须外部器件。其引脚分布如图3-5所示。各引脚功能说明如下:Vout(1脚):+5V固定电压输出脚。GND(2脚):接地端。Vin(3脚):电压输入脚,可输入的电压范围为2.624V。 图3-5 MC78L05引脚分布图数字气压计的硬件电路可分为4个部分:气压传感器、V/F转换电路、单片机电路和电源电路。气压传感和V/F转换电路的原理图如图3-6所示。 图3-6 基于MPX4105的数字胎压计系统气压传感及V/F转换电路原理图图3-5中,M1为气压

34、传感芯片MPX4105,它工作于+5V电压,将被测电压转换为输出电压(对应图中网络标号为Vin),送至V/F转换电路。电阻R10和电容C4构成典型的去耦合滤波电路。U2为V/F转换芯片LM331,它工作于+15V电压,此电路的设计可参考LM331的芯片资料。在此电路中,电压Vin和输出脉冲FO的频率fo的转换关系满足公式(1)。Fo=Kvin (1)其中,K=, Rs=R12+R13 (2)电路中,Rt、Ct和RL的典型值分别为6.8k、0.01pf和100k,Rs由一个定值电阻R12和一个可变电路R13串联组成,其中,R12为22k,R13的最大阻值为12k,通过可变电阻R13调节Rs的阻值

35、可以实现对电路转换增益的调整。气压的变化引起Vin的变化,而Vin在满刻度输出电压间距V内变化,V典型值为4.590V,所以Vin变化范围很小,那么根据fo=KVin的关系式,必须增大K值,才能提高测量的精度。fo通过单片机的定时/计数器1的计数测得,该计数器的计数范围为065536,500ms计数频率1次。因此,K值的选取还要考虑到计数器的计数范围。综合考虑之后,将K值设为2000,这样代入式(2)计算,可知R13的阻值应调节到6.424k。图3-5中,Cin和Rin构成低通滤波器,滤除输入电压信号中的干扰脉冲。其中,Cin取0.1,Rin取100k,C的取容值为1的漏极电流小的电容。3.3

36、 气压计电源与单片机电路部分数字气压计的设计的电源与单片机电路原理图如图所示。图3-7 基于MPX4105的数字胎压计系统设计及单片机电路原理图图3-7中,U3为电源转换芯片MC78L05,它将+15V电压转换为+5V电压,提供单片机和气压传感芯片使用。U1为单片机芯片AT89C52,工作于11.592MHz时钟,它的P3.5脚(定时/计数器1外部脉冲输入端)和FO相连,对脉冲序列计数,以获取频率信息,从而转换为气压值。U1的P0口和P2口是和数码管显示电路的接口,其中,P0口味8位段码,P2口提供5位位码(5位7段数码管显示),数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码

37、器、驱动器和显示器等部分组成,如图3-8所示。图3-8 数字显示电路组成方块图数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。最后给出该课题设计的完整原理图,如下图3-9所示: 图3-9 完整原理图4 软件设计就该设计的单片机而言,它的输入信号是具有一定频率的脉冲序列,通过单片机内部的计数器可以获得此脉冲序列的频率,此频率对应于某个气压值,如何将频率换算

38、成该气压值是软件设计首先需要考虑的问题。C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统4。其优势如下(1)可以大幅度加快开发进度,程序量越大,用C语言就越有优势。(2)无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程 (3)可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可

39、维护性都很好。(4)省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。(5)汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6)C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保

40、护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。(7)对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。4.1 如何由频率计算出气压值信号每一步的变换过程如下:第一步,被测气压经过气压传感器MPX4105转换成电压输出,根据MPX4105的芯片资料可知,输出电压VOUT和大气压P的关系如下VOUT=VCC(0.01P-0.09) (3)这里VCC为+5V,因此可得:VOUT=5(0.01P-0.09) (4)第二步,MPX4105的输出电压VOUT作为

41、输入电压Vin,经过V/F转换电路转变为具有对应频率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.2 程序流程图单片机实现数字气压计的程序流程如图4

42、-1所示。开 始设置计时器0设置计数器1While(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 C515是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发

43、调试工具,全Windows界面。Keil可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器中。Keil u Vision2 ADE是Keil software公司的产品,它集项目管理、编译工具、代码编写工具、代

44、码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。u Vision2本身自带项目管理器,其开发流程步骤如下:1开启u Vision2,建立工程文件并且从器件数据库里挑选出项目实际使用的器件。2建立一个新的源文件,并且把这个源文件添加到工程中去。为单片机添加并且设置启动代码。3设置硬件相关的选项。4编译整个工程并且生成下载到存储器用的HEX文件。5.2 PROTEUS软件介绍Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时

45、单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号