收藏 分销(赏)

数字气压计设计.doc

上传人:快乐****生活 文档编号:4945312 上传时间:2024-10-20 格式:DOC 页数:29 大小:801.04KB 下载积分:10 金币
下载 相关 举报
数字气压计设计.doc_第1页
第1页 / 共29页
数字气压计设计.doc_第2页
第2页 / 共29页


点击查看更多>>
资源描述
目录 引言 2 1.1课题背景 2 1.2 本课题国内外研究现状 2 1.3本课题的研究意义 3 1.4 本课题相关理论综述 3 系统总体设计 5 2.1设计思路分析 5 2.2系统总体结构 5 2.3系统各功能模块的设计思想 6 2.3.1数据采集模块的芯片选择 6 2.3.2 A/D转换模块 7 2.3.3单片机控制模块 8 2.3.4显示模块 11 硬件电路设计 13 3.1 气压传感电路 13 3.2单片机控制电路 13 3.3 A/D转换模块 14 3.4显示模块 14 3.5系统总体电路图 15 软件设计 16 4.1用C语言开发单片机的优势 16 4.2程序流程图 17 4.3 系统程序 18 4.3.1 源程序代码 18 系统调试与仿真 23 5.1 Keil软件介绍 23 5.2 PROTEUS软件介绍 23 5.3 单片机调试仿真 24 结束语 26 参考文献 27 1.引言 1.1课题背景 数字气压计是利用压敏元件将待测气压直接变换为容易检测、传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备。其中的核心元件就是气压传感器,它在监视压力大小、控制压力变化以及物理参量的测量等方面起着重要作用。运用于气压计的气压传感器基本都是依靠不同高度时的气压变化来获取气压值的。相对比于普通的水银气压计,有准确易读,易携带的优点。 气象学研究表明,在垂直方向上气压随高度增加而降低。例如在低层,每上升100m气压便降低10hPa;在5~6km的高空,高度每增加100m,气压便会降低7hPa;而当高度进一步增加时,即到9~10km的高空之后,高度每增加100m,气压便会降低5hPa;同样,若空气中有下降气流时,气压会增加;若空气中有上升气流时,作用于空气柱底部的气压就会减小。一般把作用于单位面积上空气柱的重量称为大气压力。 数字气压计大量应用在各种工矿企业,野外作业,消费类电子产品等等的地方。需求极为广泛。 1.2 本课题国内外研究现状 常见气压计有液体气压计和盒式气压计。飞机上使用的高度计实际上是用盒式气压计改装成的。常见的液体气压计有水银气压计和酒精气压计2种,这2种都是老式的气压计,体积大,精度低,不方便携带且容易坏,当今社会科技高速发展,各行各业不断出现新技术新材料,气压测量这块也是这样,盒式气压计的出现部分的解决了液体气压计所无法解决的缺点,比如体积、方便携带等等。人类社会进入20世纪90年代以后微电子行业发展极为迅速,各种各样的电子传感器被发明且被运用到各行各业,为人们的生产生活创造了极大的便利。数字气压传感器亦已出现,并大量被运用,甚至现在很多手持设备中都已经加入了气压计功能,比如手机,GPS等,方便了人们的出行旅游。 目前国际国内很多公司都推出了其数字气压传感器,如摩托罗拉公司的MPX4105和Intersema公司的MS5534b另外还有华普微电子的HP03系列数字气压传感器。众多数字气压传感器的出现使得多样化的数字化气压测量装置、用品大量出现,并越来越普及,精度也越来越高。数字气压计一般不会只有测量气压一种功能,一般都有其他的功能,比如测温度、指南针、码表等等的功能。 微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。本次设计也将采用微控制器作为电子气压计的数据采集处理和控制元件。 微控制器可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。 气压传感器和微电子控制器的结合,可以创造出很多应用,可以说只要能有好的想法,一般都可以实现,气压计已经由以前的只有专业场合专业人士才能使用的测量器具变成今天的随处可见,方便使用的电子产品,并集成到众多的电子产品中,都归功于电子行业技术发展和很多有创新精神开发者。 1.3本课题的研究意义 本课题是要设计一个利用微控制和数字化气压传感器为核心元件组成的电子气压计系统。微控制和数字化气压传感器的结合可以使得气压计的设计更具灵活性,测量精度相对于液体气压计也有了显著提高。测量结果的显示也更直观,并可灵活的加入超压、低压报警等特殊功能,以满足某些特定需要。 通过本次设计也较好的锻炼了本人的动手能力,为将来的工作打下了一定的基础,同时可以充分利用课堂所学知识进行本课题的设计,在运用这些知识的过程中,加深了对这些知识的理解。 1.4 本课题相关理论综述 在设计电子气压计之前首先要搞清楚气压的定义。气压是作用在单位面积上的大气压力,即等于单位面积上向上延伸到大气上界的垂直空气柱的重量。气压以百帕(hPa)为单位,取一位小数。国际制单位:帕斯卡,简称帕,符号是Pa。常用单位:标准大气压。表示气压的单位,习惯上常用水银柱高度。例如,一个标准大气压等于760毫米高的水银柱的重量,它相当于一平方厘米面积上承受1.0336公斤重的大气压力。由于各国所用的重量和长度单位不同,因而气压单位也不统一,这不便于对全球的气压进行比较分析。因此,国际上统一规定用"百帕"作为气压单位。经过换算:   一个标准大气压=1013百帕(毫巴)   1毫米水银(汞柱)柱高=4/3百帕(毫巴)   1个标准大气压=760mm水银(汞柱)柱高。 气压产生的原因:从分子动理论可知,气体的压强是大量分子频繁地碰撞容器壁而产生的。单个分子对容器壁的碰撞时间极短,作用是不连续的,但大量分子频繁的碰撞器壁,对器壁的作用力是持续的、均匀的,这个压力与器壁面积的比值就是压强大小。 影响压强的因素:气压的大小与海拔高度、大气温度 、大气密度等有关,一般随高度升高按指数律递减。气压有日变化和年变化。一年之中,冬季比夏季气压高。一天中,气压有一个最高值、一个最低值,分别出现在9~10时和15~16时,还有一个次高值和一个次低值,分别出现在21~22时和3~4时。气压日变化幅度较小,一般为0.1~0.4千帕,并随纬度增高而减小。气压变化与风、天气的好坏等关系密切,因而是重要气象因子。通常所用的气压单位有帕(Pa)、毫米水银柱高(mm·Hg)、毫巴(mb)。它们之间的换算关系为:100帕=1毫巴≈3/4毫米水银柱高。气象观测中常用的测量气压的仪器有水银气压表、空盒气压表、气压计。温度为0℃时760毫米垂直水银柱高的压力,标准大气压最先由意大利科学家 托里拆利 测出。 2.系统总体设计 2.1设计思路分析 基于MPX4115的数字气压计包括软硬件的设计与调试。软件部分通过对C语言的学习和对单片机知识的了解,根据系统的特点编写出单片机程序。硬件部分分为四大块,包括非电信号数据的采集、转换、处理以及显示:。通过对设计的了解,选择适合的器件,画出原理图。 2.2系统总体结构 硬件部分由四部分构成,它们分别是:信息采集模块,数据转换模块,信息处理模块和数据显示模块。采用单片机主控,通过压力传感器、A/D转换采集数据信息,经过含有单片机的检测系统检测,将结果传送到单片机控制的主控器,数据通过显示器显示。原理框图如图2-1所示。 图2-1 系统结构框图 设计51单片机数字气压计系统时,需要考虑下面4个方面的内容。 ·选择合适的气压传感器芯片,这要根据实际需要以及各种气压传感器的性能参数来决定。 ·选择合适的A/D转换器件,它的作用是将气压传感器输出的模拟电流或电压信号转换为数字信号。 ·设计单片机和A/D转换器件的接口电路。 ·实现气压信息采集并输出的软件设计。 2.3系统各功能模块的设计思想 2.3.1数据采集模块的芯片选择 压力传感器对于系统至关重要,需要综合实际的需求和各类压力传感器的性能参数加以选择。一般要选用有温度补偿作用的压力传感器,因为温度补偿特性可以克服半导体压力传感器件存在的温度漂移问题。 本设计要实现的数字气压计显示的是绝对气压值,同时为了简化电路,提高稳定性和抗干扰能力,要求使用具有温度补偿能力的压力传感器。经过综合考虑,本设计选用美国摩托罗拉公司的集成压力传感器。MPX4115可以产生高精度模拟输出电压。MPX4115系列压电电阻传感器是一个硅压力传感器。这个传感器结合了高级的微电机技术,薄膜镀金属。还能为高水准模拟输出信号提供一个均衡压力。在0℃-85℃的温度下误差不超过1.5%,温度补偿是-40℃-125℃。数据采集模块由压力传感器MPX4115构成。其中1脚是输出信号端,输出的是与气压值相对应的模拟电压信号。MPX4115的实物图如图2-2所示。 图2-2 MPX4115的实物图 2.3.2 A/D转换模块 ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。   ADC0832具有以下特点: ● 8位分辨率; ● 双通道A/D转换; ● 输入输出电平与TTL/CMOS相兼容; ● 5V电源供电时输入电压在0~5V之间; ● 工作频率为250KHZ,转换时间为32μS; ● 一般功耗仅为15mW; ● 8P、14P—DIP(双列直插)、PICC多种封装; ● 商用级芯片温宽为0°C to +70°C?,工业级芯片温宽为40℃ to +85℃ ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,其功能项见官方资料。   如资料 所示,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了,如图2-3为ADC0832实物图。 图2-3 ADC0832实物图 2.3.3单片机控制模块 AT89C51是一个低电压,高性能CMOS 8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。如图2-4为AT89C51单片机实物图。 图2-4 引脚描述 VCC:电源电压 GND:地 P0口: P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。 P1口: P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,P1口接收低8位地址。 P2口: P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。闪烁编程或校验时,P2口接收高位地址和其它控制信号。 P3口: P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。 P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示。 表2-1 P3口第二功能 端口引脚 第二功能 P3.0 RXD P3.1 TXD P3.2 INT0 P3.3 INT1 P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD P3口还接收一些用于闪烁存储器编程和程序校验的控制信号。 RST: 复位输入。当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。 ALE/: 当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作。这个位置后只有一条MOVX和MOVC指令ALE才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效。 PSEN: 程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的PSEN 信号不出现。 EA/VPP: 外部访问允许。欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平。需要注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平,CPU则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP。 XTAL1:震荡器反相放大器及内部时钟发生器的输入端。 XTAL2:震荡器反相放大器的输出端。 2.3.4显示模块 本设计采用四位一体共阴二极管显示器74SE-MPX4-CC显示,1234为共阴端,其实物图如图2-5所示。 图2-5 74SE-MPX4-CC实物图 (6) 本设计采用LED动态扫描显示,原理如下: (1)P23、P22、P21、P20输出高电平,关闭所有数码管; (2)显示个位——把要显示的数据送到P10~P17,P23送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P23送高电平; (3)显示十位——把要显示的数据送到P10~P17,P22送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P22送高电平; (4)显示百位——把要显示的数据送到P10~P17,P21送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P21送高电平; (5)显示千位——把要显示的数据送到P10~P17,P20送低电平,延时5豪秒(时间不能太长,否则数码管会闪烁),P20送高电平。 (6)以此顺序循环,把它做成子程序,在主循环中调用。 3.硬件电路设计 3.1 气压传感电路 数据采集模块由压力传感器MPX4115构成,电路原理图如图3-1所示。 图3-1 MPX4115原理图 3.2单片机控制电路 单片机控制模块采用AT89C51单片机,控制原理图如图3-2所示。 图3-2 单片机控制原理图 3.3 A/D转换模块 A/D转换模块采用A/D转换芯片ADC0832,原理图如图3-3所示。 图3-3 ADC0832原理图 3.4显示模块 本设计采用四位一体共阴二极管显示器74SE-MPX4-CC显示,原理图如图3-4所示。 图3-4 74SE-MPX4-CC原理图 3.5系统总体电路图 本系统对应的总体电路原理图如图3-5所示。 图3-5 系统总体原理图 4.软件设计 4.1用C语言开发单片机的优势 C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统[11]。其优势如下: (1)可以大幅度加快开发进度,程序量越大,用C语言就越有优势。 (2)无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。 (3)可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。 (4)省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。 (5)汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。 (6)C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。 (7)对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。 正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。 4.2程序流程图 系统总流程图 A/D转换程序流程图 显示流程图 主函数流程图 4.3 系统程序 4.3.1 源程序代码 #include <reg51.H> #include "intrins.h" #define uint unsigned int #define uchar unsigned char sbit ADCS =P2^0; //ADC0832 chip seclect sbit ADDI =P3^7; //ADC0832 k in sbit ADDO =P3^7; //ADC0832 k out sbit ADCLK =P3^6; //ADC0832 clock signal080307208 unsigned char dispbitcode[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7 f}; unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; unsigned char dispbuf[4]; uint temp; uchar getdata; void delay_1ms(void) { unsigned char x,y; x=3; while(x--) { y=40; while(y--); } } void display(void) { char k; for(k=0;k<4;k++) { P1 = dispbitcode[k]; P0 = dispcode[dispbuf[k]]; if(k==1) P0&=0x7f; delay_1ms(); } } unsigned int Adc0832(unsigned char channel) { uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0; _nop_(); _nop_(); ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); ADCLK=1; ADDI=channel&0x1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); ADCLK=1; ADDI=(channel>>1)&0x1; _nop_(); _nop_(); ADCLK=0; ADDI=1; _nop_(); _nop_(); dat=0; for(i=0;i<8;i++) { dat|=ADDO; ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); dat<<=1; if(i==7)dat|=ADDO; } for(i=0;i<8;i++) { j=0; j=j|ADDO; ADCLK=1; _nop_(); _nop_(); ADCLK=0; _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1; } ADCS=1; ADCLK=0; ADDO=1; dat<<=8; dat|=ndat; return(dat); //return ad k } void main(void) { while(1) { unsigned int temp; float press; getdata=Adc0832(0); if(14<getdata<243) { int vary=getdata; press=((10.0/23.0)*vary)+9.3; temp=(int)(press*10); dispbuf[3]=temp/1000; dispbuf[2]=(temp%1000)/100; dispbuf[1]=((temp%1000)%100)/10; dispbuf[0]=((temp%1000)%100)%10; display(); } } } 5.系统调试与仿真 本设计的仿真软件主要讲述的是Keil软件与Proteus软件的结合与应用。 5.1 Keil软件介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。Keil可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存储器中。 Keil u Vision2 ADE是Keil software公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。 u Vision2本身自带项目管理器,其开发流程步骤如下: ·开启u Vision2,建立工程文件并且从器件数据库里挑选出项目实际使用的器件。 ·建立一个新的源文件,并且把这个源文件添加到工程中去。 ·为单片机添加并且设置启动代码。 ·设置硬件相关的选项。 ·编译整个工程并且生成下载到存储器用的HEX文件。 5.2 PROTEUS软件介绍 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12 快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试,应先执行debug菜单下的start/restart debugging菜单项命令,此时可以选择stepover、step into和step out命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。 运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Definecode generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/removesource files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。 5.3 单片机调试仿真 本设计我采用proteus的系统总体执行效果调试方法进行调试。这里单片机时钟工作在11.0592MHZ。如下图5-1所示为仿真效果图。 图4-1 仿真效果图 结束语 气压计被广泛应用于国防、工业等各个领域。传统气压表精度低、显示单一;本系统设计的数字气压计采用单片机控制,具有使用方便、精度高、显示简单和灵活性等优点,而且可以大幅提高被控气压的技术指标,从而能够大大提高产品的质量。 本次毕业设计在自己的努力,同学的帮助,老师的指点下已全部完成,结果重要,过程也很珍贵,在做毕业设计的过程中我学到了好多知识和经验,仔细认真的想想总结一下将对自己是个质的提升。现先将此次毕业设计的成果简要汇报如下: •完整的数字气压计设计方案 •如何选择合适的气压传感器 •利用ADC0832芯片来实现模数的转换 •所需使用的电压转换电路提供+5V电源 •低成本 此外,气压计中还可以开发新的功能,如使得气压计能够具有记忆功能,从而使气压计能够作为一种预测天气变化的装置。 参考文献 [1] 周润景.Proteus在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2006 [2] 周润景.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.5 [3] 刘伟. 传感器原理及实用技术 电子工业出版社,2000 [4] 赵继文. 传感器与应用电路设计 科学出版社,2006 [5] 沈红卫.单片机应用系统设计实例与分析[M].北京航空航天大学出版社 [6] 胡汉才.单片机原理及其接口技术[M]. 北京:清华大学出版社 [7] 张毅刚.单片机原理及应用[M].北京:高等教育出版社,2003 [8] 戴佳. 51单片机C语言应用程序设计实例精讲 电子工业出版社,2006 [9] 李朝青. 单片机原理及其接口技术 北京航空航天大学出版社,2002 [10] 徐爱均. 单片机高级语言C51应用程序设计 电子工业出版社,2004 [11] 马忠梅. 单片机的C语言应用程序设计 北京航空航天大学出版社,2006 [12] 严天峰. 单片机应用系统设计与仿真调试 北京航空航天大学出版社,2001 致 谢 大学生活即将结束,在衡阳师范学院物理与电子信息科学系四年的求学之路上有太多的感触。借此良机,对所有关心和支持过我的良师益友和亲人们致以最衷心的感谢!首先我要特别感谢我的导师杨利容老师! 经过半年的忙碌和工作,本次毕业设计已经接近尾声,通过这次设计,把自己所学的理论知识运用于实践,受益非浅。对单片机有了更深的认识,对我以后独自处理问题有了很大的帮助。在整个毕业设计过程中,我的指导老师杨利容老师一直给予我们很多的关注和指导,勤勉教学,诲人不倦,帮助我们顺利的完成这次设计任务。杨老师不仅为我们提供了实验用的各种条件,还给予我们很多在做设计方面的经验。在我们遇到困难时,她总能给我们很好的启发,引导我们走向成功。杨老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀。再次感谢我的导师杨利容老师。 感谢我的爸爸妈妈,对我这二十多年无微不至的关怀,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。 最后感谢大学四年来所有的老师和同学们,为我们打下专业知识的基础,正是因为有了你们的支持、鼓励与帮助。我的毕业设计才能够顺利完成。 29
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服