三种葡萄叶部病害检测系统设计 精品.docx
《三种葡萄叶部病害检测系统设计 精品.docx》由会员分享,可在线阅读,更多相关《三种葡萄叶部病害检测系统设计 精品.docx(27页珍藏版)》请在冰豆网上搜索。
![三种葡萄叶部病害检测系统设计 精品.docx](https://file1.bdocx.com/fileroot1/2022-12/7/26802c23-da57-4caf-a244-bed165120c15/26802c23-da57-4caf-a244-bed165120c151.gif)
三种葡萄叶部病害检测系统设计精品
毕业设计
中文题目:
三种葡萄叶片病害的识别系统设计
学生姓名
系别
专业班级
指导教师
成绩评定
2013年05月
摘 要
进入21世纪以来,信息技术已经广泛应用于生产生活的各个领域,我国农业生产正处于传统农业向现代化农业转型的重要时期。
农业要实现现代化,实现生
产力质的飞跃,必须大力发展信息技术这一管理和传播手段。
而作为信息技术重要内容的智能化的农作物病害诊断系统已成为精确农业研究领域的一个热点,具有广阔的应用前景和发展潜力,对于提高劳动者素质,实现农业现代化有着重要意义。
本文主要研究了人工智能、知识库建立,数据库建立,推理系统设计。
以及专家系统在农业信息化领域的应用和发展现状,针对课题要求的葡萄叶部病害诊断系统提出了设计方案并予以实现。
通过对经典专家系统设计方法的研究和分析发现,多知识库、多主体特性是专家系统发展的趋势。
本文研究的葡萄叶部诊断系统主要包括了知识库,数据库,推理系统设计三大模块。
完成了相应的硬件电路,和软件程序编译,为了实现葡萄叶部病害的准确诊断,本文查阅了大量资料,通过与相关种植人员的讨论,建立了自己的推理系统,通过不断的调试,初步完成了葡萄叶部病害的诊断。
并且系统具有便携式、成本低的特点,对葡萄叶部病害诊断的分析提出了新的思路,对其他农作物病害诊断,分析具有参考价值,为农作物病害诊断专家系统的进一步研究奠定基础。
关键词:
病害诊断知识库数据库推理系统
三种葡萄叶片病害的识别系统设计
1引言
1.1研究的目的和意义
在对葡萄叶部病害诊断知识进行系统归纳!
整理和详尽的用户需求分析的基础上,模拟了葡萄病害诊断的思维方式,采用了逻辑知识归纳的表示方法,建立了不确定性推理模型算法。
本文着重围绕着以下问题开展了研究工作:
(1)在分析葡萄病害专家诊断思维模式的基础上,对葡萄病害诊断知识进行分析并确定了葡萄病害诊断因素。
(2)在分析葡萄病害专家诊断思维过程的基础上提出了采用模糊规则的不确定性推理模型算法来进行葡萄病害诊断推理,并在此基础上进行了修正,使其更复合实际诊断情况。
(3)应用该葡萄叶部疾病诊断系统,初步诊断葡萄叶部病害的几种类型。
本研究系统在农作物疾病诊断中的应用是符合我国现代农业发展状况和国际人工智能发展趋势的[1]。
通过从专业的角度对农作物疾病诊断专家系统的研究,可以从根本上解决目前我国所开发的农作物疾病诊断专家系统不能适合于现地使用的问题[2],为专业人员开发相关的专家系统提供有益的资料和技术积累,并且根据对专家系统理论和专业的结合方式提供一些新的思路,通过一些农作物疾病专家系统的开发和应用解决农作物疾病专家不足问题,保证现代农业的健康发展[3]。
1.2该选题的研究现状及发展趋势
农业专家系统(AgriculturalExpertSystem),它是运用人工智能的专家系统技术,结合农业领域特点发展起来的一门高新技术,是农业信息技术的一项重要内容[4],农业是一个很复杂的系统工程,涉及种植业和养殖业两大部分,而这两大部分又有各自不同、繁杂的分类,这就造成了农业专家系统所研究的内容也是十分复杂的,同时也就出现了各种类型的农业专家系统。
农作物病虫害诊断专家系统的研究起源于1965年E.A.Feigenbaum等所开发的DENDRAL[5](一个推断化学分子结构的计算机系统)。
经过接近50年的发展,专家系统技术由刚发展时不成熟阶段逐渐走向成熟阶段,也迅速拓展了它的应用范围,例化学工程、地质勘探、医疗诊断、金融决策、农业以及军事等领域。
专家系统在农作物病虫害诊断方面,在70年代时,专家系统的研究开始应用于农作物病虫害的诊断,如1978年美国伊利诺斯大学开发的大豆病虫害诊断系统PLANT/ds及1983年日本千叶大学研制的番茄病虫害诊断专家系统MTCCS等。
虽然研究了这么多的农作物病虫害诊断专家系统,但是真正实用的寥寥无几。
比如在1990年到2001年的CAB数据库中,以pestdiagnosis为关键词检索,仅检索到十几篇。
较为成熟产品中最具有代表性的是澳大利亚昆上兰大学、国际水稻研究以及浙江大学植保系(程家安等)联合开发的用于水稻病虫害综合治理的病虫害诊断系统(RiceIPM),这个系统的内容包括了病虫害的危害特点、信息、识别特征以及防止措施防范等。
在国内,1997-1999年,浙江大学植保系与澳大利亚昆士兰大学联合开发的农作物检疫决策系统[6](QPM),该系统由知识库、LucID子系统包括Player和Builder两个子系统,它以检查表方式进行分类、鉴定。
QPM系统对每个检疫对象的知识包括分类地位、图文信息、侵染和传播途径、传播途径、形态描述、为害性,生物学特性、检验方法以及防止措施、地域分布图等。
农业专家系统技术应用最早的是农作物病虫害诊断系统,也是最为活跃的领域,有着良好的基础和发展前景。
已经在农作物病虫害综合管理中发挥了重要的辅助决策作用有:
蒋平安等的新疆棉花病虫害管理专家系统,庄铁成等的大豆病虫害诊断专家系统,于艳的黑龙江省水稻病虫害诊断专家系统,陈恺等的安徽水稻病虫害诊断专家系统等。
1.3主要研究内容
(1)基于单片机的葡萄叶部病害诊断,数据库,推理机建立;
(2)诊断信息,基于12864液晶屏逻辑显示;
(3)电路设计后进行硬件电路的焊接,进行调试;
(4)系统的原理图以及PCB图的制作。
2系统硬件设计
系统整体设计对整个系统的开发有重要的作用,系统整体设计决定了系统的功能和特点,并且对后续的开发、升级有着重要的影响。
市场上的植物病害专家系统大多基于机器视觉技术,需要强大,丰富的知识库。
但是这类仪器仪表价钱昂贵、需要专家使用,不便于种植人员使用,本文设计的仪器有价格低、便携式等优点。
2.1硬件总体设计
硬件框图及原理图如下所示。
图1系统硬件框图
图1为系统的整体结构、主要模块间的逻辑关系和大致功能。
系统主要分为单片机最小系统、电源、矩阵键盘模块模块、液晶显示模块。
单片机系统主要负责控制命令的解析,并控制其它模块完成相应功能;矩阵键盘模块的主要功能是进行病状信息数据的输入、液晶显示模块的主要功能是进行系统名称,病症逻辑信息,推理结果及病症图片的显示。
图2系统原理图
2.2AT89S52最小系统
AT89S52单片机加上晶振电路、复位电路,构成微控制器工作的最简模式,即最小系统。
它其是整个系统的控制核心,完成了对系统的控制、检测和管理。
结合外围电路,构成一个完整的系统。
最小系统电路如图3示:
图3最小系统原理图
2.3液晶显示模块
本系统显示部分采用12864点阵液晶屏、接口时序;其中,模块有并行和串行两种连接方法(时序如下):
8位并行连接时序图,MPU写资料到模块。
图48位并行MPU写数据时序
MPU从模块读出资料
图58位并行MPU读数据时序
表1128X64HZ引脚说明
引脚号
引脚名称
方向
功能说明
1
VSS
-
模块的电源地
2
VDD
-
模块的电源正端
3
V0
-
LCD驱动电压输入端
4
RS(CS)
H/L
并行的指令/数据选择信号;串行的片选信号
5
R/W(SID)
H/L
并行的读写选择信号;串行的数据口
6
E(CLK)
H/L
6E(CLK)H/L
7
DB0
H/L
数据0
8
DB1
H/L
数据1
9
DB2
H/L
数据2
10
DB3
H/L
数据3
11
DB4
H/L
数据4
12
DB5
H/L
数据5
13
DB6
H/L
数据6
14
DB7
H/L
数据7
15
PSB
H/L
并/串行接口选择:
H-并行;L-串行
16
NC
空脚
17
/RET
H/L
复位低电平有效
18
NC
-
空脚
19
LED_A
-
背光源正极(LED+5V)
20
LED_K
背光源负极(LED-OV)
2.4矩阵键盘模块
键盘分编码键盘和非编码键盘。
键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘,而靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘。
也有用到编码键盘的。
非编码键盘有分为:
独立键盘和行列式(又称为矩阵式)键盘。
本系统为了更多的输入信息并且为节省I/O口,采用4*4矩阵键盘。
原理图如图6所示:
图6矩阵键盘
2.5电源选择
本设计中3.3V电源采用LM1117稳压模块在图7中,1引脚为5V输入端,2脚为3.3V的输出端,3引脚为地。
图7LM1117稳压模块
3知识库及推理系统设计
3.1知识库建立
将果树专家实际经验查询总结为主要信息点,包括需要诊断的三种病害名称,每种病害的病症特点,危害特点,受害位置,防止方法,及病斑特点图片等。
具体如图8-12所示。
图8黑痘病病症及相关特点
图9黑痘病病叶特点
图10霜霉病病症及相关特点
图11霜霉病病叶特点
图12褐斑病病症及相关特点
图13褐斑病病叶特点
3.2数据库建立
根据已有的知识库信息,将知识库的内容归纳逻辑化,总结如下:
表2葡萄叶部病害信息表
病症名称
受害位置
病斑特点
影响危害
黑痘病
嫩梢,叶片,叶柄
褐色病斑变为黄色晕圈,病斑不规则,中央灰白色,稍凹陷。
危害幼嫩组织及叶片,使果实失去营养价值,枝叶干枯,停止生长。
霜霉病
叶片,叶脉
半透明油渍状病斑扩大为黄褐色病斑,潮湿时,叶背产生白色霉层。
树枝干枯脱落,停止生长。
褐斑病
叶片
边缘色深,中央略淡,病部背面有霉层
早期落叶,消弱树势影响花芽分化及第二年产量
表3数据库信息与单片机按键对应结合
病症名称
受害位置
病斑特点
影响危害
黑痘病
1
2
3
霜霉病
4
5
6
褐斑病
7
8
9
3.3推理系统构成
查询大量葡萄病症特点,信息后,与种植人员交流协商对三种病症信息归纳推理:
每一种病有三个关键信息点确认,如受害位置,病斑特点,影响危害。
三个信息点组成一个三位数,将多种组合放入系统软件程序中的一个一维数组。
将归纳的病症信息离散,逻辑话与单片机建立联系。
例如:
顺序按下1,4,7
按键1----受害位置:
嫩梢,叶片,叶柄
按键4----病斑特点:
褐色病斑变为黄色晕圈,病斑不规则,中央灰白色,稍凹陷。
按键7----影响危害:
危害幼嫩组织及叶片,使果实失去营养价值,枝叶干枯,停止生长。
诊断结果为黑痘病。
逻辑数组建立:
Shujuku[]=
{147,247,347//此病为黑痘病
158,258,268,358//此病为霜霉病
169,167,269,267,367,369//此病为褐斑病
157,148,248,257,348,357//此病70%霜霉病,30%黑痘病
168,159,259,359,368//此病50%霜霉病,50%褐斑病
149,//此病50%黑痘病,50%霜霉病
249,349//此病50%黑痘病,50%褐斑病
}
其他数据//输入错误
4葡萄叶部病害诊断软件系统设计
4.1葡萄叶部病害诊断系统流程图
4.2显示汉字或图形流程图:
图14显示流程图
4.3系统子程序
4.3.1显示子程序
voidlcd_pos(ucharx,uchary)//设定显示位置,在第x行,且在x行的第y个字符显示
{ucharpos;
switch(x)
{case1:
x=0x80;break;
case2:
x=0x90;break;
case3:
x=0x88;break;
case4:
x=0x98;break;
}
pos=x+y;
write_12864com(pos);
}
voiddisplay0()//开机显示葡萄叶部病害诊断系统
{
uchari;
write_12864com(0x80);//第一行显示
delay_50us
(1);
for(i=0;i<16;i++)
write_12864dat(tab0[i]);
delay_50us
(1);
}
4.3.2按键子程序
ucharkeyscan(void)//键盘扫描函数,使用行列反转扫描法
{ucharcord;
ucharcord_h,cord_l;//行列值中间变量
P1=0x0f;//行线输出全为0
cord_h=P1&0x0f;//读入列线值
if(cord_h!
=0x0f)//先检测有无按键按下
{
delay_50us
(2);//去抖
if(cord_h!
=0x0f)
{
cord_h=P1&0x0f;//读入列线值
P1=cord_h|0xf0;//输出当前列线值
cord_l=P1&0xf0;//读入行线值
///检测按键弹起
P1=0x0f;cord=P1&0x0f;
while(cord!
=0x0f){P1=0x0f;cord=P1&0x0f;}
return(cord_h+cord_l);//键盘最后组合码值
}
}
return(0xff);//返回该值
}
4.3.3初始化子程序
voidinitinal(void)
{
psb=1;
delay_50us
(2);
write_12864com(0x30);//选择基本指令
delay_50us(4);
write_12864com(0x30);
delay_50us(4);
write_12864com(0x0c);
delay_50us(4);
write_12864com(0x01);//清屏指令
delay_50us(240);
write_12864com(0x06);//游标每写完一个字指针就加一
delay_50us(10);
}
4.3.4主函数
voidmain()
{
ucharkey,num,a,b,c;
uchark;
initinal();
display0();
HH:
k=1;
while
(1)
{
key=keyscan();//调用键盘扫描,
switch(key)
{
case0xee:
num=1;break;//0按下相应的键显示相对应的码值
case0xde:
num=2;break;//1
case0xbe:
num=3;;break;//2
case0x7e:
num=4;break;//3
case0xed:
num=5;break;//4
case0xdd:
num=6;break;//5
case0xbd:
num=7;break;//6
case0x7d:
num=8;break;//7
case0xeb:
num=9;break;//8
case0xdb:
num=10;break;//9
}
if((num!
=0)&&(k==1))
{
a=num;display2(a);
k++;
}
if((a!
=num)&&(k==2))
{
b=num;display2(b);
k++;
}
if((b!
=num)&&(k==3))
{
c=num;display2(c);
k=1;break;
}
}
d=a*100+b*10+c;
num=a=b=c=0;
delay_50ms(10000);
display2(0);
jiance();
gotoHH;
}
5总结
本系统首先完成了葡萄叶部病害信息的收集,归纳,推理,建立了相应的知识库信息,数据库信息。
其次通过软件编程将说用信息逻辑显示,逻辑推理后显示疑似病名。
其次搭建了相应硬件电路,绘制了PCB图。
通过本次设计熟悉了单片机开发系统的流程,熟悉了专家系统的设计流程,和规范步骤,为将来进一步完善系统做准备。
由于时间,条件和能力有限,本系统还需在以下几个方面作进一步完善:
(1)系统知识库的知识还不够完善,数据库数据还不够充分,知识整理和数据积累工作还有待进一步加强,力图能够进行细致的进行葡萄疾病诊断;
(2)目前本系统实现了葡萄病害的基本诊断,在以后的工作中,可以针对病害的特点选择相应的模型继续完善葡萄病害的诊断部分"
(3)考虑把系统投放到试点基地,和实际葡萄种植单位相结合,修改和完善系统,不断提高系统的实际应用能力。
参考文献
[1]蔡自兴,徐光枯.人工智能及其应用(第二版).北京:
清华大学出版社,2000.
[2]林尧瑞,张拔,石纯一专家系统理论与实践.北京:
清华大学出版社,1988.
[3]余建桥,梁颖.农业数据库中知识发现的研究[J].计算机科学,1999,26(12):
82-84.
[4]孔繁胜.知识库系统原理.杭州:
浙江大学出版社,2000:
l40-143.
[5]王耀南.计算智能信息处理技术及其应用.长沙:
湖南大学出版社,1999.11.
[6]WhBaolin,XinghuoYu.FuzzyModellingandIdentifieationwithGenetieAlgorithmBasedLearning.FuzZySetsandSystems,2000,113(3):
351-365.
[7]LemmonH.Comax:
AnexPertsystemforeottoneroPmanagement.seienee,1986,233:
29-33.
[8]吉明,王克俊.减摇鳍故障诊断专家系统.黑龙江自动化技术与应用[J],1998(3):
12-14.
[9]吴玺,谭红.试论专家系统的应用及发展.计算机应用[J],2000(8):
33-35.
[10]于福生.反向推理型诊断问题专家系统通用构建模型[J].系统工程理论与实践,1998(5)
[11]赵卫东,盛昭瀚,杜雪寒.基于神经网络的案例检索研究[J].东南大学学报,2000,30(3):
46-50.
[12]曹存根.从专家分析实例中学习知识[J].软件学报,1994,5(6):
7-9.
[13]倪志伟,蔡庆生.用神经网络来进行数据库中的知识发现[J].系统仿真学报,2000(6):
22-24
致谢
四年的大学时光很快,马上要面临毕业了,真是有些不舍。
四年里,在老师的教诲下,经过学习的积累,学到了本专业的很多知识,也学会了如何做人。
本次毕业设计从得到题目到查找资料到对题目的研究设定以及硬件电路板的制作和软件的调试。
在这一个充满挑战和挫折,充满热情和打击的过程中,我感触颇深,这不仅是对我四年学习知识情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。
在这个过程中深刻的感受到了毕业设计的意义所在。
本次毕业设计要特别感谢的导师常若葵老师,她给予我精心的指导,让我顺利完成了毕业设计。
同时我还要感谢测控教研室的各位老师,有了他们的支持,我才圆满的完成了任务。
今天的努力,是为了明天更加美好。
附录1:
相关英文文献
附录2:
英文文献中文译文
AT89C51单片机
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CCPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:
与MCS-51产品指令系统完全兼容
4k字节可重擦写Flash闪速存储器
1000次擦写周期
全静态操作:
OHz-24MHz
二级加密程序存储器
128X8字节内部RANT
32个可编程I/O口线
2个16位定时/计数器
6个中断源
可编程串行DART通道
低功耗空闲和掉电模式
功能特性概述:
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停正工作并禁正其它所有部件工作到下一个硬件复位。
引脚功能说明:
Vcc:
电源电压
GND:
地
PO口:
PO口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“I”可作为高阻抗端用。
在访问外部数据存储器或程序存储器时,这组日线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,PO接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阴的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑Il电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信口拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O日,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,囚为内部存在上拉电阻,某个引脚被外部信口拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(CSFR)区中R2寄存器的内容),在整个访问期间小改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻阴级拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3日除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用