1、题 目 气体压力控制器设计研究 学生姓名 学号 所在学院 物理与电信工程学院 专业班级 通信工程专业 1202 指导教师 完成地点 陕西理工学院 2016年6月5日毕业论文设计任务书院(系) 物理与电信工程学院 专业班级 通信工程 学生姓名 一、毕业论文设计题目 气体压力控制器设计研究 二、毕业论文设计工作自 2015 年 12 月 9 日 起至 2016 年 6 月 19 日止三、毕业论文设计进行地点: 物电学院实验室 四、毕业论文设计的内容要求: 在实际生活中,很多地方会应用到气体,气体会产生不同的压力,而压力的大小需要准确的控制才能够正常应用,农村应用的沼气系统,城市应用的天然气系统都需
2、要对压力实现控制才能够正常用气。本次设计要求设计一气体压力控制系统,可以实现对压力的实时显示,在压力超出上限和下限时可实现报警,并且进行压力调节,使压力恢复正常状态,若压力无法恢复正常状态实现报警。 3-5 查阅资料,进行资料整理和分析,完成开题报告。 5-7 熟悉仿真软件 7-9 进行系统设计 9-11 进行系统设计 11-13 系统调试 13-15 系统调试,设计验收 15-17 提交论文 17-19 修改论文,毕业答辩 指 导 教 师 系(教 研 室) 系(教研室)主任签名 批准日期 接受论文 (设计)任务开始执行日期 学生签名 气体压力控制器的设计研究(陕西理工学院 物理与电信工程学院
3、 通信工程专业1202班,陕西 汉中 723003)指导教师:摘要:压力测量对实时监测和安全生产具有重要的意义,气体压力的检测和控制是保证生产和设备安全运行必不可少的条件。实现智能化压力检测系统对工业过程具有非常重要的意义。本文是通过以单片机为主设计的气体压力测量系统。压力的测量是通过气体压力传感器把所测得得压力信号转换为电信号,再通过A/D转化把电信号转换为数字量后,再由单片机(STC89C52RC)进行处理,最后把数字量显示在LCD显示屏上。并且当压力超出所设定得上限和下限时蜂鸣器进行报警。关键词:压力;单片机(STC89C52RC);气体压力传感器;LCDDesign of gas pr
4、essure controllerCao(Grade12,Class02,Major communication engineering,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor: Abstract:Pressure measurement has important implications for real-time monitoring and production safety. Gas pressure detection and control of production and ensure sa
5、fe operation of equipment indispensable condition. Intelligent pressure detection system has a very important significance for industrial processes. This article is dominated by single-chip design of gas pressure measurement system. The pressure is measured by a gas pressure sensor to obtain the mea
6、sured pressure signal is converted to an electrical signal, and then through the A / D conversion to electrical signals converted to digital, and then by the microcontroller (STC89C52RC) processing, digital display in the final LCD display. And when the pressure exceeds the set upper and lower limit
7、 buzzer alarm.Key words: pressure; microcontroller (STC89C52RC); pressure sensor; LCD目 录1 绪论11.1前言11.2选题的背景和意义11.3压力传感器的发展方向12 系统设计方案22.1系统任务描述22.1.1控制系统要求22.1.2元器件选择22.2系统总体设计33 压力传感系统硬件设计53.1压力传感器53.1.1 BMP180特性53.1.2压力采集53.1.3 I2C接口73.1.4 单片机与BMP180的接口电路83.2 单片机83.2.1 STC89C52引脚功能93.2.2电源103.2.3时
8、钟电路103.2.4复位电路113.3 LCD显示器123.3.1管脚功能123.3.2 特性133.3.3 特性应用133.4 控制报警电路133.5 整体电路134 软件仿真154.1 proteus软件介绍154.2 软件流程图154.3软件编程175 设计总结185.1结果分析185.2展望和不足18致谢19参考文献20附录A21附录B27附录C31附录D32IV陕西理工学院毕业设计1 绪论1.1前言气体压力的自动化测试和控制是一个古老而又不断更新的课题,随着自动控制和计算机技术迅猛发展,给气体压力控制技术带来了深刻的影响。精密气压的产生与控制技术应用越来越广泛,特别是应用于液压和气动
9、设备的检验,对气压的控制精度和控制稳定性提出了越来越高的要求。目前,现代工业生产日益复杂化,为满足生产条件和产品精密的要求,必须不断改进信号采集和控制的方式方法,向更加快捷、高效、准确、实时以及远程控制的方向发展。气体控制是利用各种控制元件(各种阀、缸等)和控制器,组成控制回路,以进行自动控制。压力是工业生产过程中的重要参数之一。压力的检测或控制是保证生产和设备安全运行必不可少的条件。实现智能化压力检测系统对工业过程的控制具有非常重要的意义。近年来,随着微型计算机的发展,传感器在人们的工作和日常生活中应用越来越普遍。压力是工业生产过程中的重要参数之一。压力的检测或控制是保证生产和设备安全运行必
10、不可少的条件。实现智能化压力检测系统对工业过程的控制具有非常重要的意义。压力传感器是工业实践、仪器仪表控制中最为常用的一种传感器,并广泛应用于各种工业自控环境,涉及水利水电、铁路交通、生产自控、航空航天、军工、石化、油井、电力、船舶、机床、管道等众多行业。压力测量对实时监测和安全生产具有重要的意义。在工业生产中,为了高效、安全生产,必须有效控制生产过程中的诸如压力、流量、温度等主要参数。由于压力控制在生产过程中起着决定性的安全作用,因此有必要准确测量压力。1.2选题的背景和意义 压力传感器是工业实践中最为常用的一种传感器,其广泛应用于各种工业自控环境,涉及水利水电、铁路交通、智能建筑、生产自控
11、、航空航天、军工、石化、油井、电力、船舶、机床、管道等众多行业。压力测量对实时监测和安全生产具有重要的意义。在工业生产中,为了高效、安全生产,必须有效控制生产过程中的诸如压力、流量、温度等主要参数,由于压力控制在生产过程中起着决定性的安全作用,因此有必要准确测量压力。1.3压力传感器的发展方向(1)向高智能高精度发展:随着自动化生产程度的不断提高,对传感器的要求也在不断提高,必须研制出具有灵敏度高、精确度高、响应速度快、互换性好的新型传感器以确保生产自动化的可靠性。目前能生产精度在万分之一以上的传感器的厂家为数很少,其产最也远远不能满足要求。(2)向高可靠性、宽温度范围发展:传感器的可靠性直接
12、影响到电子设备的抗干扰等性能研制高可靠性、宽温度范围的传感器将是永久性的方向,提高温度范围历来是大课题。大部分传感器其工作范围都在-2070,在军用系统中要求工作温度在-40O85O范围,而汽车锅炉等场合要求传感器工作在-20O1200。在冶炼、焦化等方面对传感器的温度要求更高,因此发展新兴材料(如陶瓷)的传感器将很有前途。(3)向微型化发展:各种控制仪器设备的功能越来越人,要求各个部件体积能占位置越小越好,因而传感器本身体积也是越小越好,这就要求发展新的材料及加工技术。目前利用硅材料制作的传感器体积己经很小,如传统的加速度传感器是由重力块和弹簧等制成的,体积较大、稳定性差、寿命也短,而利用激
13、光等各种微细加工技术制成的硅加速度传感器体积非常小、互换性可靠性都较好。(4)高智能化:将压力传感器和单片机联系在一起,使其能够在实际应用中更好地实现人机互换交流,增加仪器的数字化和智能化。2 系统设计方案2.1系统任务描述该系统的任务是能够测量出被测气体的压力并能实时显示目标压力值,当压力超出上限和下限时进行报警,并具有较强的抗干扰能力。2.1.1控制系统要求该控制系统要求满足以下几点要求:(1)被测介质:气体(2)当压力超过一定范围时可以报警(3)能实时显示目标压力值(4)并具有较强的抗干扰能力2.1.2元器件选择(1)压力采集压力传感器是压力检测系统中的重要组成部分,由各种压力敏感元件将
14、被测压力信号转换成容易测量的电信号作输出,给显示仪表显示压力值,或供控制和报警使用。压力传感器的种类繁多,如半导体压力传感器、压阻式压力传感器、电感式压力传感器、电容式传感器及电容式加速度传感器等。而BMP180气体压力传感器占有重要的地位,由于它具有结构简单、体积小、使用方便、性能稳定、可靠、灵敏度高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应用最广泛的气体压力传感器之一。该BMP180由一个压阻传感器,模拟 - 数字转换器和一个控制单元,有E2PROM和一个串行I2C接口。该BMP180带来压力未补偿值和温度,E2PROM存储个人校准数据176位,这是用来补偿偏移量、
15、温度依赖性和传感器的其它参数。 图2.1 BMP180气体压力传感器(2)主控制器单片机也被称为微控制器(Micro controler),是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。他有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。STC89C52是一种带8K字节闪烁可编程可檫除只读存储
16、器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。因此这种单片机受到更多的欢迎。图2.2 STC89C52RC单片机(3)显示器要对压力进行检测就得将其实时量化,而液晶显示器就充当了完美的角色。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制。有电就有显示,这样即可以显示出图形,液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经
17、被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。1602LCD为工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44
18、780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。图2.3 1602LCD显示器2.2系统总体设计本次设计为基于单片机的压力检测控制系统,将需要测量的压力经过压力传感器变为电信号,再经过运算放大器将信号放大为标准信号为0-5V的电压信号,送至A/D转换器,再将模拟信号转换为单片机可以识别的数字信号,最后经单片机转换成LCD显示器可以识别的信息,最后显示输出,在超过压力限制时由蜂鸣器报警。图 2.4 系统原理框图这次主要做的是气体压力采集、单片机、显示和报警,我们选用的传感器为BMP180,单片机为STC89C52RC,显示器为
19、液晶显示1602LCD。根据硬件电路编程,调试出来并显示结果。3 压力传感系统硬件设计3.1压力传感器3.1.1 BMP180特性压力范围:300-1100hpa(+9000m-500m海拔高度) 电压范围:1.62-3.6V(VDDD) 封装大小:长宽13*10mm 高3mm气压精度:0.25温度精度:0.5-1.5摄氏度使用温度:-40到+125摄氏度 内含温度测量、I2C接口、全标准(内含标准数据校准)、不含铅,卤族元素,符合限制在电子电气产品中使用有害物质的指令。典型应用:加强GPS导航能力(航位推测法,斜坡探测等)、航海、休闲和运动、天气预报、垂直速度指示(上升下降速度)。3.1.2
20、压力采集(1)压力采集过程:1)发出压力(或温度)转换命令2)经过一段时间从UP(UT)寄存器读取原始数据。3)要得到摄氏温度和hpa 压力需要用到校正数据,这些数据放在BMP085的EEPROM里,通过I2C可以在初始化时读出。(如图3.1所示)控制寄存器不同内部 oversampling-setting的值如下表:表3.1 采样设定表同时,并不需要等待最大的转化时间之后再读取数据。可以利用器件的输出管脚EOC(转换完毕信号)来检查转化是否完毕。逻辑1表示转换完成,逻辑0表示转换正在进行。在转换完成后BMP085就自动切换到待命模式。图3.1 BMP180压力采集原理微控制器发送开始信号开始
21、压力测量,经过转换时间(4.5ms)其结果值可以通过I2C接口读出。为了将压力的单位换算成hPa,E2PROM中的标准数据应该被使用。这些标准数据可以从BMP180中的E2PROM中通过I2C接口读出。(这些标准数据应该在初始化程序的时候就读出,方便后面的计算)采样速率最高可以提升128次每秒钟,用于那些动态测量。正是由于这样,压力测量的速度只能达到每秒一次,也就是说在同一个采样周期中可以采128次压力值,并且这些值在用完后就被刷新掉了。通过选择不同的模式,可以在功耗、速度及分辨率之间协调。具体选择见下表。表3.2 采样速率表(2)读取AD转换器的结果和E2PROM中的数据为了读出压强数据(1
22、6-19bit)和E2PROM中的数据,操作步骤如下:在开始信号之后,主机发送模块的地址写命令和寄存器地址。寄存器地址选择读寄存器:E2PROM数据寄存器:0xAA0xBF。温度或压强值UT或UP ,0xF6(高8位),0xF7(低8位),0xF8(XLSB)可选择0xF8(XLSB)之后,主机发送从新开始信号,接着是器件读地址,然后收到从器件发来的应答信号。然后BMP180首先发送高8数据,主机收到数据后返回给BMP180一个应答信号,之后,BMP180发送低8位数据。之后主机发送not ack信号和最后的停止信号。为了选择高分辨率,地址为0xF8的XLSB寄存器可以被读取,扩展16位数据到
23、19位,参考Bosch公司提供的BMP180-SMD500-API程序。图3.2主机读取数据信号BMP180作为新一代高精度气压传感器与SMD500的功能和引脚是完全兼容的。通用的SMD500/ BMP180 C代码(BMP180-SMD500-API)与SMD500也是兼容的,但是要注意器件ID。BMP180的低功耗、低电压的电学特性使它可以很好的适用于手机、PDA、GPS导航器件以及户外装备上。BMP180在低的高度噪声快速转换的情况下,表现很好。BMP180是基于压阻效应技术的,具有稳定的电磁兼容性、高精度、线性性以及稳定性。Bosch公司的气压传感器(在自动控制应用领域)是世界市场上的
24、领军,基于200百万气压传感器这制造经验,BMP180继续了新一代的微型气压传感器。3.1.3 I2C接口(1)I2C是两根数据线的接口、时钟频率最高可以达到3.4Mbps、SCL和SDA需要上拉电阻。(2)I2C总线用于控制器件,从E2PROM中读出校准数据以及当AD转换完成后读出测量数据。BMP180有一个主清除信号(XCLR)低电平输入,用来复位BMP180和初始化寄存器和控制器。器件可以通过上电复位电路(POR)自动的复位。XCLR(是器件上的一个复位引脚)在不用的情况下可以空置。(3)I2C 接口电气参数表 表3.3 I2C接口电气参数(4)器件和寄存器地址BMP180模块的地址如下
25、。器件地址的最低位0表示读,1表示写,即器件地址为0xEF时表示读操作,器件地址为0xEE时表示写操作。表3.4 读写对照表这样很方便用一根I2C线对两个BMP180器件操作,你可以利用XCLR(使能信号)使能两个器件中的一个,二使另一个保持静默,这样就只对其中使能的那个器件进行操作,而不会影响到另一个器件。I2C协议I2C接口协议是一个特殊总线信号协议。有Start(S)(开始信号)、Stop(P)(结束信号)、二进制数据三部分组成,如下图。开始时,SCL高,SDA下降沿。之后,发送从器件地址。在7位的地址位之后,是控制读写位,选择读写操作,如下图。当从器件识别到与其对应的地址信息后,将向主
26、机发送一个应答信号在第9个时钟周期拉低SDA。在停止时,SCL保持高电平,SDA上升沿。图3.3 I2C总线接口协议时序图3.1.4 单片机与BMP180的接口电路单片机和传感器的数据交换是通过P0口来完成的,其电路如下:图3.4 BMP180与单片机接口电路3.2 单片机STC89C52是一个低功耗,高性能CMOS 8位单片机,片内含4k BytesISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用STC公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。STC89C52具有如下特点:40个引脚(
27、引脚图如图3.6所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,STC89C52RC设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
28、3.2.1 STC89C52引脚功能 STC89C52芯片引脚图如图3.5所示图3.5 STC89C52芯片引脚图VCC(40):5V。GND(20):接地。P0口(3932):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流。 P1口(18):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流。 P2口(2128):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流。 P3口(1017):P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口。 RS
29、T(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间。 ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲。 PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现。 EA/VPP(31):当EA保持低电平时
30、,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。3.2.2电源电源是系统最基本的部分,任何电路都离不开电源部分。随着半导体工艺的发展,稳压电路也采用集成电路器件来制成。这种供电方式的优点是稳压可靠,且有各种成熟电路可供选择。由集成稳压器具有体积小,外界线路简单,使用方便,工作可靠等优点。因此,在各种电子设备中应用十分普遍,为了跟上时代的发展,可采用W7800系列三端稳压器,主要利用它的输出电压是固
31、定的在使用中不能进行调整等优点。但这次设计为了电源的简洁,采用了USB下载器接口为系统电路提供稳定的工作电压,这样能使整体电路更简洁,更节约成本,从而减少硬件设计的复杂性。图3.6 USB串口提供系统电源3.2.3时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.7(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容
32、值的大小可对频率起微调的作用。外部方式的时钟电路如图3.7(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图3.7时钟电路3.2.4复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一
33、些寄存器有影响,它们的复位状态如下表所示。表3.5 几种寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMODOOH(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3.8所示:图3
34、.8复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.9(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.9(b)所示;而按键脉冲复位则是利用RC
35、微分电路产生的正脉冲来实现的,其电路如图3.9(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图3.9复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图3.9(a)上电复位方式。3.3 LCD显示器3.3.1管脚功能1602采用标准的16脚接口,其中:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个5K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器
36、、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平1时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图3.10 1602LCD管脚图3.3.2 特性 3.3V或5V工作电压,对比度可调,内含复位电路,提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。3.3.
37、3 特性应用 微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。3.4 控制报警电路本设计报警模块的采用的是蜂鸣器和一个二极管组成。当压力超出设计的范围时,单片机会给一个高电平,蜂鸣器发出声音进行警报,同时LED1灯亮。当压力低于设计的范围时,单片机会给一个低电平,蜂鸣器发出声音进行警报,同时LED2灯亮。当压力在正常范围内时,单片机不输出信号平,蜂鸣器和LED不工作。我们可以对压力的上限和下限进行设定。按键S1为选择按键,我们可以选择压力的上下限。开关S5为加按键,可以对上下限压力值进行加运算。开关S6为减按键,可以对上下限压力值进行减运算。 图3.11报警控制模块
38、电路图3.5 整体电路气体压力控制系统整体电路如下图,需要测量的压力经过气体压力传感器变为电信号,再经过运算放大器将信号放大为电压信号,送至A/D转换器,传感器将模拟信号转换为单片机可以识别的数字信号后,送给单片机,单片机通过调用程序对数字信号进行处理,转换成LCD显示器可以识别的信息,最后显示输出,当压力超过报警值时由蜂鸣器报警。对于报警值可以通过按键开关对其进行设定。图3.12 系统电路图第 37 页 共 37页4 软件仿真4.1 proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,它不仅具有其它EDA工具软件的仿真功能,还能仿
39、真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。具有以下2个主要特点特点1)互动的电路仿真 用户甚至可以实时采用诸如RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件。 2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片
40、机,还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。4.2 软件流程图 (1)首先对函数进行初始化,启动A/D转换,通过调用子程序来判断A/D转换是否完成,如果没有完成则继续进行A/D转换,直到A/D转换完成。如果A/D转换完成,则对A/D转换的结果进行存储并通过LED显示,然后回到上边的步骤继续进行A/D转换。流程图如下:否是A/D转换完成数据显示数据储存启动A/D转换初始化函数开始 图4.1 A/D转化程序流程图 (2)首先对系统上电并初始化,通过调用压力子程序来读取需
41、要显示的压力数据,然后通过调用显示子程序将压力数据显示在显示屏上,调用扫描按键程序判断是否有按键输入,然后继续进行初始化重复上边的步骤。流程图如下:系统初始化调用扫描按键程序调用显示子程序调用压力子程序开始 图4.2显示流程图 (3)整体流程如下:系统上电并初始化,读取、显示当前设定的报警值,通过调用按键子程序来判断是否有按键输入。如果有,则重新设定报警值,如果没有,则读取当前的气压值,将其和报警值进行比较。如果气压值小于报警值,则蜂鸣器进行报警。如果气压值不小于报警值,继续比较是否大于报警值,如果大于报警值,那么报警。如果气压值在安全范围内,那么继续检测是否有按键输入,来设定报警值。开始系统
42、上电并初始化读取、显示报警值设定报警值是是否有按键否读取当前气压值是是否小于报警值否是是否大于报警值蜂鸣器报警否图4.4 系统流程图4.3软件编程软件是整个系统的重要组成部分,数据的输入输出,数据的处理等功能都通过软件来完成,是整个系统正常可靠运行的重要前提。本设计采用Protues编程语言,对系统的功能进行设计。系统总的流程主要功能是负责压力的显示和判定,通过写地址和写数据来实现压力的调节和控制,最后通过调用显示子程序显示出来。首先对定时器、1602显示器、BMP180传感器进行初始化,然后进入主程序循环。当检测到有按键时便对上下限进行报警值的设定。没有检测按键时读取气压值,判定是否小于报警值,如果小于则报警。否则进行判定是否大于报警值,如若大于报警值,则进行报警,否则继续进行检测是否有按键。(