版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC89C52单片机的智能水位检测系统设计目录TOC\o"1-3"\h\u22187引言 211666第一章绪论 267411.1研究背景及现状 217481.2章节安排 3213601.3任务需求 3307241.4本章小结 426883第2章水位检测系统总体设计 5163852.1总体方案 5108832.2硬件功能模块 551822.2.1单片机最小系统 6133682.2.2数据采集电路 6291772.2.3继电器驱动电路 6302.2.4液晶显示电路 6241032.2.5蜂鸣器报警电路 6201142.2.6按键电路 6127802.3软件功能模块 6116482.3.1系统总体程序设计 7162702.3.2数据采集及显示子程序设计 7230272.3.3按键扫描子程序设计 7154302.3.4蜂鸣器报警子程序设计 7223262.4本章小结 732096第3章硬件系统设计 8122593.1硬件功能模块 8193323.2最小系统的电路设计 8144893.2.1主控器件的选择与论证 8258873.2.2主控器件介绍 9105433.2.3电路设计 10208063.3数据采集电路设计 11185843.3.1方案选择与论证 11283033.3.2元器件介绍 1222623.3.3电路设计 15178303.4电磁继电器电路设计 1670953.4.1方案选择与论证 1696513.4.2元器件介绍 1636223.4.3电路设计 162013.5LCD1602显示电路设计 17100723.5.1方案选择与论证 17289193.5.2元器件介绍 18292193.5.3电路设计 19211713.6蜂鸣器电路设计 20190013.6.1电路设计 2019673.7本章小结 2121544第4章软件系统开发 22198084.1软件功能模块 22159354.2主程序 22114564.3数据采集及显示子程序 23229934.4按键输入子程序 24299684.5蜂鸣器报警子程序 25223864.6本章小结 25413第5章系统调试与测试 2615595.1硬件调试 26191705.2软件测试 28133845.3本章小结 311398第六章总结与展望 3230056.1总结 32260206.2展望 32引言随着科学技术的快速更新换代,传感器的技术应用已经十分的广泛,并且已经融入到日常生活、工作、科学研究等众多领域中。本文利用压力传感器检测水底承受液体压力的原理,结合STC89C52单片机设计出一种智能A/D水位检测器,并且增加了蓄水排水的功能。本设计可以更好的理论与实际联系起来,可以广泛使用于工业水位的测量与控制。本系统在设计过程中利用压力传感器以及数模转换芯片对采集数据的多次处理,使得检测值更加精准。第一章绪论本章将介绍液位检测领域的技术分类和发展现状,并且介绍系统设计的任务需求,同时对论文的章节进行了安排。1.1研究背景及现状在工业自动化过程控制的应用领域,液位测量检测已经逐渐得到了广泛的高度重视和广泛应用,当前现在市场上所需要使用的各种自动液位测量检测用的传感器也已经是比较多样化的。比如,对液位传感器类型进行分类划分后就可以比较细化的分为自动浮球式检测装置、浮筒式检测装置、超声波式的液位检测传感器等。这些检测方式都需要根据设计的结构、检测精度、检测最大量程而分别适用于不同的场合,大多都具有较为复杂的结构,因此制造成本普遍偏高。市面上也有很多可以直接使用的液位检测装置,例如投入式液位检测装置、电容式液位检测装置、弹簧式液位检测器等,但多数成品检测器价格偏高。以上介绍的各种液位检测器输出的变量多为电流或者电压,通过显示器进行读数,或者用机械指针进行读数。由于液面的上下浮动极易引起读数的波动,通过机械指针的传感装置只能运用在液面静止的工作场合,且无法适用在远程监视方面。本设计通过压力传感器及ADC0832对数据的多次取样及处理能够准确的测量水位,并通过LCD1602液晶显示,实现对波动水位的准确检测。运用传感器是水位检测中最常见也是最重要的方法,自动化技术的发展离不开传感器,当今传感器的应用十分广泛已经深入到我们的方方面面,包括工作、日常生活、科技等各个领域,虽然液位检测系统的应用已经十分广泛了但是如今在我国工业科学技术研究中占据了很大的地位。精度的水位检测报警系统的价格都很低,如果被应用于民间传感器产品中,其成本相对较高,一般家庭也承受不起,这就会造成了对使用资源的浪费这就需要我们的水位检测报警系统更加注重对基础传感器的开发应用,降低产品成本,保证平民百姓的实用性。1.2章节安排第二章对本篇论文的主要大体设计思路进行了叙述。第三章将分模块对本文所设计的硬件系统电路设计思路和方法进行详细阐述,设计中各个器件使用方案的选择与辩证论述,各个元器件功能介绍以及系统中各个电路模块的详细解释说明。第四章将详尽地介绍系统中模拟数据采集软件程序的基本设计和应用部分,对系统中模拟数据采集和模拟器的子程序,按键子程序,蜂鸣器报警子程序以流程图的方式进了详细的绘制与说明。第五章主要介绍在系统中对硬件及软件各个功能的调试与测试,以及对数据的分析、记录和总结。第六章将对水位检测系统的全部设计模块进行总结,提出本系统设计在未来将会有怎样的发展趋势、方向与未来展望。1.3任务需求设计一个单片机控制系统,该系统的功能为水位监控,为此设计需要满足以下几点:(1)该设计制造成本低廉,能够适用于普通家庭。(1)能够显示装置能够实时显示水位当前的状态,并具有水位自动控制功能。(3)当被测水位的状态发生异常,应及时报警,给人提示。(2)必须设计水泵驱动电路用于改变容器中的水量。(3)该系统不光具有自动控制功能,还能实现手动操控。1.4本章小结本章介绍了智能水位检测系统的研究背景,以及国内外关于水位检测研究的发展现状,并且介绍了本论文的各个章节安排和任务需求。
第2章水位检测系统总体设计第二章将会对水位监测控制系统绘制一个大致的框架,并对本系统设计的硬件方向和软件方向做一个简单的说明,并对各个模块的功能做一个简单的阐述。2.1总体方案该系统控制管理系统共由硬件程序电路设计和软件应用程序设计两个部分设计构成,硬件程序电路设计分别划分为七大控制模块,分别为以单片机为主的单片机最小操作系统控制电路、数据采集控制电路、继电器驱动控制电路、液晶显示控制电路、蜂鸣器水位报警信号电路、按键控制电路七个模块组合而成。软件系统分为系统总体程序设计、数据采集装置设计程序、数据显示装置设计程序、按键扫描装置设计程序、蜂鸣器报警装置程序五个部分。图2.1是系统总体设计框图。图2.1总体设计框图此次设计的智能AD水位传感装置主要实现了以下几个功能:(1)D3B压力传感器测量水位高度的方式是通过测量液体最低部压强来实现检测功能;(2)设计并将数据输入到单片机内部程序进行处理就可以实现对模数转换器ADC0832输出的数字信号转换为高度值的处理。(3)设计的系统在有效测量范围内的系统误差较小,使得系统在0-1m内的测量数据比较准确;(4)通过处理使得系统处理的数据更加直观的显示在液晶显示器上;2.2硬件功能模块2.2.1单片机最小系统单片机最小系统就是一个能使整个系统正常工作总控制中枢,相当于计算机的CPU,内部允许烧录程序才能正常运作建立起整个系统,由单片机的芯片、晶振电路、复位电路以及上拉排阻等部分构成,以STC89C52作为整个系统的主要控制元器件。2.2.2数据采集电路数据采集模块以D3B压力传感器A/D模数转换器ADC0832为主要器件,作用是对水位进行数据采集、处理和转换。D3B压力传感器负责将水位底部的压力转换为0~5V的电压,底部的压力越大,对应转换出来的电压越大。模数转换器ADC0832负责对压力传感器数据采集模块输出的电压进行转化,转化为数字信号,为后面将转换器输出的数字信号送到单片机内再转化为模拟信号做准备。2.2.3继电器驱动电路继电器驱动模块由两个HK4100F-DC5V-SHG电磁继电器和两个水泵构成,每个电磁继电器连接一个水泵,负责系统的蓄水工作和排水工作,可以实现手动模式下控制两个水泵分别工作与自动模式下水位的自动控制。2.2.4液晶显示电路液晶显示模块的主要器件为一块LCD1602液晶显示器,系统设计中比较常用的一种显示屏,能够显示系统中需要设置的上下限水位值、系统手动/自动的工作模式以及容器中的实时水位。2.2.5蜂鸣器报警电路蜂鸣器报警模块由一个蜂鸣器和两个报警指示灯共同组成,当实时监控的水位并不在预先设定的水位上下限水位值的范围时,蜂鸣器就会自动发出报警的声音,并且相应的指示灯会导通点亮,用于及时提醒操作人员水位的变化。2.2.6按键电路按键模块共有五个按键。作用是控制整个水位检测系统的各项工作。包括一个单独的复位按键,它是用来恢复整个系统原始工作状态。四个功能设定键分别使用于系统的手动/自动模式切换、自动模式上下限水位值切换、操控手动模式下抽水水泵工作和操控手动模式下排水水泵的工作等。2.3软件功能模块2.3.1系统总体程序设计主程序中包含了系统各个器件状态的初始化、水位上下限设置,实时水位读取,定时器中断,液晶显示程序调用、按键程序调用、蜂鸣报警程序调用等。在初始化程序中,首先将继电器、定时器、液晶显示器的工作状态进行初始化,防止上来就处于工作状态,液晶显示屏中的初始化包括清屏、设置闪烁、设置光标这些设置。水位上下限读取的是EEPROM中的水位上下限的值,即在设置好水位上下限的值之后,设置好的值就会存储到地址里面,上电时再读取出来,实现存储。定时器程序是用于设置蜂鸣器报警频率以及指示灯闪烁频率的,初值为50ms。2.3.2数据采集及显示子程序设计显示子程序模块采用if语句,运用指令程序,将需要显示的字符依次显示在液晶显示屏上,通过ifelse条件语句将改变液晶显示模式,便于调整工作模式,让显示器按要求显示水位。2.3.3按键扫描子程序设计按键扫描子程序中,是通过判断按键是否释放来断定这个按键是否发挥作用。每一个按键在松开之前,都需采用延时函数进行按键消抖,再对相应的按键设置相应的程序,使每一个按键都有相对应的功能。2.3.4蜂鸣器报警子程序设计报警子程序控制着蜂鸣器的响应与报警指示灯的亮灭,当在自动模式下实际水位超过上限或者低于下限时,相应的报警指示灯会导通点亮,不管哪个指示灯亮,蜂鸣器都会发出声音。2.4本章小结本章的侧重点在于从介绍框图出发,对本系统的硬件电路设计单元及其与软件编程器设计单元相关的功能模块进行了简单的说明介绍,为后面分别描述系统中硬件部分和软件部分做铺垫。
第3章硬件系统设计本章将对本系统设计的硬件设计部分做一个详细的介绍,包括所匹配器件的选择与论证,所匹配器件的详细介绍以及各模块的电路设计。3.1硬件功能模块图3.1为硬件功能模块框图。图3.1硬件电路总体设计框图本方案设计从满足普通居民对水位监测要求角度出发,结合水位监测系统的工作原理。设计出来的系统主要包含以上五个基本方面的电路模块。3.2最小系统的电路设计3.2.1主控器件的选择与论证方案一:主控器件选择ARM7,这款器件的优点是内部资源丰富,能够兼容的器件多种多样,读写程序的速度较快。但它的缺点也非常突出,就是它的价格普遍相对较高,用于本设计中会提高制造成本。并且会造成使用资源的浪费。方案二:本设计中采用STC89C52作为系统的主控元器件。虽然此款单片机比较便宜,运行时间也相对较稳定,其在系统中运行时间和速度都相对而言已经具备了足够适合于该设计系统的各种设计要求,并且系统中还有大量的空间富余,因此我们可以直接用单片机进行操作,来直接实现系统的各种功能和配置要求,且对于电动机的外围控制也可以实现的,甚至可以增加更多的时候进行外围电路设计,进行功能扩展。这样一来,单片机就已经能够很好地合理利用自己的资源。综上所述,弄够简化外围电路的设计,达到集成系统提升在市场中的竞争能力并能受到大众广泛使用的目标,方案二为第一选择。3.2.2主控器件介绍单片机:STC89C52具有超强可靠性、极高控制性、读写指令高速、低电源功耗的优点,是由中国上海宏晶电子科技公司开发并自主研制推出的第一代C51类嵌入式单片机,指令集编程和源代码与国内传统8051系列射频单片控主机完全相互衔接易于开发。单片机工作的主要使用特性如下:(1)工作电压:一台单片机按照其需要工作的额定电压及其大小范围可以大致划分如下为两种,一种就是采用5V的高压单片机,工作电压大小范围一般在3.4V左右到5.5V之间(5V的采用单片机)。另一种情况是3V的稳压单片机在高频电路工作时的输出电压工作范围一般为1.8V至3.6V。(2)存储占用空间:STC89C52单片机芯片能够具备进行高速的位处理的功能,内部数据应用程序的存储占用空间为8KB,满足了大部分单片机类系统设计的设计需求。(3)STC89C52单片机共有32个I/O通用接口,能够同时对多个芯片进行扩展,能与各类芯片进行兼容。STC89C52引脚功能说明如图3.2所示。图3.2单片机引脚图P3口除了它们是一种可以直接用来作为一般的各种I/O控制功能的接口在集成电路中重复进行设计使用外,它们也可以具有一些其他的各种可以作重复设计用途的功能,如表3.1所示,这是单片机功能扩展中最重要的部分。表3.1P3口引脚第二功能3.2.3电路设计电路设计如图3.3所示。图3.3单片机最小系统电路图最小化系统设计是为了保证整个通用单片机系统可以正常工作运行的最小和简化硬件操作系统。一般而言,单片机的最小功率控制电路系统结构应该具有:主控单片机、晶振控制电路、电源控制电路、复位控制电路四个功能部分。晶振电路:系统正常工作时必须输入脉冲,这个脉冲就由晶振电路提供。电源控制电路:对单片机来说,电源就相当于系统的能量站,为系统正常运作提供能量。对单片机进行供电主要有两种方式,一种是在电路中接入电池盒,使用电池供电,但这种方式系统续航时间短,对电池消耗较大。另一种是用USB对系统进行供电,可以连接电脑、充电宝或者插排的电源进行使用,这种方法更加方便一些。复位电路:复位电路用于恢复系统设计的初始状态,一般会连接一个按键作为系统的复位按键。当系统在正常运行过程中发生错误,或者出现一些程序上的中断错误时,就可以使用复位电路中的,使电路恢复到系统初始的工作状态。3.3数据采集电路设计3.3.1方案选择与论证对于压力传感器的选择,对以下两个方案进行了分析与论证。方案一:采用桥式压力传感装置。传感器内部有的可发生变形的铁片,桥式压力变形传感装置的主要原理是通过检测铁片的形变力度来确定压力大小,当内部铁片发生变形时,传感器就会自动输出一定电压,随着物体重力的不断增强时其输出端的电压就可能会逐渐呈横向线性地发生改变。但是由于这种自动桥式并没有压力输入的电流传感器,应力的均匀性和形变力度很小,输入和输出的应力数值差异大幅度小,所以通过将模数转换简单地与模拟电压采集模块共同构造的自动采集信号模块共同组合在一起进行使用,使得该电路的结构更加简化,对系统进行功能控制操作方便,使其测量值准确度和精准度得到大幅的提高。方案二:采用单独的元器件来搭建一个压力传感器装置。主要是通过利用压敏电阻元件及其外围相关电路元件来设计搭建一个新的压力放大传感器,通过压力放大这个电路块来进行压敏性敏感电阻的信号压力采集放大,这种电路同样具有AD等信号的压力采集。这种方法很容易受到任何一种外界的条件干扰,有时候甚至会出现一些意想不到的错误,还可能需要通过使用检测到诸如AD信号采样与电压比较器等各种工具来来进行数据处理,这样就严重加大了电子系统集成电路设计的技术复杂性和处理难度。这样制作的仪器灵敏性不够,会产生较大的误差,功率消耗提高也会很高,就需要花费大量的时间、精力和设备来处理这些误差,这就增加了处理误差数据的费用。通过对以上两个方案的优劣势进行比较,总结出了这样的结论:方法一只需要用一个元器件就可以实现压力传感模块的构建,达到简化电路的目的,由此采取方案一。对于A/D转换芯片,对以下两个方法进行了分析与论证。方法一:采用分辨率较高的12位AD级的芯片,这种芯片可以接收更大值的模拟电压值,转换出的数字量也会更加精准,但该类芯片的成本也很高,该处理系统使用这样的器件就造成了技术资源的浪费,在激烈的市场角逐中缺乏核心竞争能力。方法二:运用8位的AD芯片,虽然这个方案使用的是较低分辨率的AD芯片,但在5V以上的电源输出电压进行供电的工作状态下,当系统中输入的电压按照0~5V以上的电压进行模数变换时,变量的频率会发生变化,数字变量变化1所对应19.53mV以上电压的频率发生变化,一般功率消耗相对较低,在15mW瓦左右,足够适应系统的要求。综上所述,选择方案二。3.3.2元器件介绍D3B压力传感器属于桥式压力传感器,是一个单独的传感类装置,它工作的不同之处在于:1、当实际输入工作电压在4.2V~6.2V之间时,该压力传感装置都能正常工作。2、D3B压力传感器工作所能承受的最大水底压力为当其在一米高的水下所承受的压力。3、D3B压力传感器的电压输出:当传感器上没有压力承受时,它的输出电压会略高于0V,当传感器上的压力大小达到它的最大承受时,它的输出电压为5V;4、D3B压力传感器的线性度大约为0.2%,即在坐标轴上水位高度与传感器的输出电压值的斜率为0.05;5、D3B压力传感器外型:该压力传感装置的长和宽均为3cm,高为2cm。D3B压力传感器的连接方法如图3.4所示。图3.4D3B压力传感器结构图D3B压力传感器实物外观如图3.5所示。图3.5压力传感器实物图ADC0832模/数转换芯片为作为8位分辨率双通道A/D信号转换芯片,它的最大输出的AD值为255,其内部模拟电压参考输入和外部模拟参考输出电压互相并联复用。独立驱动芯片设计能够直接使所有元器件同时实现自动输入,使得多个元器件的自动挂接受到微处理器的自动控制,从而使其工作起来可以更加简便。通过DI口将输出信号传到各个输入控制端,就这样我们可以轻松地简捷实现对各个通道输出信号的校验和控制功能的自动选择。当控制ADC0832未正常地运行或者工作时CS的输入端电压水平就相当于对应到一个高电平,此时即使该控制器的芯片被自动中断或者停止使用,CLK和DO/DI的两个输入端电平也相对应为一个可以任意的电平。所以对其A/D端进行一个电平转换时,须先把A或CS端所使用的一个能量高端电平放在一个能端低电平上,并始终保持这个能端低电平,此时两个芯片已经自动地开始输入脉冲转换器的工作。在第1个开始时钟脉冲到达之前的其DI端必须是一个高电平,以此作为表示脉冲开始和降落所需要的信号。在第2、3个单位的脉冲被正确地击沉之前和在DI端的两个终极器上都应分别经过一个输入2位脉冲数据信号进行显示,这样才能正确地选择一个脉冲通道具有相关功能,其中所有的相关功能项目请参见下表3.2。与一个单片式主机硬件接口的相关电路图线框图显示如图3.6所示。图3.6ADC0832转换器内部结构表3.2ADC0832单端MUX模式寻址表3.3ADC0832差分MUX模式寻址如表3.2和3.3所示,当此2位数据分别为“1”、“0”时,只对CH1进行一次两个单通道的数据转换。当2位元的两个数据分别被指定命名参数设置为“1”和“1”,只对CH1分别进行一次一个独立的单通道数据转换。例如,当2位的两个数据分别在输入中设定值分别表示为“0”、“0”时,将使用CH0作为正和负的数据输入两端I和IN+,CH1作为正和负的数据输入两端I和IN-用来同时进行两个数据的输入。例如,当2位的数据分别点所设定的值为“0”、“1”时,将其中CH0作为一个正一位输入点的端设为IN-,CH1作为一个正二位的输入点端口I=IN+。3.3.3电路设计数据采集和信号处理功能模块的应用电路设计软件框图结构如图3.8所示。图3.8压力传感器采集电路D3B压力传感器的主要工作原理就是通过对应变片中的一个应力进行变形,用一只手指按下该传感器中间凸起部分时,传感器就开始输出一个模拟电压值,当一个压力传感器上方中间凸起部分能够感受到容器中水底部位的压力,同样会输出模拟电压信号。随着水底部压力的增强,其输出的电压将会呈现线性地改变。由于D3B压力传感器属于一种桥式称重型压力传感器,能够对其进行的模拟压力信号波动比较微弱,这就造成了输出模拟电压信号波动的幅度小、能够检测到的模拟电压数值较小,所以我们使用8位分别率的A/D模数转换芯片ADC0832配合了相应的数据连接模块,共同组成了数据采集模块,简化了该模块结构,使系统的操作更加方便。3.4电磁继电器电路设计3.4.1方案选择与论证办法一:系统采用先进的电机控制电元器件单片式电机中断定时器1定时器在中断,改变输出I/O口的电压高低输出电压水平后然后会自动产生一个用来模拟脉宽调制的信号。由于定时器0的特殊设置,可以根据系统的实际工作情况和特点定时自动控制产生一个非常实时的射频时钟,用另外一个作为定时器,避免对其他系统的工作造成较大的干扰。通过简易的质量检查,微控制器不断的检查发现由于整个CPU的数据输入和信号的中断,所以该方案不建议使用。办法二:通过电磁继电器连接驱动水泵,电子继电器通过一个电磁铁来达到仅需提供弱电流就能控制一个高功率消耗器件的正常运作,或者可以作为小型的电流开关来直接控制最大的工作电流元器件。本系统电源线路提供的电压仅有5V,由于各个元器件都需要电压供给,所以直接连接水泵工作这种方法难以实现。通过电磁继电器就可以解决这个问题。综上所述,根据系统的需求,选择方案二。3.4.2元器件介绍电磁式自动继电器主要包括永磁控制电路线圈、铁芯、衔接点和钢铁、触点组和簧片等几大部分部件,控制电路线圈和每个连接点铁芯组之间都必须是相互绝缘的,这样能够对永磁控制电路设备发挥良好的永磁电气电路隔离保护功能。继电器实物如图3.9所示。图3.9继电器元件图3.4.3电路设计单片式实际上只是一种小型弱电电路元器件,一般的电压情况下它们正常工作在5V电压值。驱动电流的有限值在MA数量级以下。而要把它广泛应用于一些非常需要较大驱动功率的应用场合,比如实时监视和自动控制一台风力电动机,显然这样直接进行电路连接完全是不行的。所以,就必须有一个能够驱动所有功率系统驱动相互交叉衔接的工作环节。继电器电路驱动系统是一个很典型、简单的功率信号传递电路驱动组成环节。该设计的电路在水泵驱动部分共使用了两个电磁继电器来驱动水泵正常工作,因为我们的设计不仅要做到水少蓄水,还要做到水多排水,除此之外,我们还要要求系统的两个水泵能够同时工作,用来对容器中的水进行更换工作。该电路设计结构如图3.10所示。图3.10单片机驱动继电器原理图3.5LCD1602显示电路设计3.5.1方案选择与论证显示模块现在的技术已经很成熟,是可以集成LED一些新型化的模块。方法一:显示系统主要采用LCD1602液晶屏来进行显示,它显示的内容可以是字母、数字甚至是特殊符号。真正使用过程中汉字的占空为两个字符空间大小。该显示屏共有两行显示空间,根据系统的实际使用特点,能够有效的满足该显示系统的实际应用功能需求。方法二:系统采用12864屏幕显示,这种型号的显示器同样属于液晶类,它拥有的外观尺寸较大,用于该系统显示相对复杂,它正常工作时消耗的功率较高,且会增大程序编写的难度,不适合用于该系统中。综上所述,选择方案一。3.5.2元器件介绍由于一个液晶屏的显示指令模块本身就是属于一个缓慢的液晶显示指令元件,所以在每次开始正确执行每一个显示指令之前一定首先就需要特别注意的是确认这个模块的正常工作,否则这个显示指令将可能会自动失效。当一个用户需要对它进行直接输入或者显示这个字符的操作时,那么它就会需要先通过直接输入外部模块来直接显示这个字符的输入地址,即需要告诉外部模块在哪里时就会直接出现这个字符,如图3.11所示的是1602的内部模块显示字符的输入地址。图3.11液晶内部显示地址读操作时许如图3.12所示。图3.12读操作时序图写操作时序如图3.13所示。图3.13写操作时序图3.5.3电路设计该设计部分选择了LCD1602作为电路的显示器,连接图如上图所示。该显示器内部设有存储器,其存储器中存储了英文字母、数字以及图形等,这些数据共同构成了一个数据库,当显示器工作时,只需调用库中的数据,即可实现对显示屏的编辑。所以这款显示屏有操作简单、调试方便的特点,这也是选择该型号显示屏的原因。该显示屏在使用前要对模块进行初始化,初始化结束后,可以对坐标和字符进行设置,来实现想要的要求。在显示屏显示过字符后,会自动向右移动,移动的位置正好够放下一个字符,依次来实现屏幕的滚动效果。在屏幕显示字符之前还需要对显示屏进行状态监测,只有在显示屏是非工作状态下,才可以开始显示字符。根据1602的总线数据处理手册,1602与其他单片机的总线连接工作方式如图3.14所示图3.14单片机与1602连接原理图3.6蜂鸣器电路设计3.6.1电路设计蜂鸣器的电路驱动控制电路一般都需要包含以下3个组成部分,电路结构设计如图3.15所示。蜂鸣器是一种具有驱动发声功能的电子讯响元件,在其机的两端分别只要进行一个直流提供电压操作,使用这种供电方法的叫有源直流蜂鸣器。使用方波就可以驱动元件出现响声反应的就称之为无源直流蜂鸣器。限流保护电阻:电路连接在三极管的基极与一个IO端端口之间,为了防止IO口的基极电压太大发生烧毁。为了防止工作电压或者电流过大造成蜂鸣器击穿烧毁必须在SPK端接一个三极管,三极管Q4起一个开关的作用。图3.15中的Q4是一个PNP型的三极管,它在数字电子技术电路设计中主要工作在截止区和饱和区,给它的基极供低电平或者接地使三极管正向饱和接通,使整个蜂鸣器自动产生高频振荡发出声响,当三极管基极处的高电平会使得三极管反向关闭,蜂鸣器也因此会自动停止发出声响。在这里它扮演的是开关的角色图3.15蜂鸣器驱动电路3.7本章小结硬件是系统设计中必不可少的研发环节,系统的正常运作离不开各个模块的相互协作,本章的重点为整个系统所设计的硬件电路的各个部分进行了详细的说明与介绍,并对各中实验元件进行了简单的分析与论证,比较得出各个模块最合适的元件,对选择出的各种系统元件进行了详细的说明介绍,十分细致的阐述了它们的应用方式及其工作原理。
第4章软件系统开发本章将针对该设计软件系统的总体程序以及各部分子程序设计原理进行详细介绍。4.1软件功能模块该系统软件部分各功能模块如图4.1所示。图4.1软件系统总体设计框图下面将展示系统的整体软件设计部分中的模块:负责统筹架构内部控制的系统总程序结构设计,担任程序过渡与转换任务的数据采集及液晶显示程序设计,负责外部控制的按键功能输入程式设计,担任外部发声警示工作的蜂鸣器报警程式设计,下面将对它们以流程图的方式进行详细的介绍。4.2主程序在程序初始化操作过后,系统检查按键是否按下,当按键按下之后对水位数据的上下限的值进行设置,当水面的高度超过预先设定的水位的上限值时,这时系统的排水泵会进行排水工作,直到将容器中的液体排放至系统设置的上限值时,排水水泵才会停止工作。当储水容器中水位低于预先设置的下限值时,蓄水泵就会开始工作,当水位增加到预先设置的上限值时,蓄水泵就停止了工作,蓄水也就停止,采集水位数据的方式是通过D3B水位传感器模块对数据进行采集处理,在送至单片机进行进一步处理得到的数据,再将其在液晶显示器上显示,再次期间,程序在开始执行之起就进入while死循环中,除非程序在运行过程中出现中断,否则while将一直执行,检测水位。设计如图4.2所示。图4.2主程序流程图4.3数据采集及显示子程序如图4.3所示,对ADC0832和液晶显示器分别进行初始化操作后,压力传感器感受到压力变化输出电压信号,模数转换芯片就会接收压力信号并将它们转换为数字量的AD值,再将这些AD值送到单片机中实行再处理,最后送到LCD1602液晶显示器上然后进行数据显示。图4.3数据采集流程图4.4按键输入子程序按键子程序流程设计如图4.4所示。图4.4按键程序流程图系统中设置了三种按键的状态,STATE的值在0,1,2之间循环,对应的状态分别是显示检测到的水位数据,数据加,数据减。KEY2在设置状态下是数据加,在非设置状态下可以切换手自动的状态。KEY3和KEY4在手动模式下可以控制抽水水泵和排水水泵是否工作。4.5蜂鸣器报警子程序蜂鸣器报警子程序流程设计如图4.5所示。在报警子程序中,使用定时器来控制连接蜂鸣器端口的输入和输出信号频率,这样蜂鸣器便可以根据乐谱读取数据产生的方波来发出报警声。图4.5蜂鸣器驱动流程图4.6本章小结以绘制程序流程图的方式对程序进行分析,可以更加形象直观的看到程序的设计方法、设计过程和设计逻辑。本章对系统中的主干功能、压力传感器数据采集及液晶显示功能、蜂鸣器报警功能的实现以流程图的方式进行了详细的介绍。
第5章系统调试与测试本章将介绍系统设计中硬件设计中各模块的的电路调试和软件设计中各模块的程序调试,对测试的数据进行详细的记录并分析,是本论文必不可少的一个环节。5.1硬件调试对硬件测试的主要工具为Proteus,在系统电路的仿真图中,电路中液晶显示屏中的实时水位显示是通过调整ADC0832模数转换器右边电阻的阻值来调整的,阻值越大,显示的实时水位越高。系统的硬件功能测试仿真图如图5.1所示。图5.1系统硬件测试仿真图(1)设置自动模式下水位上下限功能测试:仿真图中右下角有四个按键,按下其中的设置键,显示屏中Water_H:后边的上限水位闪烁显示,自上而下第二个键和第三个键分别为设置水位的增加和减少。再按一下设置键,显示屏中Water_L:后边的下限水位闪烁,重复上述操作,系统正常工作,且水位的下限值设置不能超过设置的水位上限值。该功能测试成功。(2)手动模式下抽水排水功能测试:按下第二个工作按键,切换系统工作模式为Manul模式,之后按下第三个控制按键检验手动模式下蓄水功能能否正常启动,按下后,抽水水泵开始工作,再按一次第三个键抽水停止。按下第四个按键手动控制模式下向外排水功能启动,排水水泵工作,再按一次第四个键排水停止。要注意的是,该系统中手动模式下,蓄水功能与排水功能可以同时启动,即抽水水泵和排水水泵可以同时工作。该功能测试成功。(3)自动模式下排水功能测试:设定水位的上限值为25cm,调整ADC0832右边的电阻使显示屏中的实时水位超过25cm,这时超过上限水位设定值报警指示灯就会导通点亮,排水水泵工作。再次调整电阻阻值使其低于25cm,但高于下限水位设定值15cm时,超过上限水位设定值报警指示灯就熄灭了。该功能测试成功。(4)自动模式下蓄水功能测试:设置水位下限值为15cm,调整ADC0832右边的电阻使显示屏中的实时水位低于15cm,这时低于下限报警指示灯亮起,蓄水水泵工作。再次调整电阻阻值使其高于15cm,且低于下限值时,低于下限报警指示灯熄灭,但抽水水泵会继续工作,因为抽水水泵理论上应当继续工作直到被测水位达到设定的水位值时,水泵才会停止工作,仿真软件上的水位值需要手动调节到上限水位的设定值。所以需要手动调节滑动变阻器使实时水位达到25cm时,抽水水泵停止工作。该功能测试成功。(5)在对数据采集模块进行调试过程中,对压力传感器输出数据与给定的输入数据功能进行了检验与测试,得出的测试数据如表5.1所示。表5.1压力传感器输出数据与给定的输入数据图5.3压力传感器输出数据与给定的输入数据折线图实验获得数据的检测环境主要位于室内,一共测得了28组数据,数据如表5.1所示,并将检测到的所有数据进行了对比处理,同时绘制了折线图,由折线图可以直观的看到,压力传感器所输出的数据线性度是比较高的。根据输入压力的多少和大小可以按照一个线性地改变输出的电压的方法,通过对相同电压进行数字化的采集和处理的结果进行比较,得到一个与之相应的高程值。5.2软件测试本设计使用的程序测试软件为Keil4,因为Keil4里面包含C51库里的头文件<reg52.h>,里面都是一些常用的特殊功能寄存器地址的定义,如果没有这个头文件,那么里面定义的一些I/O口都没法用了,而Keil5没有这个头文件,所以用Keil5就省去了添加C51库的麻烦。在使用这个软件进行软件测试工作之前,我们做了一些前期的准备。首先下载编程软件,编写程序并且程序编译完成没有错误如图5.4所示,然后准备测试需要的程序下载线,系统实物,进行程序烧录工作,将程序成功烧录到实物单片机中,对软件程序功能进行测试。如图5.5所示,图中按键从左向右依次分别KEY1、KEY2、KEY3、KEY4。KEY1按键的工作功能为控制液晶显示屏切换到自动模式上下限水位的值的界面;KEY2按键共有两个工作控制功能,一个主要功能为控制手动/自动两种工作模式之间的切换,另一个主要功能是控制系统在自动模式下的水位上下限设定值的增加;KEY3按键的控制功能同样有两个,其中一个工作功能是控制手动模式1号水泵(抽水泵)的工作,另一个功能为控制系统自动模式下水位上下限设定值的降低;KEY4按键的工作功能只有一个,就是控制手动模式排水水泵(2号水泵)的工作。液晶显示屏上边一行代表被测液体的实时水位,下边一行代表系统此时的工作状态(自动模式/手动模式)。图5.4界面编译程序图(1)手动模式程序功能测试:按下第二个键切换系统工作模式为手动模式如图5.5所示,状态切换测试正常,按下KEY3按键,抽水水泵工作正常,系统手动模式蓄水功能正常,再次按下KEY3按键,停止系统蓄水功能。按下KEY4按键,排水水泵正常工作,系统手动模式下排水功能正常,再次按下KEY4按键,系统排水功能停止,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级数学上册比和比例练习题
- 四年级语文上册同步阅读:3 现代诗二首
- 幼儿园安全隐患整改报告
- 2026浙江衢州市江山市文旅投资集团有限公司招聘劳务派遣人员3人备考题库完整参考答案详解
- 新目标人教版九年级英语Unit2教学设计
- 《建设工程监理合同》
- 2026河南郑州2社区卫生服务中心招聘工作人员备考题库附答案详解
- 2026贵州五色体育发展有限责任公司招聘4人备考题库及一套完整答案详解
- 期末成绩通知书
- 2026福建漳龙集团有限公司招聘1人备考题库含答案详解
- 亚马逊运营广告培训
- 北方工业集团 笔试题目
- 环境监测机构质量保证制度
- DL-T5169-2013水工混凝土钢筋施工规范
- 农业科技园区生态旅游模式探讨以珠海市“农科奇观”为例(doc12)
- 酒店消杀方案
- 当前消费者权益保护工作中出现的新情况新问题与对策建议百度文剖析
- 【船舶污染问题研究国内外文献综述2300字】
- 管道壁厚计算表
- 内镜进修汇报
- 春节后复工“收心会”会议纪要
评论
0/150
提交评论