




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的多参数智能水质检测仪设计Waterqualitymonitoringsystembasedonsinglechipdesign目录TOC\o"1-3"\h\u13808摘要 页第1章绪论1.1课题相关背景中国虽然说是地大物博的国家,但是水资源的分布很分散,并且因为各种环境问题还有人类所造成的各种污染,现在包括水资源的大自然已经受到很严重的污染,这些环境的污染导致了各种问题,比如影响了发展,最大的问题是波及到人类的健康生活。在这些问题下引起了社会中对污染的重视,其中包括了水污染的控制。因为纯净的水资源再生起来太过于长久,所以该如何处理废水可以将有效的帮助我们解决这些问题,要想把废水处理首先要检测废水,这些早就成为了在生活当中常见的事情,在这些基础上这次设计研究的就是废水的检测,如废水中含有什么会产生污染,还有其含量等等。水是生命源泉,从各种资料当中可以知道水对于人类的重要性,像人体内元素大部分都是水,地球上很大一部分虽然是水但是能够真正用到的水资源再生起来很困难,面临当今社会各种水资源因为各种问题所破坏保护好水资源使当今社会不可忽略的一个问题。因为再生起来困难加上人类的保护意识不够达标再加上各种问题导致加剧了水资源污染,污染更多又导致了水资源会越来越缺乏。虽然经过这方面的努力像工业上的水污染明显比之前变少但是生活当中依旧没有减少。可以说水是万物的源泉,对于生活在地球上的人来说水资源是我们不可缺少的资源,各种领域上水资源是不可或缺的,除了各种领域上的应用在生活当中也要喝水、洗衣服等等都需要水。虽然现在各种技术越来越发达但相反生活当中的污染更严重了,所以要怎么把所拥有的技术运用到保护水资源上也是该考虑的问题。所以这就需要水质检测这个系统来保证所使用的水资源能否利用。保护水资源是要最重视的问题,废水该怎么处理,废水中是否有对环境有重大影响的元素及其含量,直接关系到生活环境,所以在这次研究的就是关于水质检测的系统从而了解关于废水的检测处理等。1.2国内水质检测技术的现状多年来,国内的环境检测中都是用传统的工作来实现水质检测,比如人工现场采样还有实验室仪器等等。在之前中国在水质检测上用到的机器都是进口买进的,很少靠自己研发的。自2000年以来那些自己所研究并且发明的水质检测器才开始被推广,从这能看出来国内的这水质检测系统是处于落后地位的,并且对水资源的保护措施还不够好。所以必须要在水质检测这方面更加努力。近几年来,水质自动检测技术有了明显的发展,从而很多国家在这方面收益了不少,水质自动检测技术的发展也让水质检测这方面有了明显的提高,我国也因为这门技术的发展在这方面也有了很大的改善跟进步。但是这还远远不够,对于水质检测还需要更大的努力,我国到现在都没有一个完整的平台用于水质检测可以在各种领域在线检测,数据传输和处理。1.3水质检测的意义首先,要知道什么是污水,必须要了解关于污水质量,才能对污水的处理的方法有思路。因为通常情况下所认识的污水是在常规水的定义标准下比这标准低就是污水,标准的常规水有基础的信息。能被选为常规标准,肯定会有其意义,比如环境方面达到了一种规定或者相关排放等。在处理污水的时候各类污水都有各自的处理方法,这些都取决与常规标准。其次,为污水处理工艺能够提供帮助。如果只有处理污水的机器并不能够效率的处理污水,所以这就需要水质检测当检测出污水就可以用污水处理工艺来处理这些污水,所以这些污水处理工艺在水质检测基础上才能发挥最大作用。总的来说有水质检测才能检测水的基础信息,才能够知道是不是污水为各种方面如行政、技术等提供一种标准。1.4水质检测的检测指标简单来讲水质检测指的是检测水中各种数值。然后再根据数值可以轻松分类,可以用看数值的方式来决定水的质量等用此来决定这个水的好坏。可以检测的数值有很多,可以是酸碱度、水中溶解的各种游离离子也就是自由离子、细菌总数和盐度等等。除了传统的方法来检测水质,也可以用电子设备来完成,电子设备可以用传感器来进行水质检测。电子设备中可以检测出浑浊度、电导率等等。按照我国水质状况等可以分以下几类:第一类:主要反映水资源的各种化学成分和含量。第二类:是在人类健康的基本线之上,主要用途在生活当中喝的水还有在农业等用到的水资源。第三类:是主要用于农业等,除此之外还可以处理之后当做饮用水。第四类:是在其他方面用到的水,不能饮用的水。表1-1我国水质标准分类表类别ⅠⅡⅢⅣⅤ氯化物(mg/L)≤50≤150≤250≤350≥350硫酸盐(mg/L)≤50≤150≤250≤350≥350硝酸盐(mg/L)≤2.0≤5.0≤20≤30≥30浑浊度(mg/L)≤5.0≤10≤20≤100≥100溶解性总固体(mg/L)≤300≤500≤1000≤2000≥2000水质检测的方法和原理2.1水质中的自由离子跟导电率的关系纯水本身是可以被微弱地分离,因此可以得知水是具有微弱的导电性,水中的游离离子使水溶液更具导电性。如果水越纯净那么会导致水的温度比起普通的水更低,电离度也会更低,导电率也会变低。知道了水中的自由离子浓度跟导电率相互关系,之后可以用测出水的电导率再测出水的电阻的方法来判断水中的自由离子的浓度,以此推断水是否纯净。在纯水导电弱的基础上,水中的电导率可以用测电阻的方式来推断水的电导率,因为电阻越高导电能力越低,所以测出的水中的电阻大就说明导电能力弱。电阻率ρ的物理意义是1厘米。横截面为即1厘米水的电阻,这些可以表示成“电阻率”或“比电导率”。在得出电阻率之后可以得出电导率,电导率等于电阻率的-1次方。表2-1质量分数与之相对电导率变化范围序列测量内容相对电导率变化范围1自来水-0.002-0.0022加入8mg硫酸亚铁-0.176-0.5673加入4mg硫酸亚铁-0.063-0.2524加入4mg氯化钾-0.509-0.8365加入2mg氯化钾-0.406-0.5316加入1mg氯化钾-0.048-0.2017加入2mg磷酸三钠-0.061-0.1958生活污水-0.283-0.2759某电气公司处理前水样-0.500-0.62210某电气公司处理后水样-0.478-0.41211加入汽油的水样-0.448-1.10412加入煤油的水样-0.620-0.8202.2水的浑浊度的检测原理在普通的水中能够看清水中有什么可是在看污水时看不清污水里面有什么,这些取决于水的浊度,人看东西是因为光线,普通的水比污水浊度更低,也就是浊度越低光通过率越高,光敏电阻器就是利用这一点可以测出水的浊度。第3章系统硬件设计在系统硬件设计中选择用了单片机作为主要控制器,设计的方向主要有两种,一是要设计硬件的电路二是设计系统的程序。设计的硬件电路里有选择单片机及其应用,传感器的选择,A/D转换模块等。系统程序也就是软件设计有主程序跟子程序设计还有显示跟打印部分。该系统由之前学习并使用过的单片机的技术来做成的水质检测系统。开始之前需要知道目标的信息,这个需要用到传感器,用传感器把目标的信息采集并传送到A/D转换模块,然后可以通过A/D转换模块把信息转换,转换之后的信息再读入内部的存储器,单片机里有只读存储器也就是ROM可以将A/D转换模块转换的信息处理之后可以把最后转换的信息通过显示器和打印等方法来显示出来。系统原理图如图3-1所示。图3-1单片机控制系统原理图3.1单片机的选择所谓单片机也可以把单片机理解成一种微控制器,单片机用处很多而且应用于很多应用中,像很多智能控制系统里有很多都是用到单片机的,单片机像生活当中所使用的电脑中的CPU,单片机可以说是一种变成小型化的电脑CPU。最开始设计单片机是因为大量的外围设备和CPU会很麻烦,而且计算机的系统大并且不能把那些麻烦而又复杂体积还大的设备集成起来,单片机的出现能够把这些问题一一解决,可以把种种麻烦而体积又大的设备等整合到一个芯片。研究本次系统我选择用这个单片机来完成,单片机由上世纪80年代的4位、8位单片机到现在的300M的高速单片机,再按通用型、总线型和控制性分类有很多单片机可供选择并应用。单片机虽然存在了很长的时间并且关于单片机的嵌入式技术越来越高并且成熟,但是在单片机中的热门还是8位单片机,像MCS-51这样的8位MCU广泛用于MCU的各种应用。因为要考虑设计成本等等的一些问题选择了AT89C51单片机,用这单片机作为本次设计的系统的微控制器来使用。在本设计中,用AT89C51来作为解释和完善系统来完成本次设计。在之前万事开头难,所以需要一步一步完成这些设计,在了解到单片机的各种知识的情况下能够很顺利的决定了在系统单片机用到的单片机,有了这个决定从AT89C51单片机开始有思路了。首先要了解关于AT89C51,AT89C51是ATEML公司生产的其基础知识也需要有相应的了解,AT89C51是一款功耗低并且性能高的8位微控制器,可以说性价比很高并且AT89C51含有4K的闪存。它与工业中使用的80C51产品说明和引脚完全兼容。还有片上闪存,允许程序存储器在系统中编程。AT89C51单片机拥有许多功能:与MCS-51兼容,具有4KB的闪存、256字节随机存取存储器、32位输入输出端口、看门狗定时器、2个数据指针、3个16位定时计数器、1个6矢量2级中断结构等等。下面图3-2跟图3-3是AT89051的PLCC贴片封装跟DIP40封装引脚图。图3-2AT89051PLCC贴片封装图3-3AT89051DIP40封装引脚图下面简单描述了关于AT89C51的引脚图中的VCC为电源端;;图中的GND为地面端;图中的P0端口是一个双向输入/输出接口,P0端口具有8位漏极开路。当用作输出端口时,每个端口可以驱动八个TTL逻辑电平。对于P0听写1,引脚用作高阻抗输入。当访问数据存储和外部程序时,P0端口也用作低8位地址/数据分时复用。在这种模式下,P0具有内部上拉电阻。表3-1P1口第二功能表引脚号第二功能P1.0T2(定时/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)表3-1的P1端口是一个8位双向输入输出端口,具有内部上拉电阻。P1输出缓冲器可以驱动四个TTL逻辑电平。将“1”写入P1时,上拉电阻会升高端口,该端口可用作输入端口。此外,P1港还被用作第二个功能。P2端口:P2端口是一个8位双向输入输出端口,具有上拉电阻。P2的输出缓冲器可以驱动四个TTL逻辑电平。类似于P1港的功能。P3端口:P2端口是一个8位双向输入输出端口,具有上拉电阻。P2的输出缓冲器可以驱动四个TTL逻辑电平。类似于P1港的功能。P3端口也可以作为AT89C51单片机的特殊功能(第二功能)。表3-2P3口第二功能表引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器写读选通)3.2外围电路为了能够正常工作,单片机还需要一些电路,所以要用一些外围电路来解决这个问题。外围电路有很多种最常见的外围电路有例如复位电路和晶振电路等,为了正常工作选择了这两个电路,这两个电路也是单片机必备的外围电路。1.复位电路生活当中所使用的计算机都有一个功能就是重启,而在单片机上的复位跟重启一样,而任何一个MCU像单片机这些在工作之前要有一个过程,也就是复位,如工作完在需要清零或者当输入错误或者计算失误的时候都要用到复位的操作。在单片机上在执行程序之前也就是没有执行程序前必须要复位。通常的单片机的复位所需要的时间一般是五毫秒。了解到复位之后接下来就是复位电路了,所谓的复位电路是所用的单片机系统的一种外围电路。常见的复位电路拥有三种模式,上电复位、手动复位也就是按键复位还有看门口复位。在设计中所设计的系统为了操作的方便选择用按键复位来进行复位的操作。图3-4上电复位电路和手动复位电路2.晶体振荡器电路典型的外围电路的另一种就是晶体震荡器电路,晶体振荡器也就是我们所知的晶振。在之前学习当中可以知道单片机里有ROM、RAM等芯片,单片机正常工作是把ROM也就是只读存储器里的指令读取再执行。单片机工作就像上下班单片机会有时间基准,单片机访问存储器也是有时间的,把单片机访问一次所需要的时间成为一个机器周期。但是记录这个周期就需要晶体振荡器电路也就是晶振电路,那也就是说如果没有了晶振电路那么就没有了周期,没有了这个周期会导致程序不能够顺利运行,程序不能够运行那单片机也不能工作。所以晶振电路是非常重要的。晶体振荡器电路通常可以分为内部跟外部的时钟模式。在这次设计中所要使用的时钟模式选择了内置时钟。图3-5晶振电路3.3显示电路设计系统的功能因为需要实时监控还要显示测量站点的环境温度。因此,需要设计显示电路来完成这一功能。1.数码管在本次设计中设计的单片机的应用中需要把那些数字和信息要显示出来,这就需要用到发光二极管,发光二极管可以用作简单的显示设备,在单片机应用系统中,发光二极管数码管一般用作简单的显示输出设备,一般用于显示数字和简单的信息,发光二极管具有耗电量低、体积小、使用寿命长、显示清晰、操作简单等优点。、界面方便的优点。它能基本满足普通单片机系统的需求,应用广泛。发光二极管(LEDdigitaltube)是半导体二极管的一种,是一种按照一定的结构排列的一种显示装置。通常使用带小数点的8段数码管,分为普通阳极数码管和普通阴极数码管。图3-6发光二极管结构图表3-3数字字符对应共阴极和共阳极字段码显示字符共阴极字段码共阳极字段码显示字符共阴极字段码共阳极字段码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH0A77H88H灭0FFHB7CH83H…2.数字显示电路的设计在本次设计的这次系统中如果用数码管来显示信息的话数码管很难显示汉字等,而且电路会非常复杂难免还会出现问题,对于这次设计数码管不适合作为要用到的显示设备。所以需要显示电路采用字库显示。液晶显示器有许多的优点,所以可以用液晶显示器来代替数码管,液晶显示不仅自身的体积小、重量轻、应用更加灵活、其显示质量高。图3-7数码管显示电路图3.4传感器的选择检测水质也可以用检测浊度来进行检测,一种液体的浊度可以决定这个液体的光通过率,从而可以用测出浊度的方法来测出水质。通常情况下一种液体当浊度高时因为光通过率变低所以看不清液体里面的东西,相反如果浊度低比如清澈的水可以很清楚的看到水里面的东西,通过测出光源的强度来测出被测物的浊度而变光型浊度传感器就是利用了这一原理。变光型浊度传感器结构图如图3-8所示。图3-8变光型浊度传感器的结构图可变光浊度传感器的结构:可变光浊度传感器由光敏电阻、平衡检测器、固定电源、反馈控制、可调电源、光源和外壳组成。可变光浊度传感器能够接受相同的光强,也就是可变光浊度传感器中的两个光敏电阻的数值相同,如果接受的光强不同,可变光浊度传感器里具有平衡检测器,检测器可以识别并通过反馈控制产生来实现接受相同光强的操作。浊度传感器的电路图如3-9所示。图3-9浊度传感器电路图可变光浊度传感器具有许多的优点,测量范围很广、功耗低、成本低、体积小等。除了这些优点可变光浊度传感器具有一个特点,这个特点就是具有很高的分辨率可以满足很多的测量要求。表3-4传感器的性能测试实验数据表测试点(序号)12345678910浊度值(mg/L)74122202332544701898115614811904电压值(mV)106107112125159195253350508770在实验数据中可以得知浊度的数值跟电压的数值关系,这两个形成一个二次曲线的关系,从这关系中可以得出浊度传感器的测试的公式。(3-1)式中Z为浊度mg/L;V为浊度传感器的电压读数mV;而其中的相关系数r=0.998。3.5A/D转换模数转换(A/Dconversion):通常情况下所使用的单片机大部分都只能识别数字,所以模拟的信号要用数字的方式来表示,这就需要把智能仪器里的输入通道里添加一个能把得到的信息转换成数字的装置,那就是A/D转换芯片。A/D转换芯片具有很多种,所以使用A/D转换芯片时要根据所要的精度等可以选择不同的A/D转换器,这样才能让单片机准确的测出相应的要求。除了这个还要考虑环境的因素,因为A/D转换器也受环境的影响所以选择转换器时要按照相应的环境来选择。还有因为单片机接口每个单片机是不一样的,还得考虑单片机的接口来选择转换器的输出状态。在单片机跟转换器练级的操作中一般要完成单片机先发出启动转换,再去回信息并结束之后读取需要转换的信息。在系统中所用到的数据因为需要高精度的数值,并且数据精度高的话会对A/D转换具有影响,除了这因为还需要三路模拟输出所以在选择器件的时候必须要用精度高的器件,最后使用了ADC0809作为A/D转换芯片来使用。之前所选择的ADC0809是美国的一家国家半导体公司生产的,ADC0890是一种8位分辨率双通道模数转换芯片。这个芯片具有兼容性强性价比高等等的优点。ADC0809具有以下特征:(1)8位分辨率;(2)双通道模数转换;(3)输入输出电平与晶体管/互补金属氧化物半导体兼容;(4)5V电源的输入电压在0~5V之间。(5)工作频率为250KHZ,转换时间为32美制。(6)总功耗仅为15mW。(7)8P、14P-DIP(双列直插式)和PICC封装;(8)商用芯片的温度宽度为0℃至+70℃,工业芯片的温度宽度为-40℃至+85℃。之所以选择ADC0809作为A/D转换器是因为需要三路模拟输入,与ADC0809相似的ADC0832一般情况下这两个的接口应该是DI、CS、DO、CLK这四条数据线。但是因为直接输出跟直接输入不能同时通信,而且跟微控制器的接口是双向的。所以固定电路设计可以在数据线上与直接输入和直接输出并行使用。其接口点图如图3-10所示。图3-10ADC0832与单片机的接口电路所以用ADC0809作为A/D转换器,A/D转换器的电路图如图3-11所示。图3-11A/D转换器电路图3.6PH检测模块这次设计的系统中还得具有PH检测模块,通常的PH检测模块具有酸碱度复合电极和放大电路。通常的PH符合电极的内阻是很大的,可以高达108Ω而且输出信号很弱,基本只有数百毫伏。要想把这个信号正常显示出来就得有信号放大跟模数转换。但是这些大部分具有噪音所以可以选择CA3140运算放大器来降低所噪声。CA3140是美国无线电公司开发的一种双模运算放大器。这种芯片具有压电PMOS晶体管技术跟高压双极晶体管的优点。除了这种优点还具有双极输出技术等特点,在这些优点跟特点下可以完成阻抗匹配、降低测量噪声等。其检测电路图如图3-12所示。图3-12PH检测电路在电路图中可以看出电路具有CA3140、LM324跟UA741。因为要通过改变可调电阻值的电阻来把放大系数设置,这就需要把酸碱度复合电极信号传输到CA3140跟可调电路组成一个放大器电路。本次设计中使用RV2设置放大系数为五次。放大后的信号加到LM324跟随器电路的输出端,然后0.5V和4.8V信号通过由UA741组成的反相放大电路输出。3.7浊度检测模块在浊度检测模块上我们选择了一种新的产品用了D080浊度传感器来作为我们的浊度检测模块。这款D080是由广州市的龙戈电子科技有限公司的一款产品,这款D080模块可以通过电路把传感器本身的电流信号转换成模块电压输出,使用起来可以很方便,可适用于测量水的浑浊度。其D080的实物图如图3-13所示。图3-13D080浊度传感器这款新型的D080的技术参数表如表3-5所示。表3-5D080技术参数表如表3-5所示可以知道工作电压、工作电流等,而且这款模块的误差范围也很小,适合作为我们的浊度检测模块来使用。这款模块的连接方式是把V截到DC5V正极上,G接电源A为模拟信号输出D是电平信号输出。并且要知道接线时电源极性,防止电源反接烧坏传感器,电压只能接DC5V,通电之前还要注意电压的大小,防止电压过大烧坏传感器。这款D080的电器特性曲线如图3-14所示。图3-14特性曲线在图3-13中可以得知输出电压与浓度对应表为浊度值越高输出电压越低,其中图中的%换算成浊度单位(NTU)的公式为:(3-2)这款D080的结构图如3-15所示。图3-15D080结构图3.8溶解氧检测模块在本设计里把极谱氧电极作为溶解氧传感器。氧电极只能在两端施加约0.7V的电压才能工作。溶解氧检测电路的氧电极和信号放大等电路图如图3-16所示。图3-16溶解氧传感器在图3-13中可以调整R5、R6来改变DO的电位。改变R5可以使DO的电位变成+,调节R6则可以变成-电位。当两种DO之间的电压变成0.7V的时候可以获取极化电压。因为从氧电极获取的电流是微弱电流,所以需要把这微弱的电流变成电压,把转换的电压信号耦合到第一运算放大器的相位输入其中的薄膜的温度由热敏电阻R补偿。除此之外我们在图中可知电压信号被放大了十倍,因此可以获得适合于测量的电压。为了保证测量的精度跟氧电极膜不会受到温度影响热敏电阻完成了二次补偿。测量出电压信号之后可以通过公式来计算溶液中的含氧量,其公式为(3-3)3.9液晶显示模块液晶显示模块具有许多的优点,比如体积小、功耗低等等。因为要显示的信息采用了液晶显示来作为显示模块。液晶显示模块当中选择了用液晶显示器1602模块,这个LCD1602模块可以显示出十六个字符并且显示两行,可以理解成同等于三十二个发光二极数码管,所以要用液晶显示模块来作为显示模块而不是数码管。LCD1602引脚图如图3-17所示。图3-17LCD1602引脚图1602液晶显示电路图如3-18所示。图3-181602液晶显示1602采用标准16脚接口,如图3-19所示,其中:脚1:VSS是电源。脚2:VCC连接5V电源正极。脚3:VL是液晶显示器的对比度调节端子。VL连接到正电源的时候对比度会最弱相反连接到地时会最高,当这个对比度太过高的时候会出现影子。使用时,对比度可以通过10K电位计调节。脚4:RS是寄存器选择。数据寄存器选择在高电平的情况下,而指令寄存器选择在低电平的时候。脚5:R/W是读写信号线,当这个读写信号线在高电平时会进行读的操作,当这个读写信号线在低电平时会进行写的操作。当脚4跟脚5都是低电平的时候可以显示地址,当脚4是低电平而脚5是高电平的时候可以读忙信号,当两脚都是低电平的时候可以写入数据。脚6:E被启用,在高电平读取信息,并在负跳变时执行指令。脚7-14:D0-D7是一个8位双向数据终端。脚15-16:背光源的正极跟负极。正光15英尺,负光16英尺。图3-19引脚接口说明图值得注意的是,各种LCD制造商都提供近相同规格的1602模块或兼容模块。虽然他们的产品名称不同,但原来的液晶控制器是HD44780,兼容控制集成电路基本上用在每个制造商制造的1602个模块中,所以其特性基本相同。当然,许多供应商提供不同的显示模块,如字符颜色、背光颜色等。LCD1602有11条控制指令,如图3-20所示。其中,数据内存(DDRAM):显示数据内存,用于存储要显示的字符代码;字符生成存储器;用户自定义字符图形内存。字符生成存储器;用户自定义字符图形内存。ACD1602模块在读写操作光标等操作是通过指令编程来实现的,其中当1的时候是代表高电平而0的时候则是低电平。下面简单描述了下关于ACD1602控制指令。图3-20LCD1602控制指令其中各个指令代表的是(1为高电平,0为低电平):1号:是把令码01H,光标复位到地址00H的位置。2号:是让光标回到地址00H。3号:这个指令中有I/D跟S,其中I/D表示的是光标移动方向当1的时候也就是高电平的时候是向右平移,而当0的时候则是向左。4号:这个指令中的D、C、B分别是整体显示的开关、控制光标的开关和光标是否闪烁。5号:当为1的时候显示文字0的时候移动光标。6号:指令中的DL为1时是4位总线当0时是8位,N为0时为单行显示,当1的时候表示的是双行显示,F为0时显示5×7的点阵字符当1时则是5×10的。7号:RAM的地址设置。8号:DDRAM的地址设置。9号:BF当1时为忙0时不忙。10、11号:数据的读写。第4章系统软件设计4.1软件设计在系统的软件设计之前要知道设计是什么,设计通常指的是把那些存在的问题等用计算机可以接受的语言来一个接一个地描述出来,这就是编制计算机的程序。在完成一项设计时光有硬件设计是远远不够的还需要软件设计,在软件设计的时候软件的编制很重要,因为软件编制不够好的话会导致系统不能正常运作,而软件编制质量差的话完成的系统质量也会很差,软件的质量是会直接影响整个系统。所以编制程序的时候可以按以下步骤来进行完成。1.分析问题,在开始之前要想清楚自己将要完成的问题的要求,把总体的软件分成很多部分再逐步解决。2.程序框图,程序框图是根据之前选择的问题解决方法来选择的制定框图。3.有了框图之后再根据流程图等把指令编写出来,编写的时候为了提高可读性可以把程序的相关位置编写功能注释。4.程序调试。通过前面编辑的程序来组装编译器生成代码。调试的时候可以修改源文件进行编译来修改源文件的错误,没有语法错误之后再通过模拟器测试一下程序看看还有没有错误。5.程序优化。在程序优化的时候可以为了加快操作速度节省储存空间可以把每个功能程序模块化、自程序化并且缩短序长度。
4.2水质检测主程序流程图程序开始先是初始化,如显示器控制、定时器等初始化之后设置常量,再调用测离子浓度跟浑浊度的子程序,测出离子浓度跟浑浊度之后再读取转换浓度值存储完数据再调数据处理子程序,之后把处理后的数据生成显示码在显示器上显示浓度值。在程序初始化的时候这个程序要能够继续循环并能显示当前的温度。温度检测程序的流程如图4-1所示。图4-1水质检测主程序流程图4.3电阻检测程序流程图在程序真正开始之前我们要先把所有程序初始化,如显示电阻值的显示器、主程序、定时器等。初始化之后再调用ADC0804转换程序,调用之后再把程序的模拟信号转换成数字信号,并且把数据读取再用显示器把电阻值显示到显示器上。主程序初始化程序能够继续循环,并且连续显示被测水的电阻。电阻检测程序流程如图4-2所示。开始开始输入信号主程序初始化调用ADC0804转换程序读取数据显示电阻值图4-2电阻检测模块程序框图结论在通过本次设计,在设计这个水质检测系统的时候不仅用到了C语言来编程单片机的系统核心的话用到了AT89C51,完成这个系统设计的时候我面临了许多问题,比如外围电路的连接各个模块的选择还有软件的设计等等,还有如何将有效地组合传感器跟数据采集组件,从开始该怎么检测水质开始有了大概地思路之后一步步将整个系统分解成几部分来完成了此次系统,真正了解到了水质检测这个系统。通过这次的设计对MCU的应用有了更深的了解,除了对单片机等应用还对各种传感器也有了新的认识,认识了之前不知道的传感器的类型。而且对于程序开发有了不少的长进除了这些对于系统的设计选择等等有了进一步的了解跟认识。致谢经过这么长时间的努力终于顺利完成了毕业设计。在完成这次设计的时候首先要感谢白老师提供了各方面的帮助,像在各种模块的选择中协助不少还有在选择外围电路和芯片方面也给了很多的帮助,除了这些在一些相关知识上也知道了相当多的帮助跟灵感,不仅在这些专业知识上在精神上得到了极大地鼓舞,而且在小问题上也会细心地一一解答,在完成设计的时候能够学习更多的相关知识还有一些技能。另外,感谢学校提供的资源能够顺利的完成设计。还有感谢同学,在完成设计时少不了同学的鼓励、帮助和肯定,当遇到问题时能够热心的提供帮助并且能够找到更好的解决方案。本次毕业设计对之前学到的知识有了进一步的巩固并且把这些知识综合应用起来,在学习书本上的知识的时候漏掉或者遗忘的相关知识也重新弥补了过来,除此之外对于解决问题的时候所需要的分析能力等有了不少的长进。最后感谢所有老师在四年的大学时光中奠定了专业知识的坚实基础,正是老师们的努力、支持跟鼓励下才能够顺利的完成这次毕业设计。也祝老师们身体健康,工作顺利。参考文献[1]李迎春,地下水检测系统的研究[J],南京农业大学硕士学位论文.2016第S1期[2]彭军.传感器与检测技术[J].西安电子科技大学出版社.2016.11.[3]贺慧蕾,地下水位远程检测仪的设计与实现[J],北方工业大学硕士学位论文.2017.[4]徐航,基于GPRS的水库实时检测系统的研究[J],江西理工大学学位论文。2015年5月[5]邵雯,基于MSP430的水位监控管理系统的研究和设计[J],苏州大学硕士专业学位论文.2017年10月[6]胡吉华,基于无线网络的高精度水位自动检测系统[J],南京师范大学硕士学位论文。2014年5月[7]耿晓明,无线数据传输水位检测仪的研究[D],南京理工大学学位论文.2018年12月[8]李晓芳,无线水位智能监控系统的研究及实现[D],华南理工大学专业学位硕士学位论文.2017年10月[9]张文政.智能pH—9000酸度计的研制[J].北京理工大学学报.2016,4.[10]张彦宏.邯郸市地下水超采区水资源开发与管理[J].河北水利水电技术,2016年期刊[11]安波,宋中海.浅析保定市平原区地下水动态及其变化原因[J].海河水利,2016(3):13~14.[12]杨成忠.高精度pH测量仪表的研制[J].机电工程.2017.[13]赵雁冰.地下水检测研究工作现状分析及对策[J].地下水,2017.[14]刘强,章光新.水位自动记录仪及其在地下水位动态检测中的应用[J].水文地质工程地质,2017(5):105~106.英文文献:[15]YilmazKilicaslan,GurkanTuna,KayhanGulez,ANN-BasedEstimationofGroundwaterQualityUsingaWirelessWaterQualityNetwork[J],InternationalJournalofDistributedSensorNetworks,2016,Vol.2016.[16]MuhammadAlFarabi,SeviaMahdalizaIdrus,NadiatulhudaZulkifli,AWirelessUtilityMeterSystem:DesignandImplementation[J],RecentPatentsonEngineering,2016,Vol.6(1)[17]Jayesh,Pabari,Yashwant,Acharya,Uday,Desai,ShabbirNMerchant,DevelopmentofImpedance-BasedMiniaturizedWirelessWaterIceSensorforFuturePlanetaryApplications[J].2017,VOL.61附录1原理图附录2源程序#include<REGX51.H>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#defineushortunsignedshort#defineulongunsignedlongucharDisDX[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x7f,0xff};//共阳数码管0,1,2,3,4,5,6,7,8,9,.,空,ucharDisDX_dot[]={0x40,0x79,0x24,0x30, 0x19,0x12,0x02,0x78, 0x00,0x10};//共阳数码管带点ucharDisWX[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};sbitLED_GN=P1^0;sbitLED_RD=P1^1;sbitCS=P1^2;//ADC0832控制端口sbitDI=P1^3;sbitDO=P1^3;//DI和DO与单片机共接口sbitClk=P1^4;sbitBUZ=P3^1;ucharv[3]={0x00,0x00,0x00};//显示缓冲区uchardis[4]={0x00,0x00,0x00,0x00};//显示缓冲区ucharTMP[3]={0x00,0x00,0x00};//显示缓冲区uchardate=0;//AD值ucharCH;//ADC0832通道值uinti;uintZD;uintTemp;voiddelay(intx){ while(x--) { for(i=0;i<75;i++) ; }}ushortsq(ulonga){ inti; ulongrem=0; ulongroot=0; ulongdivisor=0; for(i=0;i<16;i++) { root<<=1; rem=((rem<<2)+(a>>30)); a<<=2; divisor=(root<<1)+1; if(divisor<=rem){ rem-=divisor; root++; } } return(ushort)(root);}/***************************************** AD0832转换程序******************************************/ucharADC0832(ucharCH){uchari,dis0,dis1; Clk=0;//拉低时钟DI=1;//初始化_nop_(); CS=0;//芯片选定_nop_();Clk=1;//拉高时钟_nop_(); if(CH==0)//通道选择{Clk=0;//第一次拉低时钟DI=1;//通道0的第一位_nop_();Clk=1;//拉高时钟 _nop_();Clk=0;//第二次拉低时钟,ADC0832DI接受数据DI=0;//通道0的第二位_nop_();Clk=1;_nop_();}else{Clk=0;DI=1;//通道1的第一位_nop_();Clk=1;_nop_();Clk=0;DI=1;//通道1的第二位_nop_();Clk=1;_nop_();} Clk=0;//第三次拉低时钟,此前DI两次赋值决定通道DI=1;//DI开始失效,拉高电平,便于DO数据传输for(i=0;i<8;i++)//读取前8位的值{_nop_();dis0<<=1;Clk=1;_nop_();Clk=0;if(DO)dis0|=0x01;elsedis0|=0x00;}for(i=0;i<8;i++)//读取后8位的值{dis1>>=1;if(DO)dis1|=0x80;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅卫生设施儿童友好设计考核试卷
- 网络市场调查的隐私保护与合规性研究考核试卷
- 内陆养殖与水产品加工产业链协同效应研究考核试卷
- 火电土建工程质量监督检查记录典型表式
- 书籍阅读心得
- 法制大会活动方案
- 法律讲座活动方案
- 水饺店新年活动方案
- 水果订货会活动方案
- 棋牌客户活动方案
- Machine-Cmk-设备能力指数Cmk分析表
- DB65∕T 3952-2016 反恐怖防范设置规范 学校
- 科研助理合同协议书
- 离散余弦变换教学课件
- 术后镇痛考试试题及答案
- 《诸子百家教学课件》课件
- 2025+CSCO胃癌诊疗指南解读
- T-SHWSHQ 01-2023《医疗卫生机构安全生产标准化管理规范》
- 药学三基培训课件
- 2025-2030医疗美容产业市场深度调研及发展趋势与投资前景预测研究报告
- 国家职业技能标准-半导体分立器件和集成电路装调工
评论
0/150
提交评论