




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
烟台大学毕业论文(设计)第一章 绪 论1.1 课题背景柑橘是第一大果树品种,我国是世界柑橘主产国,现柑橘种植面积居世界第一,产量居世界第二。共有19个省(市,自治区)生产柑橘,已成为我国农村的支柱产业之一。干旱缺水会严重影响柑橘的产量和品质,而我国的水资源在时间上和空间上分布极不均衡,并且大部分地区还采用传统漫灌和浇灌,这种灌溉方式不仅使大量水分蒸发,而且会造成土壤的板结使得大部分的柑橘单位面积产量和果实品质低于世界平均水平。因此探索有效的节水灌溉技术对提高柑橘的质量和效益具有重要作用。徐淑君等的研究结果表明滴灌是最有利于柑橘生长的有效方式,可显著增加柑橘产量,提高柑橘的品质1。滴灌自动控制系统与人工控制系统相比可以适时适量的灌水,消除人为因素的影响,提高柑橘园的产量。本课题研究的柑橘园滴灌监控系统能充分实现自动滴灌的优点,并且相比于一些定时的滴灌自动控制系统可以自动检测土壤含水量,根据土壤的含水量进行自动控制。所以即使在干旱少雨期间也可以有效利用有限的水资源创造更大的效益。1.1.1嵌入式计算机系统设计背景嵌入式计算机系统的应用十分广泛,其定义可表述如下:以应用为目标,以计算机技术为基础,软硬件可裁剪,适应对功能、实时性、可靠性、安全性、体积、重量、成本、功耗、环境、安装方式等方面有严格要求的专用计算机系统2。嵌入式计算机系统实质上是实现某些特定功能的要求的计算机系统。从军用到民用、从工业企业到家庭,所有用于监测或控制的计算机应用系统均可纳入嵌入式计算机系统的范畴。因此嵌入式计算机系统的应用极其广泛,甚至可以认为嵌入式计算机系统无所不在。嵌入式计算机系统有硬件系统和软件系统组成。(一)嵌入式计算机硬件系统 (1)嵌入式处理器,嵌入式处理器是构成构成系统的核心部件,系统中的部件均在它的控制和调动下工作,处理器的优劣将直接影响到整个系统的性能。嵌入式处理器的类型非常多,可以是以cpu为核心,在加上内存接口等部件组成;可以在在单片机的基础上扩展而成;也可以用专用处理器芯片构成。处理器的选择主要取决于用户的需求。在嵌入式计算机系统中,作为核心部件的处理器性能的优劣将直接影响到整个系统的性能。(2)常规外设及其接口,常规外设指构成一个计算机系统所必不可少的外设,通常包括输入设备、输出设备和外存储设备。输入设备用于数据的输入,常见的有键盘、鼠标、扫描仪等。输出设备用于数据的输出,常见的设备有显示器、打印机、绘图仪等。外存储设备用于程序和数据的存储,常见的设备有硬盘、光盘、存储卡等。将上述设备连接到计算机上,使外设的信息能够进入到计算机,同时使计算机的信息能输出到外设,通过接口可以实现此目的。(3)专用外设及其接口,专用外设是那些为完成用户所要求的功能而必须使用的外设。在实际应用中由于用户功能要求的多样性及实现这些要求的技术途径的灵活性,使外设的种类繁多。例如,发光二极管,步进电机,继电器,a/d,d/a,按键等。专用外设也需要接口与计算机连接,由于外设的多样性和复杂性,使接口的设计比较复杂。(二)嵌入式计算机软件系统(1)系统软件,系统软件通常包括嵌入式操作系统和应用软件。对规模较大的嵌入式计算机系统一般都配有操作系统,通过多任务并行处理可以完成复杂的用户需求。规模较小或是较简单的嵌入式计算机系统中一般不需要一个功能完备的实时操作系统。这种情况下可以开发一个实时监控程序对用户的任务进行管理。最简单嵌入式计算机系统中,可以不配置操作系统也不配置监控程序,一开机就直接执行用户程序。应用软件是针对不同应用实现用户要求的功能软件。 (2)用户程序,在嵌入式计算机系统中,对于每一个用户的要求,都必须有一个用户程序去完成。由于用户需求的多样性,用户程序在不同的之间存在着极大地差异,一般由用户开发完成。用户可以根据嵌入式系统的设计要求和系统的资源配置情况,确定使用何种设计语言来编写用户程序,既可以用高级语言也可以用汇编语言。高级语言功能强,且比较近似于人们日常的生活语言习惯,因此比较容易用其编写程序;而汇编语言编写的程序则具有执行速度快、对端口操作灵活的特点。在当前,人们通常用高级语言和汇编语言混合编程的方法来编写用户程序。在最简单的嵌入式计算机系统中,只配置用户程序。用户程序除完成用户功能外,还包括对系统的简单外设的管理。在这种情况下,系统加电后就直接进入用户程序。本文选用单片机作为嵌入式系统的处理器。1.1.2单片机的基本知识单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:cpu、存储器和i/o接口电路等。因此,单片机只需要用适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机内部结构如下图所示 中央处理器定时器/计数器串行i/o接口系统时钟romram并行i/o接口外部定时元件中断电源复位 图1-1 单片机内部结构图下面介绍上图中各个部件。(一)存储器在单片机,rom和ram存储器是分开制造的。通常,rom存储器容量较大,ram存储器容量较小。(1) rom rom(只读存储器)用于存放应用程序,故又称为程序存储器。根据片内rom的结构,单片机可分为无rom型,rom型和eprom型三类。无rom型单片机特点是片内不集成rom存储器,故应用程序必须固化到外接的rom存储器芯片中,才能构成有完整功能的单片机应用系统。rom型单片机内部,其程序一旦固化进去便永远不能修改。eprom型单片机内部程序一旦写入,也可以通过特殊手段加以修改。(2)ram 片内ram(随机存取存储器)主要用来存放实时数据或作为通用寄存器、数据堆栈或数据缓冲器之用。(二) 中央处理器(cpu)中央处理器内部结构及其复杂,主要包括运算器和控制器两个部分。运算器用于对二进制数进行算术运算和逻辑操作,其操作顺序在控制器控制下进行。运算器由算术逻辑单元alu、累加器a、通用寄存器、暂存器tmp和状态寄存器psw等五部分组成。累加器a是一个具有输入、输出功能的移位寄存器,由8个触发器组成。累加器a在加法前用于存放一个操作数,加法后用于存放两个操作数之和,以便再次累加。tmp用于暂存另一个操作数。alu,主要由加法器、移位寄存器和判断电路组成,用于对累加器和暂存器中的两个操作数进行四则运算和逻辑操作。psw也由8位触发器组成,用于存放alu操作过程中形成的状态。控制器是发布操作命令的机构,是计算机的指挥中心,相当于人脑的神经中枢。控制器由指令部件、时序部件和微操作控制部件等三部分组成。指令部件是一种能对指令进行分析、处理和产生控制信号的逻辑部件,也是控制器的核心。通常,指令部件有pc(程序计数器)、ir(指令寄存器)和id(指令译码器)等三部分组成。时序部件由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需要的定时脉冲信号。微操作控制部件可以为id输出信号配上节拍电位和节拍脉冲,也可以与外来的控制信号组合,共同形成相应的微操作控制序列,以完成规定的操作。(三)内部总线内部总线是cpu连接片内各主要部件的纽带,是各类信息的传输的通道。内部总线由三种不同性质的连线组成,它们是地址线、数据线和控制线/状态线。地址线主要用来传送存储器所需要的地址码或外部设备的设备号,通常由cpu发出并被存储器或i/o接口电路所接收。数据线用来传送cpu写入存储器或经i/o口送到输出设备的数据,也可以传送从存储器或输入设备经i/o接口读入的数据。控制/状态线有两类:一类是cpu发出的控制命令;另一类是存储器或外设的状态信息。(四)i/o接口和特殊功能部件i/o接口电路有串行和并行两种。特殊功能部件包括:定时器/计数器、a/d和d/a、dma通道和系统时钟电路等按照cpu对数据的处理位数来分,单片机可分为4位单片机,8位单片机,16位单片机,32位单片机。其中8位单片机成为当前单片机的主流。目前单片机正朝着高性能和多品种方向发展,具体体现在以下方面:cpu功能增强;内部资源增多;引脚的功能多样化;低电压和低功耗。 1.2 mcs-51系列单片机介绍 mcs-51单片机是美国inte公司于1980年推出的产品,与mcs-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,mcs-51单片机可以算是相当成功的产品,一直到现在,mcs-51系列或其兼容的单片机仍是应用的主流产品3。mcs-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“名机”,为以后的其它单片机的发展奠定了基础。正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,也有许多世界大的电气厂商丰富和发展了mcs-51单片机,例如philips dallas、atmel等著名的半导体公司都推出了兼容mcs-51的单片机产品。近年来c51获得了飞速的发展,c51的发源公司intel由于忙于开发pc及高端微处理器而无精力继续发展自己的单片机,而由其它厂商将其发展,最典型的是philips和atml公司。philips公司主要是改善其性能,在原来的基础上发展了高速i/o口,a/d转换器,pwm(脉宽调制)、wdt等增强功能,并对低电压、微功耗、扩展串行总线(i2c)和控制网络总线(can)等功能加以完善。atmel公司推出的at89cxx系列兼容c51的单片机,完美地将flash(非易失闪存技术)eeprom与80c51内核结合起来,仍采用c51的总体结构和指令系统,flash的可反复擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用。1.2.1基本特性mcs-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:8位cpu4kbytes 程序存储器(rom)128bytes的数据存储器(ram) 32条i/o口线111条指令,大部分为单字节指令21个专用寄存器2个可编程定时/计数器5个中断源,2个优先级一个全双工串行通信口外部数据存储器寻址空间为64kb外部程序存储器寻址空间为64kb逻辑操作位寻址功能双列直插40pindip封装单一+5v电源供电由于mcs-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。mcs-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。mcs-51单片机的工作频率为212mhz,当振荡频率为12mhz时,一个机器周期为1us,这个速度应该说是比较快的。1.2.2 mcs-51单片机的硬件组成结构mcs-51单片机内部结构如下图所示,各功能部件可划分为cpu、存储器、i/o端口、定时器/计数器和中断系统五大部分 图1-2 单片机的硬件结构图(一)cpu中央处理器(cpu)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,cpu负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。(二)mcs-51的存储器单片机的rom主要用来存储要执行的程序,也可以用来存放某些常数。8051在片内有4kbrom存储器,规定其地址为0000h0fffh。当4kbrom不够用时,还可以在片外连接rom存储器,两者构成的最大地址空间为64kb。8051单片机的ram包括片外的ram和片内的ram两部分。片外数据存储器共64kb,地址范围是0000hffffh,片外ram的地址与片外外设接口统一编址,即在这64kb地址中可以分配一些地址用作接口地址,其余的仍作ram使用。片内ram由以下几个部分构成: 表1-1内部ram分配 ffh 特殊功能寄存器 sfr 缓冲区位寻址区工作寄存器 00h (1)工作寄存器,从片内ram地址00h1fh这32各ram单元用作四组工作寄存器,每组占8各ram单元,分别用代号r0r7表示。r0r7可以指向四组中的任意一组,有psw中的rs1rs0的状态决定。 (2)位寻址区,从片内ram地址20h2fh这16个ram单元是位寻址区,它们具有双重功能。既可以像普通ram 单元一样按字节存取,也可以对每个ram单元中的任一位单独存取。(3)缓冲区,共有80个ram单元,用于存放用户数据或者作堆栈区使用。单片机对着个区域的每个ram单元都是按字节存取的。(4)特殊功能寄存器sfr,特殊功能寄存器是指有特殊功能的寄存器的集合。sfr的实际个数与单片机的型号有关。8051单片机的sfr有26个。每个sfr占有一个ram单元,它们离散的分布在80h到ffh地址范围内,不为sfr占有的ram单元实际上并不存在。 表1-2 特殊功能寄存器一览表符号物理地址名称ae0h累加器bf0hb寄存器pswd0h程序状态字sp81h堆栈指针dpl82h数据寄存器指针dph83h数据寄存器指针p080h通道0p190h通道1p2a0h通道2p3b0h通道3ipb8h中断优先控制器iea8h中断允许控制器tmod89h定时器方式选择tcon88h定时器控制器t2conc8h定时器2控制器th08ch定时器0高8位tl08ah定时器0低8位th18dh定时器1高8位tl18bh定时器1低8位th2cdh定时器2高8位tl2cch定时器2低8位scon98h串行控制器sbuf99h串行数据缓冲器pcon87h电源控制器 (三)输入输出接口 输入输出接口是mcs51单片机对外部实现控制和信息交换的并经之路,是一种过渡的集成电路,用于信息传送过程中的速度匹配和增强它的负载能力。i/o端口有串行和并行之分,串行端口一次只能传送1位二进制信息,并行i/o端口一次可以传送一组二进制信息。8051有四个并行i/o端口,分别命名为p0,p1,p2,p3,这四个并行i/o口都具有双向i/o功能。每个i/o端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,四个数据输出锁存器和端口号同名,皆为特殊功能寄存器中的一个。因此,cpu数据从并行i/o端口输出时可以得到锁存,数据输入时可以得到缓冲。四个并行i/o端口在结构上不相同,因此其功能也有差异。p0口和p2口除可以用作通用的输入输出口外,还具有第二功能。p0口可以输出片外存储器的低8位地址;p2口可以输出片外存储器的高8位地址;p1口常作为通用的输入输出口;p3口德第二功能如下表所示: 表1-3 p3口各位功能表p3口的各位第二功能注释p3.0rxd串行数据接收口p3.1txd串行数据发送口p3.2int0外中断0输入p3.3int1外中断1输入p3.4t0计数器0输入p3.5t1计数器1输入p3.6wr外部ram写选通信号p3.7rd外部ram读选通信号 (四)定时器/计数器8051内部有两个16位可编程的定时器、计数器,命名为t0和t1。它们都是特殊功能寄存器,由两个八位寄存器th和tl拼装而成。t0和t1有定时器和计数器两种工作模式,在每种模式下可以有不同的工作方式。在定时器模式下,t0和t1的计数脉冲可以由单片的时钟脉冲经12分频后提供,所以定时时间和单片机的时钟频率有关。在计数器模式下,t0和t1的计数脉冲可以从p3.4和p3.5引脚上输入。t0和t1在每种工作模式下有四种工作方式:方式0实现13位加一计数器/定时器工作;方式1按16位加一工作;方式2可以实现自动重装初值的8位定时器/计数器的工作方式;在方式3下,th0和tl0按两个独立的8位定时器/计数器工作,t1只能按不需要中断的方式2工作。定时器/计数器是可编程的,其工作方式和工作过程均可由单片机通过程序对其进行设定和控制。8051对内部定时器/计数器的控制主要通过tcon和tmod两个特殊功能寄存器实现的。定时器方式选择寄存器tmod用于确定是定时器还是计数器工作模式;定时器控制寄存器tcon可以决定定时器或计数器的启动和停止以及中断控制。(五)中断系统 中断是指cpu暂停原程序的执行转而为外部设备服务,并在服务完成后回到原程序的过程。中断源是指能产生中断信号的源泉。8051共可处理五个中断源发出的中断请求,同时可以对中断请求信号进行排队和控制,并响应中断优先级最高的中断请求。五个中断源有内部和外部之分,外部中断源有两个,内部中断源有三个,两个定时器/计数器中断源和一个串行口中断源。1.2.3 mcs-51的引脚功能 mcs-51系列中,各类单片机是兼容的,只是引脚功能略有差异。在器件的引脚封装上,mcs-51系列机通常有两种封装:一种是双列插式封装,另一种是方形封装。8051共有40条引脚,可分为端口线、电源线和控制线三类。(一)端口线 8051的四个并行i/o端口的每个端口都有8条端口线,用于传送数据或地址。分别为p0.0-p0.7,p1.0-p1.7,p2.0-p2.7,p3.0-p3.7。其中p0.7为最高位,p0.0为最低位,其它三个端口与此类似。各引脚除具有输入输出功能外还具有第二功能,在上节中以做过介绍。(二)电源线vcc为+5v电源线,vss为接地线。(三)控制线ale/prog:地址锁存允许/编程线,配合p0口德第二引脚功能使用。在访问片外存储器时,8051cpu在此引脚上输出一个高电位脉冲,其下降沿用于把片外存储器的低8位地址锁存到外部专用的锁存器中,以便空出p0口引脚去传送片外存储器的数据。在不访问片外存储器时,8051自动在此引脚上输出频率为fosc/6的脉冲序列。该序列可以用作外部时钟源。ea/vpp:允许访问片外存储器/编程电源线,可以控制8051使用片内rom还是使用片外rom.若ea为高电平则使用片内rom,否则使用片外rom.psen:片外rom选通线,在访问片外rom的指令movc时,8051自动在此引脚上产生一个负脉冲,用于片外rom的选通。在其它情况下,psen线均为高电平封锁状态。rst/vpd:复位/备用电源线,可以使8051处于复位工作状态。rst/vpd的第二功能是作为备用电源输入端。当主电源发生故障时,rst/vpd线上的备用电源自动投入,以保证片内ram的信息不丢失。xtal1和xtal2:片内振荡电路输入线,用于外接石英晶体和微调电容。 图1-3 8051引脚图 第二章 系 统 设 计2.1 总体方案设计系统整体框架如下图所示: 键盘与显示部分控制部分 单 片 机土壤水分检测部分图2-1 系统整体框架图 mcs-51把微型计算机的主要部件都集成在一块芯片上,可靠性更高,运行速度更快。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。本系统采用8051单片机,8051是mcs-51系列单片机的典型产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kb的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。滴灌监控系统从功能上包括土壤水分检测系统,土壤水分自动控制系统,人机对话接口等三部分组成。其中土壤水分检测系统主要是检测柑橘园的土壤水分;控制系统部分则根据土壤实际含水量与设定值相比较,并根据比较值进行土壤水分的自动调节;人机对话接口则是主要用于土壤水分上限值的设定、土壤水分的实时显示和超限报警等。整个系统的执行过程是:首先输入设定的参数,然后利用土壤水分传感器,测量柑橘园土壤的含水量,并把检测到的数据通过adc0808转换为二进制数传递给单片机。单片机根据设定的控制要求,判断土壤的含水量是否超出设计要求,若小于设定的最小值或是大于设定的最大值则报警。否则通过水分控制系统控制相应的执行机构执行动作,对水分进行补偿,使土壤的含水量保持在要求的范围之内。同时,利用led显示器对检测到含水量进行显示。另外,利用键盘还能根据控制要求,对土壤水分限定值进行设定,使系统具有更广阔的应用空间。2.2硬件电路设计硬件电路结构图如下图所示 驱动器单片机a/d转换电流电压转换传感器看门狗电路继电器电磁阀显示 接口芯片键盘 图2-2 硬件电路结构图现将系统的各个组成电路介绍如下2.2.1单片机电路 图2-3 单片机电路在mcs51的复位信号输入端加上持续时间超过24个时钟周期的高电平可以使单片机复位。通过xtal1和xtal2引脚接石英晶体和微调电容构成时钟电路。复位电路和时钟电路如上图所示。 在使用嵌入式计算机系统时,经常会发生系统在运行过程中发生死机。这种现象可能由硬件故障引起,也可能由于干扰引起的暂时性故障。程序监视器,也称为看门狗可以用来监视程序是否“走飞”。如果程序出现“走飞”,可以产生中断,使程序返回用户程序入口或产生热复位4。看门狗可以由硬件实现,也可以由软件实现。 硬件看门狗的主体是一个定时电路,并由被监控cpu提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。cpu正常工作时,由于能定时“清狗”,看门狗芯片内部的定时器不会溢出。当cpu出现故障,则不能继续提供“清狗”信号,使得看门狗芯片内定时器不断累加而溢出,从而触发一个复位信号对cpu进行复位,使cpu重新工作。 软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。本系统选用硬件看门狗电路,使用adm706芯片实现。其各引脚功能如下:mr:手动复位端,当引脚被拉低时。触发复位信号。vcc:芯片工作电压,接5v或3.3v;gnd:芯片参考地,直接与单板gnd相连;pfi:power-fail comparator input,电压监控输入管脚,当此管脚的输入电压低于1.25v时,fpo及reset会输出一个低电平信号;pfo:power-fail output,电压监控输出管脚,当pfi的输入电平低于1.25v时,输出一个低电平,不使用此管脚时可将其悬空;wdi:watchdog input,清看门狗信号输入引脚,wdi遇到一个上升沿/下降沿,内部看门狗定时器都将清0。wdi的输入信号超过1.6s不发生跳变时,看门狗芯片内部定时器将会溢出并触发wdo输出一个低电平;wdo:watchdog output,看门狗输出,wdi超过1.6s不发生跳变时,wdo将输出一个低电平,另外,vcc低于1.25v时也会触发wdo输出一个低电平;reset:复位信号输出,低电平有效,低电平宽度为200ms,reset信号只会被vcc或mr触发,wdo有效时不会触发reset,除非将wdo接到reset上。 看门狗电路如上图所示,wdo引脚和wr引脚相连,超时时wdo引脚输出一个低电平信号,作为wr引脚的输入,从而触发复位信号,实现复位功能。wdi引脚和单片机的p1.0引脚相连,通过p1.0引脚的模拟脉冲信号来清零看门狗计数器。reset引脚是低电平有效,而单片机的复位信号要求持续时间超过24个时钟周期的高电平,所以在此引脚和8051的rest引脚之间加入了一个反相器。pfi和pfo引脚用于监控电压,这里没有使用此功能,因此这两个引脚悬空。2.2.2键盘与显示电路该系统具有人机信息交互功能,便于工作人员了解现场情况,并对一些参数进行设定和修改,因此需要设计键盘与显示电路,其电路图如下图所示:系统要实现的人机交互功能主要有设定土壤含水量的限定值、最小值,显示土壤含水量。在下图中,显示结果选用四只八位共阴极led数码管,动态显示,键盘选用矩阵式非编码键盘,二者通过8155和单片机相连。键盘中的按键共有十六个数字键,分别为0f键。四只led数码管中前两只用来显示设置的参数值,后两只用来显示土壤的实际含水量。led数码管选用八段共阴极数码管,其显示原理是通过管脚上所加的电平的高低来控制数码管中的八只发光二极管是否点亮来显示不同的字形。led的显示可以分为静态显示和动态显示两种。静态显示是指各led管能稳定的同时显示各自字形,动态显示是指各led轮流地显示各自字形,由于视觉器官惰性,可以看到led在同时显示不同的字形。静态显示的缺点是需要占用较多的端口,动态显示的缺点是占用单片机较多的处理时间,但是动态显示可以有效降低硬件开销并提高系统的可靠性,所以本文选用动态显示接口方式。考虑到单片机端口数量的限制,需要进行端口的扩展,这里采用并行i/o接口芯片来扩展i/o端口。并行i/o接口芯片选择8155。动态显示led数码管与8155的接口电路如下图所示,8155的b口与led中的八个二极管引脚相连,所以b口控制显示的字形,为字形口。各led的控制端g与8155的c口相连,控制各led是否点亮,为字位口。键盘是按键的集合,可以用来输入数据和命令,实现人机通信。键盘可以分为独立连接式和矩阵式两类,每一类又可以分为编码键盘和非编码键盘两种类型。其中编码键盘主要通过硬件电路产生被按键的键码和一个选通脉冲,选通脉冲常用作cpu的中断请求信号,这种键盘使用方便,但是硬件电路复杂。非编码键盘中键码并不是由硬件电路产生,而是由相应的扫描程序对它扫描形成的,每个按键的作用是使相应的结点接通或断开,硬件电路简单。独立式键盘中每个按键都是独立的,都需要占用一条输入输出线,因此不适合按键数目较多的情况。矩阵式键盘把所有按键排成行列矩阵,在这种情况下,每根行线和列线的交叉处都会有一个按键,因此,一个mn的行列式键盘只需m条行线和n条列线,可节省输入输出接口。综上,本系统选用矩阵式非编码键盘,其接口电路如下图所示。对按键的识别通过扫描的方式实现的,即轮流地使各行变为低电平,然后读取和判断pc3pc0的列值,判断处于0状态的行即可获得行值,以及处于0状态的列即可获得列值,行值和列值相加即为键值。图中各行的行值分别为0、4、8、c,列值从右到左分别为0、1、2、3。如若按下6键,则扫描得到的行值为4,列值为2,所以键值为6。 图2-4 键盘与显示电路接口芯片选用8155,8155是intel公司研制的通用i/o接口芯片,广泛用于mcs51系列的单片机系统中。8155可以为外设提供两个八位i/o端口和一个六位i/o端口,同时可以为cpu提供一个256字节的ram。 图2-5 8155芯片引脚图8155共有40条引脚,如上图所示:ad7ad0为地址/数据总线,常与mcs51单片机的p0口相连,用于传送地址/数据信息;i/o总线共有22条,其中pa7pa0和pb7pb0为通用i/o线,用于传送a口、b口数据。pc5pc0既可以用来传送数据,也可以用来传送命令/状态信息。8155的a、b、c口的数据传送由命令字控制,可以控制各端口的输入输出。控制总线有8条,reset是总清输入线,在reset上输入一个大于600ns的脉冲时,8155处于总清状态,a、b、c口处于输入方式。ce为8155的片选线,若ce=0,则cpu选中8155工作。io/m为i/o端口或ram的选通线,若io/m=0,则cpu选中8155的ram工作,若io/m=1,则cpu选中8155某一i/o寄存器工作。rd和wr是8155的读/写命令线,低电平有效。当rd为低电平且wr为高电平时8155处于读出数据状态,当rd为高电平且wr为低电平时,8155处于写入数据状态。ale引脚与单片机的ale相连,为允许地址输入线,高电平有效。若ale=1,则8155的ad7ad0上的地址锁存到地址锁存器;否则,8155的地址锁存器处于封锁状态。t/in和t/out分别为计数器输入输出线,前者上的脉冲使8155片内的14位计数器减一,后者用于当计数器计满回零时输出脉冲。8155和单片机的连接电路如下图所示:ad7ad0和单片机的p0口相连接,片选线ce和单片机的a15相连,io/m和单片机的a8相连,ale引脚与单片机的ale相连,wr引脚和单片机的wr引脚相连。rd引脚没有直接和单片机的rd引脚相连,而是通过一个或门与单片机相连。或门输出端和8155的rd引脚相连,两个输入端分别和单片机的rd引脚和p1.5引脚相连。通过控制p1.5引脚电平的高低可以控制是否对8155进行读操作,当p1.5输出高电平时,或门输出端输出为高电平,即使rd引脚输出了低电平单片机也不会对8155进行读操作。由于单片机需要控制对8155和adc0808的读操作,所以这样可以保证单片机只对8155或adc0808进行读操作。8155可以工作在存储器方式下,用于对片内的ram单元进行读写,也可以工作在i/o方式下,此时i/o方式又可以分为通用i/o方式和选通i/o方式。在通用i/o方式下,a、b、c口用作输入和输出,在选通i/o方式下,a口和b口用作数据口,c口用作a口和b口的联络控制。cpu对8155i/o口的控制是通过八位的命令寄存器控制的,d0和d1用于控制a口和b口的输入和输出,当d0=0时,a口处于输入状态,反之,则处于输出状态。d3和d2为00时8155处于通用i/o方式且c口为输入状态,为01时8155处于通用i/o方式且c口为输出状态,为1时8155处于选通i/o方式。d4d7用于计数器和中断的控制。下图中的8155工作在通用i/o方式下,a、b口为输出,c口为输入,所以命令字为#03h. 图2-6 8155和单片机连接电路图2.2.3土壤水分测量电路 图2-7 水分传感器实物土壤含水量一般是指土壤绝对含水量,即100g烘干土中含有若干克水分,也称土壤含水率。土通常采用重量含水率和体积含水率两种表示方法,一般在田间持水量的60%时就采取措施进行灌溉。本文土壤含水量测定选用的传感器为土壤水分传感器fds100,其实物图如上图所示: fds100能够精确测量土壤和其它多孔介质的体积含水量。可用于土壤水分自动监测站、自动灌溉控制、温室环境等系统集成。此传感器测量精度高,响应速度快,性能可靠且使用方便。其主要性能参数如下表所示:表2-1 fds100性能参数表测量参数精度 量程土壤容积含水量 +3% 0100%工作电压工作电流输出信号 512v 25ma420ma由于传感器输出的为模拟电流,因此需要利用a/d转换器把它变成计算机能够处理的数字量。在进行a/d转换之前需要把传感器输出的电流转换为电压,然后再与a/d转换器相连。电流信号转化为电压信号可以通过采用精密电阻器实现。本系统中选用的传感器的输出信号为420ma电流,可以用一只0.25k的精密电阻使电流信号转化为15v的电压信号。其转化电路图如下图所示: 图2-8 电流电压转换电路a/d转换器能把输入模拟电压或电流变成计算机能够识别的数字量。a/d转换器的选择主要考虑a/d转换器的分辨率和转换速率5。对于a/d转换器来说,分辨率表示输出数字量变换一个相邻数字量所需的输入模拟电压的变化量。其定义为满刻度电压与2的n次幂的比值,其中n为转换器的位数。土壤含水量测量标准选用的是土壤容积含水量,其范围为0100,选择的传感器的测量精度为+3%,a/d转换精度需要高于传感器的测量精度,而八位的a/d转换器完全能满足这个要求。而且选用的单片机为8位单片机,为使接口电路较为简单所以选择8位的a/d转换器。土壤含水量是缓慢变化的参数,对转换的速度要求比较低,因此可以选用较低速的转换器。a/d转换器按照原理可以分为四种:计数器式a/d转换器,双积分式a/d转换器,逐次逼近式a/d转换器和并行式a/d转换器。计数器式a/d转换器结构简单,但转换速度很慢。双积分式a/d转换器抗干扰能力强,转换精度也很高,但速度不快。并行a/d转换器的转换速度很快,但结构复杂。逐次逼近式a/d转换器结构不太复杂且转换速度也很高。综上可以选择八位的逐次逼近式a/d转换器,可以选择adc0808。 图2-9 adc0808结构图adc0808共有28条引脚,各引脚功能如下:(1) out1out8是输出数据线。(2) in0in7为8路模拟电压的输入端,用于输入被转换的模拟电压。(3) addaaddc为路地址输入线用来选择in0in7上的那一路模拟电压进行a/d转换。adda为最低位,addc为最高位,当addaaddc为000111时,分别选中in0in7。(4) start为启动信号输入端,下降沿有效;ale是路地址锁存信号,用来锁存addaaddc的路地址,上升沿有效;eoc是变换结束状态信号,高电平有效;oe线是读允许信号,高电平有效。(5) clk是时钟输入端,vref(+)和vref(-)为参考电压输入端。在进行a/d变换时,路地址先送到addaaddc输入端,然后在ale输入端加一个正跳变脉冲,将路地址锁存到adc0808内部的路地址寄存器中,这样对应路地模拟电压输入就和内部变换电路接通。再在start端加一个负跳变信号以启动变换工作,此时eoc由高电平变为低电平。变换结束时eoc信号又由低电平变为高电平,通过查询eoc的状态即可确定是否转换完成。转换完成后只要在oe端加一个高电平即可读出变换后的数据。确定了a/d转换器之后,需要确定其工作电压和基准电压。adc0808使用单一的+5v的直流工作电压,与单片机的电源电压一致,可以共用一个电源,应用比较方便。a/d转换器在转换时需要确定参考电压,它是保证a/d转换器转换精度的基本条件。传感器经过电流电压变换后输出地模拟量为15v,其最大值不是a/d转换器的要求的输入最大值,所以可以利用双参考电压引脚解决显示满刻度问题。其连接图如下图所示: 图2 -10 单片机和adc0808连接电路ale和start互连可以使adc0808在接受模拟路数地址时启动工作,start信号通过单片机的wr引脚和a15引脚通过与非门产生。eoc引脚和单片机的p1.7相连,采用查询方式传送数据。当转换进行时,eoc引脚输出的为低电平,转换完成后eoc输出高电平,单片机查询p1.7引脚电平的状态,若eoc引脚输出的为高电平,则在rd引脚上输出一个低电平,以读取adc0808中转换后的数据。由于oe引脚是高电平有效,所以把rd引脚和a15地址线作为74ls02的两个输入端,74ls02的输出端和oe相连,当a15和rd引脚同时为低电平时,在74ls02的输出端输出的为高电平,那么加在oe引脚上的也为高电平,这样即可打开数据线的三态缓冲器,从out1out7数据线读取变换后的数据。在adc0808的数据输出线out1out7中,out1线输出的为转换后数据的最高位输出线,out7为最低位输出线,因此,out1out7线和单片机中ad7ad0线相连。其中的rd引脚并不是直接接在74ls02的输入端,而是通过一个或门连接到74ls02的输入端。这样连接可以避免单片机对adc0808和8155访问的冲突,在8155和单片机的连接电路中以说明了这个问题。adc0808的时钟为10khz1.2mhz,典型的工作时钟频率为640khz,此时其变换时间为100us。addaaddc路地址输入线通过74ls373和单片机的p0.0p0.2相连。2.2.4输出部分电路 单片机输出的控制信号经过光耦隔离和放大后,通过继电器控制电磁阀来实现对灌溉的控制。同时还有报警电路,当土壤含水量超过设定的上限值时红灯亮,当含水量低于设定的下限值时黄灯亮,当含水量不越限时,绿灯亮。其电路图如下图所示: 图2-11 输出部分电路 报警显示由p1.1p1.3控制,其中上限警示即红色led的点亮或熄灭由p1.1控制,下限警示即黄色led的点亮或熄灭由p1.3控制。由于单片机在复位后,p1口输出的为高电平,此时若三个led直接和p1口直接相连,那么三个led在开机之初就会被点亮,起不到报警的作用。这种情况下,可以利用软件在程序的开始对p1口进行清零操作,也可以在三个led和单片机的p1口之间加入一个非门以改变电平。这里选择第二种方法。在嵌入式系统中,嵌入式和外设通过接口相连接。外设的状态信息通过外总线传送到嵌入式,而嵌入式的控制信号也是通过外总线传送给外设。为了进行电信号的传送,它们必须有公共的接地端。单片机控制系统和强电控制回路共地会引起单片机控制系统的干扰,因为强电控制系统的电流和电压很大,并会在强电使用的电器和地之间形成强大的脉动干扰。这个脉动干扰必然会通过接地不良电阻和电容耦合到单片机主机回路中。这种干扰可能导致嵌入式系统无法正常工作,也可能影响到弱信号的外设,如传感器。消除这些脉动干扰最有效的方法是使单片机弱电部分和强电部分分开,在电器连接上切断它们彼此之间的耦合电路。隔离可以使用光电隔离,即使用光电隔离器。如上图所示,单片机对继电器的控制电路中加入了光电隔离器。光电隔离器又称为光电耦合器。它由光源,如发光二极管,和光传感器,如光敏三极管组成。当输入端为低电平时,发光二极管因导通而发光,发出的光照射到光敏三极管上,就会产生一定的基极电流,是光敏三级管导通。若没有电流流过发光二极管,则其不发光,光敏三极管也处于截止状态。图中是通过继电器控制电磁阀的启闭的。当有适当的电流流过继电器绕组时,就会产生磁场,将继电器的衔铁吸下,使常开接点闭合,常闭接点打开。图中继电器作为三极管的负载,它是一个电感性负载,故在继电器的两端需要并联一个保护二极管,以免在三极管截止时电感中产生的反峰电压损坏三极管。电磁阀选用雨鸟075dv,小尺寸电磁阀,主要用于小面积草坪、温室(大棚)的灌溉低流量自动控制系统,转动电磁阀线圈可实现内放水手动启闭。其主要的性能参数如下:工作压力(kg/cm2):1 - 10.4工作流量(m3/h):0.05 - 5 ac输入电压(v):24 ac电源频率(hz):60启动电流(a):0.3吸持电流(a):0.19接口形式:内螺纹接口接口尺寸:3/4英寸2.3软件设计软件设计内容包括键盘扫描、键码识别和显示;参数设置;土壤水分采样、数字滤波;采样值转换为bcd形式;越限报警及输出控制等。2.3.1主程序设计主程序主要完成单片机,8155初始化及系统参数设置等内容,包括暂存单元和显示缓冲区清零、中断优先级设置、开cpu中断和进行土壤含水量限定值和最小值设置。本文中led显示方式采用动态显示,采用软件方式把要显示的数转换为相应的字形码,所以需要在ram中建立一个显示缓冲区,显示缓冲区的每个存储单元用于存放要显示的字符在字形码表中地址偏移量,cpu可以根据地址偏移量查字形码表找到所要显示的字符的字型码,然后送到字形口显示。显示缓冲区占用的cpu内部ram地址为7ah7dh,其中前两位用来显示输入的参数,后两位用来显示测定的土壤含水量。程序中需要使用的中断源有两个外部中断源和一个定时器中断源t0,外中断一是控制系统的主体程序,用于完成采样数据,a/d转换,数字滤波,报警及输出控制等。外中断0服务程序实现的功能是停止滴灌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- java面试题及答案全
- java面试题及答案pdf下载
- 快时尚模式在2025年时尚零售行业的时尚潮流预测报告
- 数据库中的数据导入导出试题及答案
- 2025年在线教育平台用户界面布局优化与满意度提升案例研究
- 游戏与动漫产业园运营管理方案
- 水产养殖公司运营管理方案
- 2025年春七年级下册道德与法治导学案 第十一课 第1课时 法不可违
- 工业机器人柔性制造系统2025年应用技术迭代与升级路径报告
- 历史名人故居深度游行业深度调研及发展项目商业计划书
- SH∕T 3097-2017 石油化工静电接地设计规范
- HJ1188-2021核医学辐射防护与安全要求
- 居间服务合同范本在线查看
- 鹅购销协议范本
- R语言数据可视化分析报告(附代码数据)
- 遵守国际人权法承诺书
- TD/T 1056-2019 县级国土资源调查生产成本定额(正式版)
- 动物黄疸病理(动物病理学课件)
- 2024年湖北省武汉市住房保障管理中心招聘5人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- Ceph之RADOS设计原理与实现
- 胸腔穿刺术流程图
评论
0/150
提交评论