基于AT89C51的水质监测系统的设计.docx
《基于AT89C51的水质监测系统的设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51的水质监测系统的设计.docx(10页珍藏版)》请在冰豆网上搜索。
基于AT89C51的水质监测系统的设计
现代检测技术与系统研究报告
题目:
基于AT89C51的水质监测系统的设计
学院:
电气工程学院
年级专业:
仪器仪表工程
学号:
学生姓名:
日期:
2013.12.14
一、绪论
1.1课题的研究背景和意义
针对客观环境运用物理、生物或化学等的现代科技手段,间断地或连续地对水体污物及其有关的组成成份鉴定和测试,通过仪器的检测或实验进行定性、定量和系统的描述,做出正确的环境质量评价称作水环境监测。
我国不仅存在水资源短缺和空间、时间分布不平衡的严重问题,而且更普遍存在着水质性缺水的危机。
而当今世界的水环境也面临着两大问题,水资源的短缺和水污染的加重。
工业生产废水和城乡生活污水向江河湖泊及土壤中的大量持续排放,使得地下水质和地表水质日益下降,更加剧了水资源的紧张,破坏了水环境,危害着人类及大自然生态系统的健康。
随着人们环保意识的提高,以及国家对水污染问题也越来越重视,水质监测的要求也越来越高了,因此,需要有先进的水质监测成套系统才能满足日益丰富的社会要求。
水质监测系统能做到实时,连续监测和远程监控,达到及时掌握主要流域重点断面水体水质状况,预警预报重大流域性水质污染事故,以便使水厂在发生重大水污染时掌控水源水质状况,做到防范、解决突发水污染事故的目的等。
水质监测工作是水体污染防治工作和水环境保护工作的重要部分。
但是,目前在我国水环境监测的实际工作中,大量采用的监测方法己经不能满足环保事业不断发展的社会需求,因此研究水质监测系统,发展水质监测技术十分重要。
1.2国内外水质监测技术的现状
1.2.1国内水质监测技术的现状
许多年以来我国的环境监理工作一直采用传统的环境水质监测工作,主要以人工现场采样、实验室仪器分析为主。
虽然在实验室中分析手段完备,但实验室监测存在监测频次低、采样误差大、监测数据分散、不能及时反映污染变化状况等缺陷。
难以对水质监测现场信息正确及时的了解。
我国环境水质监测仪器以往主要依赖进口,从2000年开始,成熟的国产化设备才开始在全国范围内大规模推广。
目前国家环保总局设置的水质监测断面,基本上分布在水量相对充沛、监管相对严格的大江大河或主要水系的干流,对于支流的监测几乎属于空白领域。
在小城镇以及广大农村地区,实际的污水排放量以及支流、内河的受污染程度,很可能要更为严重。
水质监测现状揭示了我国水污染的严重程度和水质监测的建设的落后。
因此,治理水污染,做好水质监测,改进水质设备及水质监测方法是我们当前需要解决的问题。
近年来,水质自动监测技术在许多国家地表水监测中得到了广泛的应用,我国的水质自动监测站的建设也取得了较大的进展。
但是至今,还没有可普遍应用于基层水环境在线监测与数据远程传输、处理的水质监测完备平台在国内产出。
并且,近年发展起来的各式数据传输网络,大多数是上下环境监测部门之间的数据传输,基于基层水质的实时采集监测与水质分析系统环节还很薄弱。
1.2.2国外水质监测技术的现状
在国外,早期的河流水质监测办法是选取河流断面定点定时采集水样,带至实验室分析。
这种人工抽查方法不能及时准确的掌握不断变化中的水质数据。
为了尽早发现水质的异常变化,提高下游水质污染防治预报,及时追踪污染源,研究水的稀释及水环境的自我净化规律,国外在完善实验室监测同时,发展了水质移动监测系统和水质自动监测系统。
水质移动监测系统是一个以移动监测车为基本监测单元,采用便携水质实验室及现场水质参数分析仪采集水质变化,运用GPS(GlobalPositioningSystem)全球卫星定位系统和GPRS/GSM(GeneralPacketRadioService/globalsystemformobilecommunications)无线数据通讯装置进行信息通信的水质检测、分析系统。
解决了偏远地区及水域水质监测的困难。
水质自动监测系统,常用在监测水质污染及一些特定指标。
通过在片区域或一个水系放置若干有连续自动监测仪器的监测站来采集被检测物的变化信息,再传送到统一的控制中心,实现随时对该片区域或一个水系的水质进行连续自动的监测。
二、基于单片机的水质监测系统设计
设计思路:
以单片机为主要控制器件设计一种水质监测系统,主要包括硬件电路的设计和系统程序的设计。
硬件电路主要包括传感器的选取,单片机的选取与应用,A/D转换的选用,电源设计,显示部分设计等;软件设计主要包括主程序设计和子程序设计,监测结果通过显示模块显示。
2.1水质pH值监测系统
2.1.1水质pH简介
这次设计选择的监测项目为反映水质综合性状况的水质监测项目,水质pH值。
氢离子浓度指数的数值,即俗称为“pH值”,是表示溶液碱性或酸性程度的数值,为溶液所含氢离子浓度的常用对数的负值。
总的来说,水中的pH值主要是由水中的氢离子数量的多寡决定。
因为水中的PH值可以体现出水中的酸碱度,湖水中水的PH值从一定的程度上反映了水质的好坏。
所以,水中的PH对于生活在水中的动植物有着重要的影响。
人体健康与PH间的直接关系不明显,一般pH值在6.5~9.5范围内时不太影响健康。
生活饮用水pH值的国家标准是6.5~8.5之间。
但现在大部分人觉得饮用弱碱性水比较健康。
水处理工程会影响水的PH值,软化水质提高pH,氯化作用降低pH。
pH升高水会产生苦味,色度会增加。
pH<7时,被污染的水会生成硫化氢二散发出臭鸡蛋味;pH值在5.5~8.2之间是最为适合铁细菌生长而形成“红水”。
另外PH值还影响水的混凝、沉淀、过滤过程而影响水中杂质含量。
2.1.2系统原理框图
下图2-1是水质pH值监测系统的设计框图,本系统是单片机技术的水质监测系统,传感器采集目标对象的信息,将信息送到A/D的模拟通道中,由单片机通过程序将经过A/D模数转换后的信息读到自己内部的寄存器中,单片机通过自己内部程序存储器中的的程序,将输入的信息处理,然后将得到的信息通过显示装置显示出来。
系统原理框图:
图2-1水质pH值监测系统原理设计框图
2.2硬件设计与选择
(1)单片机的选择
单片机也称为微控制器或嵌入式微控制器。
其内部结构与普通计算机结构类似,也是由中央处理器(CPU)、存储器和输入/输出(I/O)3大基本部分构成。
实际就是把一台普通计算机经过简化,浓缩在一小片芯片内,形成了芯片级计算机,即单芯片微型计算机,简称单片机。
具有性能高,价格低;体积小,可靠性高;低电压,低功耗的特点。
本次设计即是选用AT89C51单片机,其引脚如图2-2。
单片机振荡电路石英晶体振荡器频率选12MHz,则振荡周期=1/(12MHz),机械周期=12×振荡周期=1μs。
(振荡周期:
也称时钟周期,是指为单片机提供时钟信号的振荡源的周期,一般为11.0592MHZ,12MHZ和24MHZ用的也比较多;机器周期:
一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。
在一个机器周期内,CPU可以完成一个独立的操作;指令周期:
它是指CPU完成一条操作的所需的全部时间。
每条指令执行时间都是有一个或几个机器周期组成。
)
AT89C51与80C51单片机的基本机构是一样的,编程所使用的指令及单片机的管脚都与80C51相同,即完全兼容。
由于采用了Flash工艺制作内部存储器(也称闪速存储器),用户可以用电方式进行反复快速擦出、改写。
这为初学者学习单片机提供了极大的方便。
图2-2AT89C51单片机引脚图
(2)传感器的选用
传感器是直接进行测量的环节。
本次选用的传感器是化学传感器,化学传感器是指利用化学反应产生的电信号或其他信息(如光效应、热效应、场效应及质量变化等)来进行测定的传感器。
本文选用的是玻璃电极,其测量的线性范围是1~9.5pH。
PH玻璃电极是20世纪初出现的电化学式传感器,它有多种形式,其中目前应用广泛的是这样一种结构,它包括:
电极引线,电极帽,铅玻璃,PH敏感玻璃膜,内参比液,Ag-AgcL电极。
首先把PH敏感玻璃膜的配料熔融为液态玻璃体。
然后用铅玻璃管(对H离子无响应)蘸取融化的玻璃体趁热吹成珠泡形,冷却后装入内参比液和Ag-AgcL参比电极,接好电极引线,封上电极帽后就是PH玻璃电极。
(3)模拟/数字转换器的选用
模拟/数字转换器(ADC)即A/D转换器,将输入模拟信号转换成数字信号的装置。
信号输入端可以是转换器或传感器的输出。
输出信号可提供给微处理器。
本次设计选用的是使用较广泛的8位连续渐进式模拟/数字转换器ADC0804。
图2-3ADC0804的典型接法
ADC0804的VREF、CLK、CLKR各脚接法如图2-3,图中可得周期T=1.1RC=1.1×10K×150pF此周期决定转换所需周期,如图3-3中为例,频率约为600KHz,转换时间约为100ms。
在ADC0804开始工作后,当/INTR=L时表示转换已完成,此时DB7-DB0的数据才是最新数据,再配合/CS=L、/RD=L可将此数据读取。
当/RD信号在上升边缘时,则/INTR将会转为高电位(High)以便当下一回转换完成时,转为低电平提供给外界得知。
要注意的是,ADC0804的引脚/WR为重置ADC作用,并非将数据写入ADC中。
将单片机与ADC0804连接时,因单片机需要对ADC0804作沟通,所以需要单片机的两个Port,一个口作数据总线,另一个口作为控制端口用。
如下图2-4中所示,端口0与ADC连接作数据总线;P2.0接至ADC的/RD、/WR引脚,方便控制;P2.1接至/INTR引脚,以判断是否转换完成。
本次设计采用的是非中断方式。
(4)显示模块设计
本次设计的显示部分采用两个数码管的共阳极连接,采用动态显示驱动。
R是限流电阻。
如下图2-4中所示,端口1连接数码管,以显示输入模拟电压转换后的数字值。
Q1和Q2是两只共阳极数码显示管的控制三极管,三极管的基极分别接在单片机P2端口的P2.6和P2.7引脚上。
也就是,P2.6输出为0时三极管Q1导通,与其相连的共阳极数码管显示器开始工作;P2.6输出为1时三级管Q1截止,与其相连的数码管显示器停止工作。
三极管Q2的工作与Q1三级管相同。
(5)protues环境中的各元件连接
图2-4水质pH值监测系统的元件连接总框图
2.3系统软件设计
由水质pH值监测系统的硬件连接框图设计该系统软件部分。
启动模拟/数字转换器(ADC);检查模/数转换是否完成,若转换未完成(/INTR为1)则继续检查,若转换完成(/INTR为0)则跳转至数值读取部分;读取部分,设定读取,调用显示子程序。
下面是软件程序的流程图。
图2-5水质pH值监测系统的软件程序流程图
以下是用汇编语言编写的监测系统程序:
通过程序我们可以观察到数码管上显示的数字的变化,可以检测监测系统是否正常工作。
通常往被监测对象的溶液中加入盐算,加入盐酸后,改变pH值,通过玻璃电极可以将其转化为电量,经过数模转化送入单片机进行数字信息的处理,pH值的变化最后改变了送入单片机中进行处理的数字量,这些信息最后通过显示模块反映出来,如果我们观察到显示模块上的数字在不断变化,则系统正常工作。
详细程序请见附录I。
2.4系统的调试
(1)测试的仪器:
示波器,盐酸等。
(2)首先分别调试单元模块,确保模块正常工作,再进行整个系统调试,以提高调试效率。
(3)单片机模块的测试,本文所选单片机的晶振是12MHz,所以ALE脚输出的频率是晶振频率的1/6,所以可以达到约2MHz,我们可以选用示波器在ALE上测信号,当我们得到约2MHz频率的方波时,说明单片机模块正常工作。
(4)系统调试测试
各模块正常工作后,进行系统调试,系统调试主要进行软件和硬件的综合调试,观察系统是否符和功能的要求。
经测试,系统的性能满足要求。
结论
本论文初步探讨了水质监测系统的结构。
最后以单片机数据监测技术与数据为核心,设计了一种适合在我国基层环境与水质监测单位应用的水质pH值监测系统。
在水质pH值监测系统中运用了AT89C51单片机,采用玻璃电极传导水质中pH的变化,提高了自动化水平,降低了设备的成本。
其实,将本论文设计的水质pH值监测系统,组装在一起,既是一个轻便的水质pH读取器,也可是一个在线水质pH动态监测系统。
另外,本文设计的水质pH值监测系统功能过于单一,通信传输及接口技术欠缺,这些都是还需要改进的地方,监测系统的内容还需丰富。
由于我对知识的掌握尚且不足,文中错误、不缜密之处请评阅老师批评指正。
参考文献
[1]王燕飞.水污染控制技术.化学工业出版社,2002年,7月.
[2]姜文来唐曲雷波.水资源管理学导论.化学工业出版社,2005年,1月.
[3]胡辉.单片机原理及应用设计.中国水利水电出版社,2005年,7月.
[4]刘迎春.MCS-51单片机原理及应用教程.清华大学出版社,2005年,5月.
[5]王守中.51单片机开发入门与典型实例.人民邮电出版社,2007年,10月.
[6]秦曾煌.电工学.高等教育出版社,2004年,7月.
[7]何希才.新型集成电路及其应用实例.科学出版社,2005年,11月.
附录I
1:
ORG00H;起始地址
2:
START:
3:
MOVP2,#00111111B;数码管有显示
4:
SETBP2.0;启动ADC,/WR送入一个低电位脉冲
5:
NOP
6:
CLRP2.0
7:
BACK:
8:
MOVA,P2
9:
JNBA.1,LOOP;检查是否完成转换,/INTR是否为0
10:
JMPBACK
11:
LOOP:
12:
CLRP2.0;设定读取
13:
MOVA,P0
14:
SETBP2.0
15:
MOVR0,A
16:
ACALLDISPLAY
17:
JMPBACK
18:
DISPLAY:
;显示部分
19:
MOVB,#5
20:
DIVAB;A为商,B为余数
21:
MOVB,#10
22:
DIVAB;A为个数B为小数
24:
MOVR1,A
25:
MOVR2,B
26:
MOVR3,50;设导通率为50
27:
LOOP1:
MOVA,R2;取小数
28:
ACALLCHANG0;调用显示子程序
29:
CLRP2.6;开小数显示
30:
ACALLDLY10ms;调用延时10ms程序
31:
SETBP2.6;关小数显示
32:
MOVA,R1;取个位
33:
ACALLCHANG1
34:
CLRP2.7;开个位显示
35:
ACALLDLY10ms;调用延时10ms程序
36:
SETBP2.7;关个位显示
37:
DJNZR3,LOOP1;100次显示未完成继续扫描
38:
CHANG0:
39:
MOVDPTR,#TABLE0;调入查表起始地址TABLE0
40:
MOVCA,@A+DPTR;取表子程序
41:
MOVP1,A
42:
RET;取表子程序返回
43:
CHANG1:
44:
MOVDPTR,#TABLE1;调入查表起始地址TABLE1
45:
MOVCA,@A+DPTR
46:
MOVP1,A
47:
RET;取表子程序返回
48:
DLY10ms:
;10ms延时子程序
49:
MOVR6,#20
50:
D1:
MOV#R7,250
51:
DJNZR7,$
52:
DJNZR6,D1
53:
RET
54:
TABLE0:
;7段代码表
55:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
56:
TABLE1:
;8段代码表
57:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
58:
END