1、衢州学院单片机课程设计姓 名: 李泽豫 学 号: 4120112229 班 级: 材料成型及控制工程 2 班设 计 题 目 : 基于单片机控制的数字气压计的设计与实现2015/1/28摘 要本文介绍基于气压传感器 MPX4105 的精密数字气压计系统的软、硬件实现方法。通过气压传感器 MPX4105 获得与汽车胎压相对的模拟电压值,并经过电压/频率(V/F)转换模块转换为数字脉冲,通过单片机对此脉冲序列的计数等处理后获得实际的气压值,并通过数码管显示电路显示。阐述了系统的软件设计,以 C 语言为开发工具,进行了详细设计和编码。总体目标是实现系统的可靠性、稳定性、安全性和经济性。 关键词:气压传
2、感器;电压/频率转换;单片机;衢州学院1目 录目录.11 概述 31.1 课题背景 .31.2 技术概况及发展趋势 .31.3 数字胎压计系统设计的意义 .41.4 国内外相关技术 42 系 统总体设计 62.1 设计思路分析 62.1.1 设计方案一: .62.1.2 设计方案二: 62.2 系统总 体结构 72.3 系统各功能模块的设计思想 72.3.1 A/D 转换模块 72.3.2 数据处理模块 72.3.3 显示模块 72.4 气压传感器的选择 82.5 A/D 转换 器件的选择 92.6 三端稳压器 92.7 数码管显示 92.7.1 数码管静态显示 92.7.2 数码管动态显示
3、92.8 系统配置 .103 硬件电路设 计 .113.1 单片机电路部分 113.1.1 主要芯片介绍 .113.2 气压传感和 V/F 转换电路部分 .133.3 胎压计电源与单片机电路部分 .163.4 pcb 制作 .184 软件电路设计 204.1 用 C 语言开发单片机的优势 204.2 如何由频率计算出气压值 .204.3 程序流程图 .215 系统调试与仿真 .225.1 KEIL软件介绍 .225.2 PROTEUS 软件介绍 .22衢州学院25.3 单片机调试 仿真 235.4 原理图检查调试 245.5 器件连接调试 245.6 PCB 检查 255.7 程序调试仿真 2
4、7总结.28致谢.29参考文献30附录 131衢州学院31 概述1.1 课题背景如今,随着高速公路网的蓬勃兴起,交通的日趋发达,车辆行驶速度的不断攀升,交通隐患的防范问题迫在眉睫,如因车胎漏气和爆炸等原因造成的交通事故,很多是由轮胎的工作温度过高或者不合理胎压引起的。研究汽车轮胎胎压计,就对现代汽车行驶时的经济性、安全性和操纵稳定性具有尤为重要的现实意义。在汽车的高速行驶过程中,轮胎故障是所有驾驶者最为担心和最难预防的,也是突发性交通事故发生的重要原因。据相关统计资料数据表明,目前我国在高速公路上发生的交通事故有 70%80%是由于轮胎问题引起的,其中将近 50%为爆胎事故。怎样防止爆胎已成为
5、安全驾驶的一个重要课题。据专家分析,保持标准的车胎气压行驶和及时发现车胎漏气是防止爆胎的关键。为此,基于解决此类问题的各种胎压监测系统(TPMS)产品胎压计应运而生。轮胎气压计属于“事前主动”型安全保护装置,在轮胎出现危险征兆时及时报警,提醒驾驶员采取措施,将事故消灭在萌芽状态,确保汽车在行驶过程中始终处于安全状态。同时,利用胎压计获得轮胎信息,可以减少油耗,延长轮胎的使用寿命,也可以为底盘综合控制系统提供相关的信息和数据。我们的设计的是一种基于单片机的数字气压计的设计,主要针对的是汽车轮胎胎压计的设计。汽车轮胎胎压计是通过气压传感器获得与汽车轮胎胎压相对应模拟电压值,并经过 VF 变换输入到
6、单片机进行处理,从而实时显示相应气压值。由于使用胎压计有一定的参数要求,设计数字气压计时要 1仔细了解这些参数以防止使用不当而损坏胎压计。汽车轮胎胎压计采用高性能绝对压力传感器,屏幕显示出高准确度的汽车轮胎胎压,实现了对轮胎压力的实时监测。当汽车轮胎压力处于非正常状态运行时,通过报警来通知驾驶员,控制轮胎爆胎发生,以达到安全驾驶的目的。1.2 技术概况及发展趋势TPMS (Tire Pressure Monitoring System) 轮胎压力监视系统,主要用于在汽车行驶时实时的对轮胎气压进行自动监测。目前各国研制的轮胎气压报警系统主要分为两种类型:一种是间接式,它通过汽车 ABS(防抱制动
7、系统)的轮速传感器及轮胎的力学模型,间接求出轮胎气压,以达到监视轮胎气压的目地;另一种是直接式,它利用安装在每一个轮胎里的以锂离子电池为电源的压力传感器来直接测量轮胎的气压,并通过无线调制发射到安装在驾驶台的监视器上,而监视器随时显示各种轮胎气压,驾驶者可以直观地衢州学院4了解各个轮胎的气压状况,当轮胎气压太低或有渗漏时,系统就会自动报警,确保行车安全。市场研究机构 Strategy Analytics 的预测表明,直接系统技术将成为主流技术,2008 年后所占份额将超过 95%。因为如果要使用间接式胎压监测系统,前提是车辆必须有 ABS 系统。加上会影响轮胎转速的因素,除了胎压异常所导致外,
8、行驶的路面也是主要原因,如行驶于雪地或湿滑路面时,空转会使某一轮胎的旋转次数大幅提高。或者是当车子高速转弯时,车胎的抓地力已经无法克服过弯时的离心力,外侧轮胎与内侧轮胎的转动次数便有明显差异,这些情况便会出现错误警告信息。另外,当四条轮胎的胎压同时下降,系统便失去判定的准则,警告信息自然就不会出现。而且侦测功能仅在车辆行驶中才能发挥作用,对备胎或当车辆停滞时,便无法判断,还会出现误报现象。汽车高速行驶中,由于轮胎的压力不正常而造成爆胎是驾驶员难以预防的,也是突发性和恶性交通事故发生的重要原因。引起轮胎漏气和爆胎的原因主要有:(1)轮胎工作温度过高;(2)轮胎气压过大;(3)轮胎使用时间过长;(
9、4)轮胎负荷过大;(5)汽车行驶速度过快。为使汽车能够处于安全的驾驶状态,驾驶者必须在行车过程中实时了解轮胎的超压、欠压、温度等工作状态,我们设计的基于单片机的汽车轮胎胎压计具有以下的功能:(1)实时监测轮胎的压力情况;(2)当某个轮胎处于欠压状态时,相应的欠压报警指示灯亮。当汽车轮胎压力处于非正常状态运行时,通过报警来通知驾驶员,控制轮胎爆胎发生,以达到安全驾驶的目的。1.3 数字胎压计系统设计的意义由于汽车的迅速普及,人们对驾驶安全性与舒适性的追求越来越高,随车携带数字气压计可以保证人们安全驾驶,有效地降低由于爆胎导致的交通事故发生地概率。而服务商需要的是一种物美价廉的数字气压计,以满足有
10、车一族的需要。本课题设计充分利用了 MPX4105 芯片的功能,它满足数字气压计采集、控制和数据处理的需要,可提高系统稳定性和抗干扰能力。同时,由于大量的工作由单片机软件来实现,简化了设计电路,且调整方便、可兼顾的指标多,从而大大降低了成本。另外,作为一种功能强大的平台,该数字气压计具有很好的功能扩展性,具有精度高、稳定性好、功能易于扩展等优点,为仪器及电子产品设计后续技术升级,以进一步满足市场的需要提供了条件。1.4 国内外相关技术对轮胎爆胎进行预警是保障汽车安全行驶的关键所在,已成为汽车行业研究的热点问题。在轮胎爆胎预警系统及相关技术的研究发面,美国、日本、德国、法国、英国在衢州学院5近几
11、年都取得了突破性的进展,形成了性能和功能完善5的轮胎压力监测系统产品。从近年发布的世界新车资料来看,林肯大陆、奔驰、宝马、标志、道奇等中高档车均安装了轮胎压力监测装置,用于监测汽车行驶过程中轮胎气压,车内主控机板显示模块实时显示轮胎气压状态。据中国汽车工业协会相关市场调查表明,国内轮胎爆胎预警系统的相关产品有推出,但都是技术性能不甚完善简易系统产品,存在以下缺点:系统工作寿命极短;系统在低温或高温环境下失效;工作可靠性较差。而性能可靠、功能完善、技术成熟的产品均是一些国外知名公司的品牌产品,但价格较为昂贵。因此,研制性能可靠、功能完善并且价格能为当前多数国内消费者所接受的轮胎爆胎预警技术产品很
12、有必要。国内汽车行业正迫切需求成熟的轮胎爆胎预警系统及产品的投放市场以解决因轮胎爆胎而引起的行驶安全性问题。衢州学院62 系统总体设计2.1 设计思路分析2.1.1 设计方案一:采用单片机主控,通过压力传感器、A/D 转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如下:图 2-1 方案一原理图2.1.2 设计方案二:采用集成的单片机主控,通过压力传感器将气压信号送入带 A/D 转换的单片机中,以及在相关模拟分立元件的辅助下进行 A/D 转换以及其它的数据处理,将处理的结果送显示部分进行显示。原理原理框图如下:图 2-2 方案二原理图
13、综上所述,方案一电路虽然与方案二类似,都较方案一调整方便、可兼顾的指标多,但方案一利用 PC 机平台实现软件操作,在操作运行复杂,并且性价较底,因为耗费较大,所以在实际应用中一般不用,所以我们选择第二种方案。设计 51 单片机数字气压计系统时,需要考虑下面 4 个方面的内容。选择合适的气压传感器芯片,这要根据实际需要以及各种气压传感器的性能参数来决定。选择合适的 A/D 转换器件,它的作用是将气压传感器输出的模拟电流或电压信号转换为数字信号。设计单片机和 A/D 转换器件的接口电路。实现气压信息采集并输出的软件设计。压力传感器A/D转换器单片机控制的主控制器显示器总线单片机控制的检测系统气压传
14、感器显示器微处理器89C52衢州学院72.2 系统总体结构本系统的总体结构框图如图 2-1 所示。基于单片机的数字气压计设计初始化模块 A/D 转换模块 数据处理模块 显示模块图 2-3 单片机数字气压计系统结构框图由图 2-3 可知,整个系统的工作流程如下。测量时被测气压由气压传感器转换为模拟的电压输出,此输出信号不能直接交由单片机处理。因此,需要经过 V/F 转换模块把气压传感器输出的模拟电压信号转换为数字脉冲(其频率随输入电压呈线性变化) 。通过单片机接收该脉冲信号,得到单位时间内获得的脉冲数,依据电压与频率的线性关系式计算出所对应的实际气压值,最后通过数码管显示电路显示给用户。2.3
15、系统各功能模块的设计思想通过对单片机各个端口的设置,以及定时器工作方式和串行口工作方式的选择,并对定时器和串行口进行初始化用以实现对单片机和各个功能模块芯片之间通讯联络的设定。在主程序模块中我们关键是使单片机初始化,以及分配地址空间交代程序中各个变量等。其中最为关键的是连接子程序的各个功能模块。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 端口来控制选通每个数码管的位选端。衢州学院8在数据的显示模块中,我们采用的是 LED 动态显示的方式。其具体的实现过程在上述设计思想中详细说明。7 段数码管选用共阳连
17、接方式,通过端口输出编码后的段码,对应笔画为“高电平“时点亮。2.4 气压传感器的选择气压传感器对于数字气压计设计的实现至关重要,需要综合实际的需求和各类气压传感器的性能参数加以选择。气压传感器的主要性能参数如下。测量范围即所能测量的大气压力范围,单位为 kPa。测量精度测量结果(电流或电压)的精度。温度补偿范围一般要选用具有温度补偿能力的气压传感器,因为温度补偿特性可以克服半导体压力敏感器件存在的温度漂移问题。测量的是否是绝对气压值绝对气压值对应的即是实际的气压值,显然要实现数字气压计需要测量绝对气压值的气压传感器。数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求
18、使用具有温度补偿能力的气压传感器7。经过综合考虑,我们选用美国摩托罗拉公司的集成压力传感器芯片 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。理想
19、的微处理器接口。衢州学院92.5 A/D 转换器件的选择气压传感器 MPX4105 输出的是模拟电压,因此,必须进行 A/D 转换才能交由单片机处理。关于 A/D 转换,其模块的特点是:转换分辨率为 10 位,最多含 8 个输入通道和一个内部温度传感器。我采用一种电压/频率(V/F)转换电路来实现模拟电压的数字化处理。V/F 转换电路由 V/F 器件实现。V/F 器件的作用是将输入电压的幅值转换成频率与输入电压幅值成正比的脉冲序列,虽然 V/F 器件本身还不能算做量化器,但加上定时器与计数器以后也可以实现 A/D 转换。V/F 器件的突出特点就是它能够把模拟电压转换成抗干扰能力强、可远距离传送
20、并能直接输入单片机接口的脉冲序列。通过测试 V/F 的输出频率。可以实现 A/D 转换功能。针对电路的实际需要,并考虑到外围电路实现的难易程度和相应的性能指标,我选用国家半导体公司的芯片 LM331 来实现 A/D 转换。LM331 是一款高精度电压/频率转换芯片,它具有以下特点:最大非线性误差为 0.01%。可单、双电源供电,电压范围为 540V。脉冲输出可兼容任何逻辑形式。内部具有温度补偿能隙基准电路,因而具有极佳的温度稳定性,最大温漂为50ppm/。宽的满量程频率范围:1Hz100KHz。2.6 三端稳压器本设计中的 LM331 工作电源采用+15V,但是单片机、MPX4105 等其他芯
21、片需要+5V 供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。选用摩托罗拉公司的三端低电流线性稳压芯片 MC78L05 作为电源电路。其输入电压范围:2.624V,输出+5V 固定电压;具有内部短路电路限制和热过载保护功能,无需外部元器件。2.7 数码管显示2.7.1 数码管静态显示当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止,这种显示方式每一位都需要一个 8 位输出口控制。静态显示时,较小的电流能得到较高的亮度且字符不闪烁,当显示器位数较少时,采用静态显示的方法是合适的。2.7.2 数码管动态显示一位一位地轮流点亮显示器各个位,对于显示器的某一位来说,每隔一段时间点
22、亮衢州学院10一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。若显示器的位数不大于 8,则控制显示器公共极电位只需一个 I/O 口,控制显示器的各位所显示的字型也只需一个 8 位口。单个LED是由段发光二极管构成的显示单元。有10个引脚,对应于个段、1个小数点和2个公共端9。本设计中需要用5个LED组成显示单元,共阴极接法,所以我们采用数码管动态显示。2.8 系统配置我们以 AT89C52 单片机为整个系统的核心,通过气压传感器对气压信号的采集、控制、放大等处理完成气压参数的自动获取,以及进行数
23、字显示等等。在此过程中需要利用 AT89C52 单片机内部的定时器对其进行度量,再使用软件模块对其进行处理,即得到了 A/D 转换的结果。进行多次 A/D 转换后,我们就可以采集到一脉冲序列的数据,对这些数据进行适当的处理,最后通过数码管显示电路显示给用户,进而达到了我们对整个系统设计的基本要求。衢州学院113 硬件电路设计经过之前的分析,单片机系统中的数码管显示电路,它通常由译码器、驱动器和显示器等部分组成,是将采集到得气压值通过数码管显示的电路。硬件电路离不开功能性器件,因此首先来看看本数字胎压计所采用的主要器件。3.1 单片机电路部分3.1.1 主要芯片介绍89C52 单片机89C52
24、单片机的 40 条引脚按功能来分,可以分为 3 部分,电源及时钟引脚、控制引脚和输入/输出引脚。如下图 3-1 所示:图 3-1 单片机引脚图89C52 单片机引脚功能主电源及时钟引脚此类引脚包括电源引脚 Vcc、Vss、时钟引脚 XTAL1、XTAL2。(1)Vcc(40 脚):接+5V 电源,为单片机芯片提供电能。(2)Vss(20 脚)接地。衢州学院12(3)XTAL1(19 脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片内的振荡器,可提供单片机的时钟控制信号。(4)XTAL2(18 脚)在单片机内部,接至上述振荡器的反向输出端。控制引脚此类引脚包括 RESET(即 RS
25、R/VPD) 、ALE/PROG、PSEN、EA/VPP,可以提供控制信号,有些具有复用功能。(1)RSR/ VPD(9 脚):复位信号输入端,高电平有效,当振荡器运行时,在此引脚加上两个机器周期的高电平将使单片机复位(REST) 。复位后应使此引脚电平保持为不高于 0.5V 的低电平,以保证单片机正常工作。掉电期间,此引脚可接上备用电源(VPD) ,以保持内部 RAM 中的数据不丢失。当 Vcc下降到低于规定值,而 VPD 在其规定的电压范围内(50.5V)时,VPD 就向内部 RAM 提供备用电源。(2)ALE/PROG(30 脚):ALE 为地址锁存允许信号。当单片机访问外部存储器时,A
26、LE(地址锁存允许)输出脉冲的下降沿用于锁存 16 位地址的低 8 位。即使不访问外部存储器,ALE 端仍有周期性正脉冲输出,其频率为振荡器频率的 1/6。但是每当访问外部数据存储器时,在两个机器周期中 ALE 只出现一次,即丢失一个 ALE 脉冲。ALE 端可以驱动 8 个 LSTTL 负载。(3)PSEN(29 脚):程序存储器允许输出控制端。此输出为单片内访问外部程序存储器的读选通信号。在从外部程序存储器取指令(或取常数)期间,每个机器周期均PSEN 两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的 PSEN 信号将不会出现。PSEN 同样可以驱动 8 个 LSTTL 负载。
27、(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 负载。(2)P1(P1.0P2.7)是一个 8 位准双向 I/O 口(作为输入
28、时,口锁存器置 1) ,带衢州学院13有内部上拉电阻,可带 4 个 LSTTL 负载。(3)P2(P2.0P2.7)是一个 8 位准双向 I/O 口,与地址总路线高 8 位复用,可驱动 4 个 LSTTL 负载。(4)P3 口功能表,如下表 1.1 所示表 1.1 P3 口功能表P3 口各个位的第二功能P3 口的位 第二功能 说明P3.0 RXD 串行数据接收口P3.1 TXD 串行数据发射口P3.2 INT0 外部中断 0 输入P3.3 INT1 外部中断 1 输入P3.4 T0 计数器 0 计数输入P3.5 T1 计数器 1 计数输入P3.6 WR 外部 RAM 写信号P3.7 RD 外部
29、 RAM 读信号3.2 气压传感和 V/F 转换电路部分MPX4105 压力传感芯片气压传感器选用摩托罗拉公司生产地集成压力传感芯片 MPX4105,其引脚分布如图3-2 所示。图 3-2 MPX4105 引脚分布图 MPX41001 2 3 4 5 6VOUT GND VCC NC NC NC衢州学院14各引脚功能说明如下:VOUT(1 脚):电压输出脚。GND(2 脚):接地端。NC(4、5、6 脚):空引脚,用于芯片内部连接,悬空不适用。LM331 电压/频率转换器电压/频率转换器选用国家半导体公司的高精度 V/F 转换芯片 LM331,其引脚分布如图 3-3 所示。LM33112347
30、665CORefCFOGNDVCCCmpInThreR/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 脚):电源脚。可采
31、用单、双电源供电,输入电压 540V。MC78L05 电源电路由于数字胎压计采用的是+15V 电源供电,LM331 工作于+15V,但是单片机、MPX4105等其他芯片需要+5V 供电,因此还需要设计专门的供电电路以满足整个系统的电源需求。电源电路选用摩托罗拉公司的三端低电流线性稳压芯片 MC78L05。MC78L05 具有以下特点:输入电压范围:2.624V,输出+5V 固定电压;衢州学院15具有内部短路电路限制和热过载保护功能;无须外部器件。其引脚分布如图 3-3 所示。各引脚功能说明如下:Vout(1 脚):+5V 固定电压输出脚。GND(2 脚):接地端。Vin(3 脚):电压输入脚,
32、可输入的电压范围为 2.624V。MC78L051 2 3Vout GND Vin图 3-4 MC78L05 引脚分布图数字胎压计的硬件电路可分为 4 个部分:气压传感器、V/F 转换电路、单片机电路和电源电路。气压传感和 V/F 转换电路的原理图如图 3-5图 3-5 气压传感和 V/F 转换电路的原理图基于 MPX4105 的数字胎压计系统气压传感及 V/F 转换电路原理图图 3-5 中,U3 为气衢州学院16压传感芯片 MPX4105,它工作于+5V 电压,将被测电压转换为输出电压(对应图中网络标号为 Vin) ,送至 V/F 转换电路。电阻 R5 和电容 C7 构成典型的去耦合滤波电路
33、。U2 为 V/F 转换芯片 LM331,它工作于+15V 电压,此电路的设计可参考 LM331 的芯片资料。在此电路中,电压 Vin 和输出脉冲 FO 的频率 fo 的转换关系满足公式(1) 。Fo=Kvin (1)其中,K= , Rs=R2+R3 (2)RtCsL109.2电路中,Rt、Ct 和 RL 的典型值分别为 6.8k、0.01pf 和 100k,Rs 由一个定值电阻 R2 和一个可变电路 R3 串联组成,其中,R2 为 22k,R3 的最大阻值为 12k,通过可变电阻 R3 调节 Rs 的阻值可以实现对电路转换增益的调整。气压的变化引起 Vin 的变化,而 Vin 在满刻度输出电
34、压间距 V 内变化,V 典型值FSFS为 4.590V,所以 Vin 变化范围很小,那么根据 fo=KVin 的关系式,必须增大 K 值,才能提高测量的精度。fo 通过单片机的定时/计数器 1 的计数测得,该计数器的计数范围为065536,500ms 计数频率 1 次。因此,K 值的选取还要考虑到计数器的计数范围。综合考虑之后,将 K 值设为 2000,这样代入式(2)计算,可知 R3 的阻值应调节到6.424k。图 3-5 中,Cin 和 Rin 构成低通滤波器,滤除输入电压信号中的干扰脉冲。其中,Cin 取 0.1 ,Rin 取 100k,C 的取容值为 1 的漏极电流小的电容。fLf3.
35、3 胎压计电源与单片机电路部分数字胎压计的设计的电源与单片机电路原理图如图图 3-6 所示衢州学院17图 3-6 基于 MPX4105 的数字胎压计系统设计及单片机电路原理图图 3-6 中,U4 为电源转换芯片 MC78L05,它将+15V 电压转换为+5V 电压,提供单片机和气压传感芯片使用。U1 为单片机芯片 AT89C52,工作于 11.592MHz 时钟,它的 P3.5脚(定时/计数器 1 外部脉冲输入端)和 FO 相连,对脉冲序列计数,以获取频率信息,从而转换为气压值。U1 的 P0 口和 P2 口是和数码管显示电路的接口,其中,P0 口味 8 位段码,P2 口提供 5 位位码(5
36、位 7 段数码管显示) ,数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器等部分组成 图 3-7 数字显示电路组成方块图数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上) ,另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地) 。最后给出该课题设计的完整原理图,如下图 3-8 所示:衢州学院18图 3-8 电路完整原理图3.4 pcb 制作经过前面的努力,数字气压计硬件电路的设
37、计在已经完成, PROTEL99SE 是一个全32 位的电路板设计软件,使用该软件可以容易地设计电路原理图、画元件图、设计电路板图、画元件封装图和电路仿真。在这里主要用它来绘制电路原理图和生成印制电路板。下面简要说明一下我们上面用 PROTEL 画好的电路原理图的设计步骤如下:(1)设置原理图设计环境。其中,工作环境设置是使用 Design/Options 和 Tool 和Preferences 菜单进行的,画原理图环境的设置主要包括图纸大小、捕捉栅格、电气栅格、模板设置等。(2)放置元件,将电气和电子元件放置在图纸上。(3)原理图布线。元件一旦放置在原理图上,不需要用导线将元件连接起来,连接
38、时一定要符合电气规则。(4)编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。(5)检查原理图。使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告,若有错误则要根据错误进行改正。衢州学院19(6)生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的关系。(7)打印原理图。对电路板的设计主要分为以下几个步骤;(1)使用原理图编辑器设计原理图,进行电气检查(ERC)并生成原理图的网络表。(2)进入电路板(PCB)环境,使用电路向导确定电路板的层数、尺寸等电路板参数。(3)使用 Design/Net
39、list 菜单,调入网络表。(4)布置元件,就是将元件合理地分布在电路板上。自动布置元件或人工布置元件,多次布置直到自己满意为止。(5)完成修饰等工作,完成整个电路板的设计。衢州学院204 软件设计就该设计的单片机而言,它的输入信号是具有一定频率的脉冲序列,通过单片机内部的计数器可以获得此脉冲序列的频率,此频率对应于某个气压值,如何将频率换算成该气压值是软件设计首先需要考虑的问题。4.1 用 C 语言开发单片机的优势C 语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用 C 语言来
40、编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统11。其优势如下:(1)可以大幅度加快开发进度,程序量越大,用 C 语言就越有优势。(2)无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。(3)可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。(4)省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用 C 语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有
41、效地避免了人工分配单片机资源的差错。(5)汇编语言的可移植性很差,而 C 语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6)C 语言提供 auto、static、flash 等存储类型,针对单片机的程序存储空间、数据存储空间及 EEPROM 空间自动为变量合理地分配空间,而且 C 语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C 编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且 C 编译器能自动生成一些硬件的初始化代码。(7)对于一些复杂系统的开发,可以通过移植(或 C 编译器提供)的实时操作系统来实现
42、。正由于 C 语言在系统开发中的优势,这次设计的所有程序设计都将采用 C 语言编写。衢州学院214.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 转换电路转变为具有对应频率 fo 的脉冲序列 FO。Vin 和 FO 的这种对应关系如上一
43、节的式(1)所示。综合式(1)和式(4) ,根据 VOUT=Vin,可得:P= = +9 (5)0.95Kfofo2式(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 所示。开 始设
44、置计时器 0设置计数器 1While(1);50ms 定时器 0服务子程序ET0=0;count+;Count=10?ET0=1;TR1=1;调用显示函数计算气压值TR1=0;count=0;图 4-1 单片机实现数字气压计的程序流程图衢州学院225 系统调试与仿真本次设计由我和黄欢欢同学共同完成,本人主要负责硬件方面的工作,而黄欢欢同学主要负责本次设计的软件部分。我们这个设计的仿真软件主要讲述的是 Keil 软件与 Proteus 软件的结合与应用。5.1 Keil 软件介绍Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统。与汇编相
45、比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。Keil 可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 A51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS)。ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51或 tScope51 使用进行源代码级调试,也
46、可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器中。Keil u Vision2 ADE 是 Keil software 公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。u Vision2 本身自带项目管理器,其开发流程步骤如下:开启 u Vision2,建立工程文件并且从器件数据库里挑选出项目实际使用的器件。建立一个新的源文件,并且把这个源文件添加到工程中去。为单片机添加并且设置启动代码。设置硬件相关的选项。编译整个工程并且生成下载到存储器用的 HEX 文件。5.2 PROTEUS 软件介绍P
47、roteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机 CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。Proteus 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和衢州学院23数字信号。对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总
48、体执行效果的调试方法,只需要执行 debug 菜单下的 execute 菜单项或 F12 快捷键启动执行,用 debug 菜单下的 pause animation 菜单项或 pause 键暂停系统的运行;或用 debug 菜单下的 stop animation 菜单项或 shift-break 组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试,应先执行 debug 菜单下的 start/restart debugging 菜单项命令,此时可以选择 stepover、step into 和 step out 命令执行程序(可以用快捷键 F10、F11 和 ct
49、rl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了 start / restart debuging 命令后,在 debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。运行 proteus 的 ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置 view菜单下的捕捉对齐和 system 下的颜色、图形界面大小等项目。通过工具栏中的 p(从库中选择元件命令)命令,在 pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在 source 菜单的 Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在 source菜单的 Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过 debug菜单的相应命令仿真程序和电路的运行情况。5.3 单片机调试仿真这里我们采用 proteus