基于单片机的水塔液位控制系统-毕业设计论文_第1页
基于单片机的水塔液位控制系统-毕业设计论文_第2页
基于单片机的水塔液位控制系统-毕业设计论文_第3页
基于单片机的水塔液位控制系统-毕业设计论文_第4页
基于单片机的水塔液位控制系统-毕业设计论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州大学毕业设计(论文)基于单片机的水塔液位控制系统 指导教师: 职称: 副教授 学生姓名: 学号: 专 业: 计算机科学与技术 院(系): 信息工程学院 完成时间: 年 月 日 年 月 日基于单片机的水塔液位控制系统摘要:本系统的控制核心部分是STC89c51单片机,辅以按键模块、1602液晶显示模块、压力传感器模块、电磁继电器驱动模块和ADC0832构成。传感器探测水位代表的电压信号后经ADC0832转换位数字信号,然后输入STC89c51进行处理。再有单片机经过运算来判断进行蜂鸣器是否示警、电磁继电器是否关断等操作。单片机的选用方面因为STC89c51单片机自身资源充分,运算速度快可在各种场合使用,并以电磁继电器开环控制和压力传感器闭环实现对该系统的控制,避开了一些不方便进行人为关断开关的场合无法使用的情况,使本系统在大部分场合中都可以稳定的运行不受干扰。关键词:51单片机 压力传感器 AD转换 水位检测IABSTRACT:The control core part of the system is Stc89c51 MCU, supplemented by key module, 1602 liquid crystal display module, Pressure sensor module, electromagnetic relay Drive module and ADC0832 structure. The sensor detects the voltage signal represented by the water level and converts the digital signal by ADC0832 and then enters the Stc89c51 for processing. Then a single chip computer operation to determine whether the buzzer warning, electromagnetic relay is off and so on. Single-chip computer selection because the STC89C51 single-chip computer resources, the operation speed can be used in various occasions, with the Open-loop control of electromagnetic relay and the closed loop of pressure sensor, the control of the system is avoided, which can not be used conveniently in the case of artificial turn-off switch, so that the system will be able to operate stably in most cases without interference.KEY WORDS:51 single chip microcomputer Pressure sensor The automatic control Water level detection目录摘要IABSTRACTII目录III1概述12系统主要器件选择介绍22.1 方案论证22.2系统介绍42.3 ST89c51单片机52.4 压力传感器72.5 ADC083282.6 1602液晶103 系统电路设计133.1 最小系统电路设计133.2 1602显示电路设计133.3 电磁继电器电路设计143.4 压力传感器采集电路设计143.5 报警器电路设计141 系统程序设计154.1系统程序设计框图154.2压力传感器采集显示程序流程图设计154.3按键程序流程图设计16第5章 系统功能及指标参数175.1 系统功能175.2 AD部分调试参数175.3 调试总结186 总结19致 谢20附录1:参考文献21附录2:系统原理图22附录3:源程序23III1概述液位监测现在工业,农业等很多场合普遍应用。液位检测感应器也种类颇多,按照感应器的不同可分为浮标类、压力类、超声波类等。由于作用于不同场合,其结构、量程、精度也各不相同,但大都结构繁杂,制作成本居高不下。而一些结构简单如投入类、浮球类、弹簧类等,大多数是简单的没有经过处理的模拟电压信号直接输出,无法具体输出液位的高度数值。甚至还有些通过简单的轮盘机械指针通过机械原理来显示液位的高度,同样存在着严重的无法具体读数、测量误差较大等缺点。这些传感器普遍精准度偏低且不能用于远程操控,在一些不便于人工操作的场合中无法使用;稳定性差只能应用于静止的液面,液位波动变化都会引起读数的误差,而本文所设计的目的既是为了避开这些缺陷做到成本低且精度较高,所以本文选用了压力传感器来作为测量装置,结合单片机作为系统的处理核心并用电磁继电器实现可远程控制整个系统关断的一种智能液位检测系统。 本着能更好的掌握所学课程并将理论知识应用于现实的想法,我选择了本系统来对所学知识进行实践。本课程设计对显示电路的连接,传感器系统设计、AD转换的数据采集、水位测量方法等知识有较为深刻的要求,通过把理论应用与实践的过程帮助自己更好的掌握这些理论知识,使得自己具有发现现有问题、独立走出困境、保持创新思维的能力。 现今各类传感器已广泛应用的各个角落,而液位测量控制技术更是用于医药、化工、石油、农业用水、食品等不同行业中。液位监测系统虽然在各个场合都有应用,但是很多都是工业用的基于激光、压力等原理所构成的高精度传感器。虽然精度够高,稳定性够强。但是却也因其精度太高导致成本居高不下,不便于民用、农用推广。所以我们的设计应基于更加切合民用,在精度达标的前提下控制成本,采用更有创新的软硬件结合思路来简化系统,软件简化硬件要求,硬件采用单片机来作为控制核心,软件方面根据物理学可以了解到压力与液位高度是具有线性关系的,通过反复测试设计出合理的函数来实现简化系统电路,以达到更适合投入民用的目的。2系统主要器件选择介绍2.1 方案论证主控器件的比较与选择方案一:首先考虑的是ARM7芯片作为主控器件,其性能优秀功耗低等特点作为主控器件来说十分优秀。但是因为正应为性能过于优秀,对本设计来言过于浪费。如果采用该芯片必然会导致芯片资源浪费,成本居高不下,这违背了设计廉价民用的目的。方案二:采用AT89C51作为主控器件,虽然单独就主控芯片而言,该芯片的速度和外设资源有所不及ARM7,但是就本设计的初衷来说AT89C51的内核精小,只需要增加一些简洁的外设电路就可以满足整个系统,对系统电路的简化作用不言而喻。且实际上本系统对主控器件的性能要求并不严苛,采用51单片机就足以满足系统需求,在充分挖掘该芯片的性能的同时又实现了整个系统线路简化的目的。综上可显而易见,为了简化系统外设电路,降低成本作为就本系统而言选择方案二能充分地满足设计初衷并实现设计目的,所以仅此选择方案二。压力传感器的比较与选择作为主要的信息采集装置,需要压力传感器在不同的环境下采集液体的不同大小压力值并通过传感器呈线性的改变,方便后边对函数的设计。方案一:采用桥式压力传感器桥式压力传感器原理比较简单,利用应变片的弹性形变和弹性敏感元件的组合测量压力值并输出电压由于应变片本身体积小重量轻,应用十分方便在各种情况下都可以灵活运用并且方便灵活的设计弹性敏感元件这一优点与便于推广适用于多数情况的设计初衷相合。且其这种传感器本身输出的电压变化幅度很小,电压值也不高更是方便A/D转换时数据的采集和处理。且在本设计中采用膜片式压力传感器即可应对大多数情况,至于其余的特殊情况都可以灵活改变传感器类型来做灵活的应变,再次不多做讨论。方案二:组建压力传感器模块时使用分立元件法组建这种方法的核心是使用压敏传感器和外围电路共同构成一个压力信号收集装置,另外还需要加设放大电路对收集到的电压信号进行放大。由于其本身就很容易受到外界干扰,再加上放大电路中所产生的干扰导致最后结果的误差极大。另外该方案还需要进行A/D采样,电压比较来确定对应数值。整个方案繁多的外设电路不仅使系统更为繁杂、成本更加高之外也导致误差大、功耗高、灵敏度低等不足之处,其实在本其他情况下或许十分合适,但是在本设计中的使用价值确实不足。 综上而讲,方案二的价值确实不需再讨论,且方案一在本设计的初衷下十分优秀的满足了诸多条件,所以在此选择方案一。AD器件的比较与选择方案一:采取12位或更高的AD芯片A/D转换芯片的选择除开8位串行芯片之外得更高位芯片都很好很优秀,转换速度高,但是本设计用不到。器件的选择都是基于设计目的、设计初衷来选择的,如果选用这些芯片的话只会导致资源浪费、成本过高。方案二:采取8位AD芯片相比其他更优秀的AD转换芯片,不论是转换速度还是输入输出范围,8位就足够本系统使用。综上所讲,在此选择方案二。水泵驱动电路的比较与选择方案一:直接用AT89C51来控制水泵,这种方法的原理是用单片机的定时器定时中断,然后通过I/O口电位状态的改变来模拟PWN信号。这种方法由于需要单片机的时钟参与,导致单片机控制器需要不断的运作,内存的大部分都将用于单片机对水泵的控制,致使其他显示屏、蜂鸣器、数据处理部分延迟高、效率低。虽然不浪费单片机资源,简化了了电路但是导致处理器本事高负荷运转是单片机使用寿命下降,如果更换更优秀的单片机又会导致提高成本。方案二:通过驱动继电器驱动水泵这种方法避开了单片机对水泵的直接控制,使用继电器控制时避开了输出电流大时对单片机本身的影响。而且继电器扩大控制范围的优点在这个设计中也能充分体现出来,在有些不适合人为接近的场合使用继电器来操控水泵不仅方便且相比单片机直接控制更能延长整个系统的使用寿命。综上所讲,基于整个系统的设计初衷以及系统的使用寿命考虑,选择方案二较为合适。显示器件的比较与选择相对于本设计的要求来说显示模块技术已经可以说是比较成熟了,只有基于具体的要求来选择型号了。方案一:采用1602液晶显示,1602液晶的缺点是比较明显的,屏幕小不能显示过多的内容,不方便显示汉字,但是对于本设计来说也不需要汉字输出只需要输出少数英文和数字即可可以满足设计要求。方案二:采用12864液晶屏,相对于1062来说该显示屏的优点就很明显了,屏幕够大,显示功能丰富,但是相对的消耗也会更大而且具体使用方法也更为繁杂一些。综上所述,由于系统的可移植性在一些要求显示更丰富的情况下采用方案二不止能用而且效果更好,但是在本设计中我们所考虑的需求方案一足以满足且成本更低一些,因此选择方案一。2.2系统介绍首先根据系统的设计目的在考虑过成本、系统稳定性、误差、使用寿命诸多条件,然后再经过一系列计算、整理数据,然后再开始计划整个系统的制作方案。整个系统以AT89C51为控制核心,传感器作为数据采集装置,将数据采集后经AD转换器转换成数字信号送回传感器处理,然后AT89C5控制蜂鸣器、继电器进行下一步操作。流程开始前还需要经过一系列的测试、整理,将压力传感器在不同压力下测得的电压信号归纳总结设计出一个合适的函数来得出符合实际情况的液位高度。系统方框图如图1所示。 图1 系统方框图2.3 ST89c51单片机选用ST89C51是基于成本、设计要求的较好选择,相对其他单片机来说其作为最经典的一款以消耗低、速率高、并且不易受扰乱,能适用于各种环境,该单片机的主要特点介绍如下。 工作电压是5.5伏特到3.4伏特之间,且频率在0到40兆赫兹之间,但实际上最高能到48兆赫兹左右。各存储器空间大小见说明,这里不在多说。值得一提的是通用I/O口有32/36个之多,并且在复位以后P1到4口是准双向口、若上拉电压。P0口是否有必要加上拉电阻取决于其所起到功能,当期作为I/O口时必须有,而作为总线拓展用时则没必要加上拉电阻,此时其作用为开漏输出。 以下为对单片机各个引脚的性能介绍:P0该单片机的P0脚与别的脚不同的是内部没有上拉电阻如果需要的时候必须外加电阻十分麻烦,而且如果在整个系统中存储器不够用需要另在单片机之外扩展存储器的时候可以当做数据总线或者地址总线来用,但是没必要扩展的时候该脚就是一般的I/O口,得注意的是由于内部没有拉电阻就需要另行加设上拉电阻来满足其作为I/O口的功能。P1作为一种有内部上拉电组的8位双向I/O脚, 其作为信息出口端的缓冲级能使用得逻辑门电路有四个,其工作方法为吸取或者输出电流的方法。若其为输入口使用此脚则需要里面的上拉电阻将该口拉到高电平状态,即在该口写入“1”。而此刻由于上拉电阻的保留,导致其中的某引脚在被外面信号降下来的时候则会输出一个电流(IIL)而且,此时定时器/计数器2的外部计数输入(P1.0/T2)为P1.0端口,其触发输入端口为P1.2。 P2P2 脚做为拥有内部上拉电阻得 8 位双向 I/O 口, 再P2 脚写入“1”时候,里面得上拉电阻把这个脚电位拉上去,这时候可以把这个脚作为输入端口来用。并且P2 输出缓冲级能使用四个 TTL 逻辑电位。而此时同P1脚类似,被外面拉低电位的引脚由于里面电阻的原因,将输出一个电流(IIL) 。 而且在系统访问外部程序存储器的时候P2脚将送出高8位地址,在该模式中,P2口会以有很大的上拉输出高电平。在用16位地址读取外部数据存储器是也与之相同,而用8位地址来读取外部数据存储器的时候P2口则会输出其锁存器的内容。另外,在flash编程或者校正时,一些高位地址和控制信号也由P2口来接受。P3与P2脚相同,P3脚也是有里面上拉电组的8位双向I/O口, 输出缓冲级能使用得逻辑门电路同样是四个。而P3脚做为输出端口来用的时候需要对其写入“1”,以使其里面的上拉电阻的电位拉起来达到要求。做为输入口来用的时候,被外面拉低电位的该脚由于其电阻的原因,将输出电流(IIL) 。 但是P3口除了做I/O外更重要的是其另外一种功能如表 1。 表 1P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断 0)P3.3INT1(外中断 1)P3.4T0(定时/计数器 0)P3.5T1(定时/计数器 1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)其他引脚RST即复位输入。在振荡器运行的时候,如果RST脚检测到有两个机器周期或更多的高电位出现,就会让单片机复位。ALE/PROG这个引脚一般用于对外输出时钟或者可以作为定时的用处。无论有没有访问除了CPU以外的存储器,ALE脚都会一直以时钟震荡频率的1/6为周期输出一定的正脉冲信号,而当访问除了CPU之外得存储器或者数据存储器时,ALE的输出脉冲会被用来把这个地址的低8位信号暂时封存来保持电位状态。 但是值得注意的是:对于该脚的输出信号来说,每次有外部数据存储器被访问,都将略过其一个正脉冲周期。 需要禁止ALE操作的话,可以将特殊功能寄存器中的DO口进行置位,该脚置位后就会导致ALE被锁定无法使用,只有从新发送两条分别为MOVX、MOVC的指令才能让这个脚从新激活使用,否则就处于锁定状态。并且,值得注意的是再进行单片机外部程序的执行之前,必须先保证ALE禁止位没有效果,以保证此脚不会被拉高。1.在地址线上加上要编程单元得地址信号2.在数据线上加入要输入的数据字节3.激活相应的控制信号4.在高电压编程方式时,将EA/VPP端加上+12V编程电压5.每对FLASH存储阵列写入一个字节活每写入一个程序加密位,加上ALE/PROG编程脉冲。改变编程单元的地址和数据,重复1-5步骤直到全部文件编程结束PSEN即程序储存允许引脚,该脚输出为除了CPU意外的程序储存器的选读通信号。每当外部程序存储器从AT89C51中读取内容时输出两个信号,即两个可实现的PSEN脉冲,且这两次信号不会出现在此时被访问的除开CPU以外的所有数据存储器中。 EA/VPP即外部访问允许,只有在EA脚持续保持低电位状态(即接地状态)而且加密位LB1没有通过编程来定义一些其他功能(否则会导致EA脚被暂时锁定信号以保证电位状态)才能保证CPU仅访问外部程序存储器。 编程方法 在开始之前须设置好地址、数据、控制信号等各种参数。然后按照表2所示进行相应操作。 表22.4 压力传感器在本设计中我们采用的压力传感器是应变片式的压力传感器,其他传感器在不同环境中有不同的作用。具体操作需要根据具体的情况来灵活设计。但在本次设计中我们只讨论应用面最广的应变片式压力传感器。该传感器的原理是利用应变片在受压力变形后,与压敏元件构成的电路输出电压信号。而应变片的弹性形变程度与收到的压力成线性的关系,这样才能保证设计出响应函数来计算压力值与水位的关系。 并且应变片本身体积小巧,构成的传感器输出电压低更方便电压数据采集后A/D转换处理。在型号上我们选用D3B压力传感器,该传感器的具体信息在这里不多做介绍,实物如下图3和图4。 图3 传感器实物图图4 传感器实物图2.5 ADC0832 A/D转换芯片的使用上我们选择ADC0832芯片作为本次设计使用,由于设计分辨率需求并不高,该芯片拥有8位分辨率最高可以达到256级的分辨足以满足本次设计使用。而且其转换时间短(仅需32微秒);自身电源参与电压复用使模拟电压在0-5v之间;采用双数据输出技术,在进行校验时有着快速、稳定、误差少的特点。一般来说,转换芯片与单片机的借口应该是CS、CLK、DI、DO四条数据线路。但由于独立的芯片使能输入导致多器件挂接和处理器控制变得极为方便,而且DO、DI两接口在和单片机实现通信的同时并没有同时实现通信且借口都不是双向的,由此可以将线路简化,吧DO和DI并联在一条数据线上使用而互不影响。值得注意的是其工作状态在开始前,必须保持芯片禁用,即把CS输入端保持在高电位状态使其功能处于不工作状态。同理,当需要进行转换时吧CS端电位调低并且保持低电位一直到工作结束再次调高以关闭。而且在芯片开始工作时,CLK端收到的第一个时钟脉冲下降前,DI端必要保持在高电位状态。这样才会收到起始信号系统开始运行转换。 转换开始后系统需要选择通道功能,所以此时要再第2、3个时钟脉冲下降之前保证DI端有2位数据输入才能继续运行。 图5 单片机接口电路图图6 传感器功能项图输入数据功能“0”“1”将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行输入“0”“0”将 CH0 作为正输入端 IN+,CH1作为负输入端 IN-进行输入“1”“0”只对 CH0 进行单通道转换“1”“1”只对 CH1 进行单通道转换其通道功能如表3所表示的四种情况如下: 表3 DI端完成通道功能选择后就失去了作用,此时为第三个时钟脉冲下降,DO口开始发挥转换数据读取的作用。且由此分为两个对应阶段,第一阶段从第四个时钟脉冲下降时开始,改端口从最高位转换数据DATA7开始依次进行输出,每经历一次脉冲下降该端都会输出下一位数据持续到最低位DATA0(即第11次脉冲)位置,如此过程一个字节的输出完成。与此同时第二阶段开始,从这个最低位DATA0开始输出下一相反字节,由上可知直到第19次脉冲下降,共计8位字节输出完成。此时一次完整的A/D转换流程才算完结。 最后需要注意如同闲置时一样,结束时必选把CS电位拉高并保持高电位起到禁用芯片作用,然后在详细处理转换完成的数据。详细时序如图7: 图7 详细时序图2.6 1602液晶1602液晶屏的特性要求其在执行指令前必须要保证闲置状态即模块的忙标志处于低电位状态否则指令将会失效,然后确认完毕后输入字符显示地址确定显示位置。其内部显示地址可见图8: 图8 液晶内部显示地址且在实现地址的显现时其最高位D7/的电位必须保持确定的高电位1,所以如果需要输入地址为40H则实际内容应该写为01000000B(40H)*-/+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。具体中字符代码与字符图形对应关系如下图9所示: 图9 字符代码与图形对应图初始化过程如下:延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置基本操作时序如下表4:读状态输入:RS=L,RW=H,E=H输出:D0D7=无状态字写指令输入:RS=L,RW=L,D0D7=指令码,E=高脉冲输出:无读数据输入:RS=H,RW=H,E=H输出:D0D7=数据写数据输入:RS=H,RW=L,D0D7=数据,E=高脉冲输出:无表4读操作时序如下图10: 图10 读操作时序图写操作时序如下图11: 图11 写操作时序图3 系统电路设计3.1 最小系统电路设计整个系统的电路包括四个部分,分别是单片机、P0口的外设上拉电阻、系统的外部时钟震荡电路、复位电路这四部分构成具体的线路图设计如下图12所示。 、 图12 单片机最小系统电路图3.2 1602显示电路设计根据1602的数据手册,1602与单片机的接法如下图13所示: 图13 单片机与1602连接原理图3.3 电磁继电器电路设计具体示如下图14: 图14 单片机驱动继电器原理图3.4 压力传感器采集电路设计具体电路如下图15: 图15 压力传感器采集原理图3.5 报警器电路设计蜂鸣器电路设计如下图16所示: 图16 蜂鸣器驱动原理图1 系统程序设计4.1系统程序设计框图系统程序设计框图具体如下图17: 图18 主程序流程图4.2压力传感器采集显示程序流程图设计压力传感器采集显示程序流程图如下图19:图19 压力传感器采集显示程序框图4.3按键程序流程图设计具体流程设计如下图20:图20 案件程序流程设计图第5章 系统功能及指标参数5.1 系统功能本次设计的智能水位监测控制主要能实现以下功能:1、 压力传感器能测量出液体不同压力代表的不同高度;2、整个系统能操控A/D转换芯片对采集到的电压信号转换为数字信号;3、系统能控制继电器在不同情况下对水泵进行的关断处理;4、报警器能在系统操控下在水位超过预设时发出警报;5、测量范围在0到1米时保证误差不会过大;6、保证水位读数、系统操作能在显示屏上可视。5.2 AD部分调试参数在调通AD后我们对AD的数据采集功能进行了测试,测试数据如下表5:表5序号高度(CM)AD值1022273394411551466167719882199241010261111281212311313331414361515381616401717431818451919482020512130742240982350122246014625701702680194279021828100242这写数据都是在正常得室温下测试的,没有考虑特殊情况,其他情况不做讨论。在此一共测了28组数据(给定的高度读取ADC0832输出的AD值),说明AD的线性度还是比较高的。总结出来公式:水位高度=(AD值-2)/2.45.3 调试总结 系统在调试过程中遭遇了很多问题比如设计完成后在使用面包板插线时发现液晶屏不能显示数据、单片机无响应、由于未考虑到容器受压不平均导致输出数据与实际情况大相径庭等等。在排除诸多问题后在调试过程中不断地联系整个系统进行修改,最后达到满足系统设计要求完成调试。 在调试过程中暴露了很多设计的不完善,比如该系统只能基于压力传感器的基本原理来进行液位检测与控制。对于高温高腐蚀性的大量存储液体,由于容器的闲置导致无法测量压力,该系统就无法正常使用。而且作为民用设备其传感器精堵以及ADC0832转换器在转换过程中的输入与输出不对等;限制了整个系统的测量结果误差不会非常精细,只能满足一定情况下的使用。所以该系统在基于普及适应性的目的下还能进行进一步的修改与改进。6 总结本次设计的智能液位监测控制系统基本达到了设计初衷所要求的目的,主要特点就是相对于高精度的激光、红外或者更加便宜的浮标等液位监测系统有了更好的普及性。在一般农用、民用等方面效果合适且成本较低。设计中使用了压力传感器,利用物理学中压强与高度的关系经过一些列的采集数据设计出合适的函数进行编程,很容易就可以实现。然后将测量系统与PC机结合经过A/D转换器处理可以将测量结果用一种更直观的方式表达出来,此外还加入了基于单片机位运作基础的报警、断水、抽水等功能来实现系统的控制能力,丰富了整个系统的功能。 但是该系统还有许多可以提高的地方没有完成,比如该系统的压力传感器由于原理限制,只能位于容器底部。在部分情况下不适用。比如没有数据存储能力,将数据存储并通过软件来实现对数据的挖掘计算,完善更合理、更人性化的控制方案等等,这些问题都有待解决。致 谢通过这一阶段的努力,我的毕业设计终于完成了,这意味着我的大学生活即将结束。在大学阶段,我在学习上和思想上都受益匪浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。在本论文的完成过程中,我的指导老师倾注了大量的心血,从选题到开题报告,从写作提纲到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我衷心感谢。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。写作毕业论文是一次在系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始,我将铭记我曾是一名郑大学子,在今后的工作中把郑大的优良传统发扬光大。感谢各位导师的批评指导。附录1:参考文献1 赵国强,智能台灯,科学启蒙,2007,第Z1期2赵继文,传感器与应用电路设计,北京,北京科学出版社,2002.3,63黄继昌,电子元器件应用手册,北京,北京人民邮电出版社, 2004年,54赵辉,Protel99电子线路CAD,北京,北京邮电大学出版社,20075毕淑娥,电工与电子技术基础,哈尔滨,哈尔滨工业大学出版社,2008.66李全利,单片机原理及应用,北京,清华大学出版社,2006.27黄长艺,机械工程测试技术基础,北京:机械工业出版社,2009.3,68-1248金发庆,传感器技术与应用,北京 : 机械工业出版社, 2004.8,281-2909王港元,电子技能基础,成都,成都科技大学出版社,199910热释电红外传感器,/view/1788636.htm11光敏电阻,/view/55997.htm12夏路易,单片机在控制系统中的应用,北京,北京希望电子出版社,200613李朝青,单片机原理及接口技术,北京,北京航空航天大学出版社,2004 15 AT89C51 DATA SHEEP Philips Semiconductors 1999.dec16Yang. Y., Yi. J., Woo, Y.Y., and Kim. B.: Optimum design for linearityandefficiency of microwave Doherty amplifier using a new loadmatching technique, Microw. J., 2001, 44, (12), pp. 2036附录2:系统原理图附录3:源程序#include /头文件#include#includeeeprom52.h /STC89C52 EEPROM 程序文件#define uchar unsigned char /宏定义#define uint unsigned int#define LCD1602_dat P0 /LCD1602数据口宏定义sbit LCD1602_rs=P25;/LCD1602控制数据IO口sbit LCD1602_rw=P26;sbit LCD1602_e=P27;sbit beep=P14;/蜂鸣器 IOsbit led_1=P16;/LED指示灯 IOsbit led_2=P17;sbit key_1=P30;/系统控制按键IO口sbit key_2=P31;sbit key_3=P32;sbit alarm_1=P20;/控制继电器IO口sbit ADC0832_CS=P12;/ADC0832 控制IO口 使能口sbit ADC0832_CLK=P11;/时钟IO口sbit ADC0832_DIO=P10;/数据输入输出IO口 uint sum; /10次AD值的综合变量uchar RH,RH_H=12,RH_L=8,state,ms,cs; /当前水位, 水位上限,下限, 设置项变量,50ms变量 ,cs 为计次数变量 ,bit beep1,zt,s1; /报警标志位, 工作模式标志位, 闪烁标志位 unsigned int A_D() /ADC0832 读值程序unsigned char i;unsigned char dat; ADC0832_CS=1; /一个转换周期开始ADC0832_CLK=0; /为第一个脉冲作准备ADC0832_CS=0; /CS置0,片选有效ADC0832_DIO=1; /DIO置1,规定的起始信号 ADC0832_CLK=1; /第一个脉冲ADC0832_CLK=0; /第一个脉冲的下降沿,此前DIO必须是高电平ADC0832_DIO=1; /DIO置1, 通道选择信号 ADC0832_CLK=1; /第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道RH0 ADC0832_CLK=0; /第二个脉冲下降沿 ADC0832_DIO=0; /DI置0,选择通道0ADC0832_CLK=1; /第三个脉冲ADC0832_CLK=0; /第三个脉冲下降沿 ADC0832_DIO=1; /第三个脉冲下沉之后,输入端DIO失去作用,应置1ADC0832_CLK=1; /第四个脉冲for(i=0;i8;i+) /高位在前ADC0832_CLK=1; /第四个脉冲ADC0832_CLK=0; dat9)LCD1602_write(1,0x30+RH/10%10);else LCD1602_writebyte( );LCD1602_write(1,0x30+RH%10);LCD1602_writebyte(cm);LCD1602_write(0,0xC0);LCD1602_writebyte(State:); /工作模式if(zt=0)LCD1602_writebyte(Manul );elseLCD1602_writebyte( Aoto );else /水位上下限设置界面LCD1602_wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论