温度及水位控制系统的设计与制作毕业论文.doc_第1页
温度及水位控制系统的设计与制作毕业论文.doc_第2页
温度及水位控制系统的设计与制作毕业论文.doc_第3页
温度及水位控制系统的设计与制作毕业论文.doc_第4页
温度及水位控制系统的设计与制作毕业论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

浙江工业大学之江学院毕业设计(论文) 温度及水位控制系统的设计与制作毕业论文目 录1 绪 论11.1 温度水位控制系统发展背景11.2 水温控制技术的国内外发展现状21.3 本文主要内容22 方案选择及元器件介绍32.1 主控单片机的对比与选择32.2 STC89C51单片机芯片42.3 DS18B20温度传感器概述42.4 LCD1602液晶屏介绍53 硬件系统设计73.1 系统总体设计73.2 STC89C51单片机最小系统7 3.2.1 复位电路7 3.2.2 晶振电路83.3 DS18B20电路设计83.4 LCD1602液晶屏电路设计93.5 水位检测电路设计93.6 继电器及其驱动电路设计104 软件系统设计124.1 主程序流程设计124.2 DS18B20温度转换流程设计134.3 LCD1602液晶屏工作流程图设计14 4.3.1 写数据流程图14 4.3.2 写指令流程图154.4 加热模块工作流程设计15结 论17参考文献18附 录 A19附 录 B20附 录 C22附 录 D23致 谢33 图目录图2.1 STC89C51单片机4图2.2 DS18B20温度传感器5图2.3 LCD1602液晶屏6图3.1硬件框图7图3.2复位电路8图3.3晶振电路8图3.4 DS18B20电路设计9图3.5 LCD1602液晶屏电路9图3.6水位测量模块10图3.7继电器及其驱动电路11图4.1主程序流程图13图4.2 DS18B20工作流程设计14图4.3写数据流程图14图4.4写指令流程图15图4.5 加热模块工作流程设计16图5.1 实物图17图5.1 实物图IV1 绪 论1.1 温度及水位控制系统发展背景温度参数是多种行业都需要检测的一个重要参数,是生活和生产上最最基本的物理量,几乎工业上的大小环节都离不开对温度的准确控制,它是决定产品质量的决定性因素,比如在烟草生产企业,温度在烘烤车间是决定烟叶色泽和质量的首要保障;而在冶金行业,温度是决定化学反应效率的重要条件,因此在历史上产生了多种监控温度的方法(如学习算法、模糊算法以及PID算法等),它们在不同的应用场合都能发挥出很灵活的控制性能。在工业上,监控温度的控制器主要使用微处理器,如单片机、PLC或者DSP等,随着单片机技术的飞速发展,目前32位单片机(如SST公司的STM32)已经在微处理器界大行其道,它优异的性能能够使得过去的传统控制系统大幅提高,因此对于温度参数的控制,各行各业也提出了更高的要求,不但要求温度稳定、抑制干扰以及快速到达设定温度等,这些要求的实现对于性能优越的微处理器是非常容易的。纵观目前水温监控系统市场现状,可以发现已经相当成熟,但是许多系统的功能还都停留在近距离控制,随着以太网技术、红外遥控技术、RFID(射频通信)系统、GSM技术以及蓝牙技术的发展并且低成本化,将这些数据进行远程传输已经变得可能,这样将远程数据传送技术和温度控制技术结合在一起,就衍生出了一种性能更加完善的水温监控系统,它能使得温度控制变得远程化,只要坐在电脑边、持手机或者拿着遥控就能实现对水温的灵活监控,这将车间人员解放出来,同时也能够降低高温对人员的伤害。所谓水位控制系统指的是能够通过传感器的液位采集作用而实现也为自动控制的电子控制系统,通常情况下这种系统由微处理器、液位传感器、水泵、排水装置、终端按键、显示器以及报警器等部分组成,在这种系统的作用下,工业生产或者家居生活能够实现在无人管理情况下的自动运行,节省大量的人力物力,大幅度提高企业生产效率。传统的液位控制已经延续了数百年,在古代的一些作坊或者小型加工厂中能够常常看到通过人工的方式实现生产加工中的液位管理,添加水通过水桶加注,换水也是通过人工操作,这就是最为原始的液位管控制系统。几百年后随着工业技术的发展,自来水进入了千家万户方便了人们的日常生活,在工业活动中对于液位控制作业也享受到了自来水管道的便利,因为工人们再也不用提着水桶去完成加水放水的劳累体力活了,只需要在现场看紧也为高度,管理好自来水龙头的开关,防止水溢出来。再到后来出现了现代化工业生产,此时电子技术以及微处理器技术广泛发展,涌现除了一大批用于辅助工业活动的电子控制系统,在水塔水位控制系统中,最为著名的就是采用PLC作为主控核心的也为管理系统,由于采用了PLC作为控制器,因此基本实现液位高低的自动管理,基本无需人为干预,通过液位传感器来实现水箱中液位的采集,将采集到的信息传送到PLC进行处理,接着PLC根据也为情况来相应的启闭水泵或者排水阀的工作,以此来达到液位的自动化管理。这种PLC系统用在干扰情况较为严重的工控场合能够表现出非常高的稳定度,内部程序在运行过程中基本不会出现运行错误等情况,因此成本也非常高。近几年来的单片机技术日益完善,单片机控制系统逐渐渗透到工业领域的各个角落,单片机的稳定性跟过去相比已经取得了质的飞跃,在水位控制系统方面,目前市面上已经出现了多种类型的以单片机作为主控核心的自动控制系统,这些产品主要分为超声波探测式、电磁波探测式、激光探测式以及机械浮子式几类,根据液位探测的精度以及准确度区分,激光探测式性能最佳,而已使用广泛度以及成本来看,机械浮子式数第一。由于单片机的成本远低于PLC系统,并且目前单片机的性能和稳定度在不断提升,已经有和PLC持平的趋势,因此如果采用单片机作为也为控制系统的主控器,那么将大幅度降低其生产成本。1.2 水温控制技术的国内外发展现状远程水温监控技术目前正朝着网络化、更远距离化的方向发展,在网络化方面,很多研究者正在不断地将以太网模块、互联网总线植入到水温监控系统内,有了以太网模块,多个水温监控系统就可以组成一个小网络,多个小网络就可以组成一个大网络,从而进行集中管理、监视和维护。麻省理工大学的一个研究小组开发了一款能够手机对水温进行监控的系统,它的智能之处在于这个系统不但在手机上设计了水温的监控界面,同时能够将多项参数(如温度、湿度以及气压等)通过GPRS模块发送给手机持有者,这样企业人员在给自己的手机上下载这个系统后,就能够在办公室内轻松的检测车间的水温情况,省去了现场监管的麻烦。而国内的研究者也在这方面取得了很大的成果,他们将以太网植入了水温控制系统中,通过网络数据实现了对水温的灵活监控。1.3 本文主要内容本文以基于单片机的温度及水位控制系统为研究目标,设计了一款能够实现温度和水位自动测量的电子控制系统,在文章第一章,主要对系统的发展背景和国内外发展现状进行了描述,第二章对系统的设计方案以及元器件进行了选择和介绍,文章的第三章对硬件系统进行了设计,第四章主要对软件系统进行了设计。2浙江工业大学之江学院毕业设计(论文) 2 方案选择及元器件介绍2.1 主控单片机的对比与选择方案一:选择8位的51内核单片机作为主控核心,由于51单片机进入中国学生的视野比较早,它通常作为高校里单片机课程的主要教学题材,因此具有广泛可使用的资料和现成例程,其库函数目前也比较丰富,因此在使用时比较容易上手,尤其是对刚开始迈进单片机大门的学生来说。目前使用最广泛的AT89C51和STC89C51同是采用经典51内核的8位单片机,这两者的区别是AT89C51是单片机巨头ATMEL公司研发的,STC89C51是国内的宏晶公司推出的,两者相互兼容,另外最基本的C51单片机采用串口下载程序,不需要昂贵的仿真器,因此成本非常低。但是其缺点也非常明显,由于C51单片机比较基础,因此其内部资源非常贫乏,只集成了UART、定时器等模块,中断资源比较少,只有P3.2和P3.3两个管脚能够进入管脚中断,其他管脚无中断能力,因此在开发大型的复杂项目时将显得非常逊色,如果需要使用AD转换或者DA转换等功能时,需要在片外扩展相关芯片,因此电路形式将显得复杂。方案二:选择美国德州仪器(TI)公司研发的MSP430系列单片机作为主控核心,这种单片机进入市场的最大优势是其低功耗性能,该公司曾用一个新鲜柠檬的汁液进行处理来给430单片机供电,以此来展示其低功耗的优势。430单片机采用了RISC精简指令系统,另外430是一种16位单片机,该系列单片机的高端型号的主频能够达到40M,处理速度相对于经典的8位单片机来说非常快。430单片机中大多数芯片具有JTAG口,这使得用户能够通过专用的仿真器来设置断点来分析程序的运行现象,方便查看相关的寄存器值,给程序调试带来了极大的方便,为项目的成功带来了极大的保障,然而这种仿真器的成本相对昂贵,给学生实验带来诸多不便。在优势方面,430单片机的内部资源相对丰富,大多数型号都集成了AD、DA、硬件IIC、定时器以及UART等资源,在使用时配置比较方便。然而其缺点也非常明显,由于低功耗的430单片机主要应用在一些手持设备上,用户主要是一些手持仪器研发公司,因此对于430单片机的开发资料学生不能方便触及到,给学生学习带来诸多不利。综上所述各种常用单片机的优缺点,考虑到自身的学习经历以及知识掌握度,对于51单片机非常熟悉,虽然上文说到其内部没有集成AD转换或者硬件IIC等模块,但是在片外扩展这些模块也非常容易,网上相关的程序和资料相当的多,并不会给设计过程带来极大的阻碍。考虑到成本方面,上述所说的几种单片机就成本来说只有51单片机的价格最低,并且非常容易买到,这给设计的成功性带来了极大的保障,因此本系统选用51单片机作为主控核心。到底什么是单片机呢,相信很多学过单片机学生或者专业人士也很难对它下一个很清晰的定义,其实所谓单片机就是单片微型机的简称,在结构上主要是将CPU、各种存储器、定时器以及功能强大的输入输出结构或者现场总线等部分都被集成在同一个小型的硅片中的芯片,很多电子类专业的学生在接触学习单片机之前通常会因为“单片机“三个字就望文生义以为它是一种很庞大的机械设备,其实不然,它只是一种一元硬币大小的芯片而已(早期由于集成电路技术还不发达,面积比现在的芯片大得多)。实现单片机技术离不开集成电路技术的成熟,因为集成电路越成熟,单片机的体积就会越小并且成本就会越低,这是因为集成硅片的成本和其面积成正比。单片机在国外被称为Single Chip Microcomputer,简称SCM,然而这只是它最早期的英文名称,随着它的不断发展和人们对它的不断认识,因此它被改名为MCU,即Microcontroller Unit。从最初的最基本最简单的单片机诞生开始一直到目前的功能强大处理性能猛增的32位单片机,其中经历了1位到4位、8位以及16位等发展过程,这里所说的几位几位单片机是指它的总线宽度,也就是它能够并行处理多少位数据,例如我们平常经常使用到的51单片机,它就是一种8位单片机,而目前较为流行的基于ARM内核的STM32单片机就是一种32位单片机,它能够同时并行处理32位数据,这是它能够海量处理数据的根本原因。在单片机的实用范围上,可以将所有的单片机分成两类,即专用型单片机和通用型单片机,所谓通用型是指用户可以通过自己编程和修改等来完成单片机应用系统的构建,这种类型的单片机对用户开放较多的GPIO口管脚,内部通常集成了很多外围模块(如AD模数转换器模块、DA数模转换器模块以及UART串口模块等);而专用型单片机是指在生产这种单片机前,用户就已经指定好该单片机的具体规格,如IO口的数量、管脚排列、定时器数量等,这都是为了专门的设计而生产的,因此通常在别处不可使用。另外可以根据单片机是否向外提供并行总线来将所有的单片机分成总线型和非总线型单片机,所谓总线型是指单片机对用户提供数据总线和地址总线,并引出相应的控制管脚,比如常用的51单片机它就属于一种总线型单片机;而非总线单片机和总线型正相反。12.2 STC89C51单片机芯片本课题选用了宏晶公司推出的STC89C51单片机作为主控芯片,这款芯片是一款内置经典MCS-51内核的单片机,内部集成的CPU与市面上流行的AT89C51单片机同出一辙。STC89C51单片机为FLASH型器件,它支持高达一万次的可重复性烧写,具有4k字节的程序容量。在RAM方面,STC89C51能够实现256字节的内存性能,在一些小型系统中,这种配置已经足够使用,而在一些大型系统中,用户需要自己在片外扩展存储器,下图2-1为STC89C51单片机的芯片图。图2.1 STC89C51单片机宏晶公司在STC89C51单片机片内集成了一个高性能的UART串口,其数据收发管脚TXD和RXD被分别映射到P3.0和P3.1两个IO管脚;两个高达16位的计数器,具有定时和计数两种工作模式;两个外部中断管脚EX0和EX1,被分别映射到P3.2和P3.3两个IO管脚。2.3 DS18B20温度传感器概述本系统的测温单元采用的是当前市场上非常畅销一种温度采集传感器,它的体积非常的小因此能够适应很多场合的应用,比如说管装待测物体,这样DS18B20就能够很轻易的被安置到物体内部,DS18B20的多种封装中都是只有三个管脚,一个电源管脚和一个接地管脚,另外剩下一个就是单线串行数据线,无论是单片机发送的时钟信号还有数据信号或是DS18B20发送给单片机的时钟信号还有数据信号,都是通过这条串行总线传送,这样就使得系统的硬件开销非常小,只占用到单片机的一个IO管脚,由于信号的输送距离很短所以它的抗干扰能力非常的强,使得DS18B20的测温性能精度非常高。DS18B20的典型特点就是驱动方便硬件消耗只有一个IO口,这全得益于美国DALLS公司研发的这种单线总线接线方式。为了适应不同应用场合的不同环境情况,DS18B20被开发出多种封装形式,比如LTM8877和LTM8874以及使用最多的SOT-23封装形式,使得DS18B20看起来像是一个普通的小型三极管,如此多的封装使得DS18B20能够在汽车测温、电缆测温、水温测温以及机房测温等多种需要测温的环境中得到试用。1DS18B20温度传感器是DS1820的一个改进品,由于很多用户在使用DS1820时常常抱怨其转换温度长达2s之多,很难达到实时的测温效果,因此DALLS公司改革升级了DS1820,推出了这款一上市就取得广泛市场占有量的DS18B20温度传感器。DS18B20的转换精度可以由软件配置,由9、10、11以及12四种转换精度可以选择,四种转换精度下的转换时间各不相同,在配置为9位时,温度分辨率为0.5摄氏度,转换时间93.75毫秒;而在配置为12位后,温度分辨率为0.0625摄氏度,转换时间为750毫秒,因此可以看出转换精度和转换时间是不可兼得的,必须折中进行选择。DS18B20的测温范围从-55摄氏度一直到+125摄氏度,另外在-10摄氏度至+85摄氏度之间的测温精度高达0.5摄氏度,而DS1820的测温精度只有2摄氏度,这种性能是使得DS18B20赢得市场占有率的必要因素。DS18B20的另外一个优点是可以不用给其VDD管脚供电而使用寄生电源就可以让其正常工作,通过软件的配置,单片机的IO口可以通过数据线给DS18B20内部的集成电源供电,这主要依靠DS18B20内部的大电容的存电效应,通过DO数据线流进DS18B20的电流能够给这个大电容充电而为DS18B20内部的RAM、ROM以及AD转换器模块供电,这样在远程使用时,就节省了电源线,为DS18B20的使用带来了更大的方便和简洁性,下图2-2为DS18B20传感器实物图。图2.2 DS18B20温度传感器2.4 LCD1602液晶屏介绍 本系统选用LCD1602型液晶屏作为显示器,用于显示系统运行过程中的一些重要参数,它是一种经典的点阵型液晶显示器,所谓点阵型就是指屏幕内部由一列列的小方格液晶组成,当要显示一个字符时,通过各个小方格的显示和不显示来构成一个形象的字符形状,由于液晶本身不能够发光,因此大部分液晶显示器都需要使用背景灯来照亮液晶显示出来的字符,LCD1602也不例外,它有一个专门的背景灯电源,当给这个管脚施加+5V直流电压时就可以将其背景灯打开,下图为LCD1602液晶屏的实物图。图2.3 LCD1602液晶屏在字符显示效果方面,LCD1602分为上下两排,每排最多能够显示16个英文字符(1602不能够对中文汉字进行显示)。它共有16个直插引脚,采用并口形式进行驱动。3 硬件系统设计3.1 系统总体设计本章主要对系统的硬件电路进行设计,在对硬件原理图进行设计前,首先通过系统的整体硬件框图3-1来描述本系统的硬件连接关系:AT89C51单片机是整个控制系统的核心,它负责检测按键模块、驱动报警器模块、驱动液晶屏以及启闭继电器;温度传感器采用DS18B20,它内部集成了感温模块以及AD模块,采集到温度后通过模拟转换电路将温度值转换成数字信号,通过单总线将数字信号传送给51单片机。当水温超过设定温度时,报警模块用于发出报警信号;显示模块用于显示当前温度、实际温度等参数;继电器模块用于驱动加热器;温度传感器用于检测当前水温;水位检测模块用于检测当前的水位值,当水位值低于设定水位时,单片机打开水泵进行加水。图3-1 硬件框图3.2 STC89C51单片机最小系统最小系统时单片机系统的核心部分,它通常由单片机芯片、复位电路和晶振电路组成,下面对复位电路和晶振电路进行设计。3.2.1 复位电路图3-2为复位电路原理图,由复位按键、电容以及电阻组成,它所要完成的功能是:当单片机上电的一瞬间,电阻两端的电压为VCC,此时RST在高电平作用下,单片机系统将被复位,为接下来的正式工作做准备。当用户需要在单片机工作中途复位时,可按下复位按键,按键被按下后,电容将被短路,电阻两端电压再次回到高电平VCC,RST管脚在高电平作用下,单片机被复位,这就是复位电路的工作原理。图3-2 复位电路 3.2.2 晶振电路 图3-3为晶振电路原理图,由两个30pF电容和一个12M晶振组成,它所要完成的功能是向51单片机的XTAL1和XTAL2两个管脚输入12MHz的时钟信号。 图3-3 晶振电路3.3 DS18B20电路设计下图3-4为DS18B20温度传感器的电路设计,根据上文对DS18B20的管脚介绍可知它是一个具有一线总线特点的数字传感器器件,也就是只需要将它的GND管脚接地,VDD管脚接上+3.3V+5V的直流电源(本系统采用了+5V直流电源)即可让它工作,它的DO管脚接51单片机的P2.1管脚,由于在51单片机驱动DS18B20工作的过程中会涉及到读取由传感器传来的数据,因此必须P2.1管脚的上拉电阻才能使信号正常传送,但是根据51单片机的管脚介绍中可知,51单片机的P2口内部集成了10K的上拉电阻,因此再设计系统时就无需在外部配置上拉电阻了,这样就简化了DS18B20的硬件消耗。图3-4 DS18B20电路设计3.4 LCD1602液晶屏电路设计LCD1602液晶屏的外围电路设计相对简单,只需要额外用到两个电阻即可实现其正常工作。如下图所示,LCD1602的1和2号管脚为液晶电源管脚,为其施+5V直流电压,3号管脚为对比度调节管脚,通过一个10k和一个1.5k的电阻对5V电压进行分压,为3号管脚提供1.1V左右的直流电压,即可实现LCD1602最佳的对比度;46三个管脚为液晶屏的控制管脚,与51单片机的P2.5P2.6三个IO管脚直接相连;713号管脚为液晶屏的数据管脚,与51单片机的P0口八个IO管脚直接相连;14和15两个管脚为液晶屏背景灯电源管脚,本系统为了将背景灯打开,为其施加+5V直流电压。图3-5 LCD1602液晶屏电路3.5 水位检测电路设计下图为水位测量模块原理图,其工作原理为:当水箱中没有水时,由于P1.4P1.7三个管脚被10k的电阻上拉,因此全为高电平。当水箱中的水位触及到LOW端时,由于水箱中的水被接地,因此LOW端触及到水后,P1.7管脚电位被拉低,P1.4P1.7三个管脚的电平分别为高高低;以此类推,当水达到中等水位,三个管脚分别为高低低,高等水位时,三个管脚分别为低低低。单片机对这三个管脚的电平状况进行检测,即可检测到水箱中的水位情况。图3-6 水位测量模块3.6 继电器及其驱动电路设计下图3-7所示的电路即为由继电器模块组成的加热模块电路,下图中的MOS管的作用主要是扩大51单片机的P1.6管脚的输出电流,因为P1.6的最大输出电流非常微弱,不足以使HRS1H-S-DC5V产生动作,驱动电路的电路形式非常简单,只使用了一个N型MOS管,本系统选用了SI2302型MOS管,由于MOS管是一种压控晶体管,uA级的基极电流就可将其导通,因此当P1.6输出高电平时SI2302将瞬间被导通,从而HRS1H-S-DC5V继电器的3和4之间的线圈将有电流流过,从而使得继电器内部的触头产生动作;在P1.6输出低电平时,由于SI2302的漏极和栅极之间没有压差,因此不能够将SI2302导通,所以HRS1H-S-DC5V继电器的3和4之间的线圈没有电流流过,这样继电器内部的触头将不能产生动作,这就是HRS1H-S-DC5V继电器和驱动电路的工作原理和过程。当需要加热时,P1.6管脚输出高电平,从而立即将MOS管道通,继电器的线圈得电将5和6两个管脚接通,从而加热器获得220V电源,加热器开始工作对水进行加热。当不需要加热时,P1.6输出低电平,MOS管截止,继电器线圈没有电流流过,从而5和6两个管脚断开,所以加热器不工作。图3-7 继电器及其驱动电路30浙江工业大学之江学院毕业设计(论文) 4 软件系统设计4.1 主程序流程设计本章主要通过流程图的方式来阐述软件系统的设计,通过主程序流程设计、LCD1602显示流程设计、红外遥控系统工作流程设计以及DS18B20温度检测流程设计等部分,详细的描述了本设计的软件设计过程。下图4-1是本远程水文控制系统的主流程图设计,可以将它描述为:系统上电后首先进入系统初始化过程,在这个阶段主要是将主控核心51单片机的各寄存器清零、DS18B20寄存器清零以及红外遥控系统初始化等,在初始化过程结束后,使用者就可以通过红外遥控或者按键设置水温了(红外遥控的详细工作过程将在后文介绍)。水温设置完毕,系统就进入正式的工作过程了,通过DS18B20传感器来检测水中的温度,并通过单总线的方式将带水温信息的数据传送给51单片机,单片机在接收到数据后进行相关处理,以此判断当前水温是否超过了设定温度,如果超过则立即启动报警模块发出报警信号,并同时关闭继电器(关闭继电器即关闭加热模块);当水温低于设定温度时,开启继电器,将加热模块打开,对水进行加热。与此同时,51单片机驱动LCD1602显示当前水温等数据。图4-1 主程序流程图4.2 DS18B20温度转换流程设计下图4-2为DS18B20温度采集软件流程设计,在系统上电后DS18B20的内部RAM、ROM以及AD模块会开始进行初始化工作,包括对RAM的清零以及AD的自动校准等过程,初始化完成后DS18B20就开始进行正常的采温过程了,首先DS18B20内部由热敏电阻组成的测温电桥会在温度发生改变时输出电压发生改变这就是图中的“温度采集”过程;接着DS18B20内部的高精度低误差的AD模数转换器就开始工作了,首先AD会在软件配置的位数下进行转换,测温电桥的直流输出电压直接连接到AD模块的输入端,从而AD能够直接将反映温度大小的直流电压转换为数字信号,这就是所谓的“数据处理”阶段;最后,处理后的数据会储存在DS18B20内部的ROM中,并在DO管脚通过单总线方式发送出去,将数据传送给外部的单片机等处理器图4-2 DS18B20工作流程设计4.3 LCD1602液晶屏工作流程图设计对于LCD1602液晶屏的工作流程设计,主要分为写指令以及写数据三个部分,下面对;两个子程序流程进行设计。4.3.1 写数据流程图下图为51单片机向LCD1602写数据的流程图,首先51单片机先将液晶屏的RS管脚拉高,接着将8位数据通过P0口传送到液晶屏的DB0DB7八个管脚,然后将液晶屏的使能管脚EN拉高,小段延时后,再将EN拉低,这样就完成了51单片机向液晶屏的数据发送。图4-3 写数据流程图4.3.2 写指令流程图下图为51单片机向LCD1602写数据的流程图,与写数据过程唯一不同的是在发送指令前要先将RS、RW以及EN三个管脚同时拉高,接着将8位指令代码通过P0口传送到液晶屏的DB0DB7八个管脚,然后将液晶屏的使能管脚EN拉高,小段延时后,再将EN拉低,这样就完成了51单片机向液晶屏的指令发送。图4-4 写指令流程图4.4 加热模块工作流程设计加热模块主要由继电器组成,通过继电器来启闭加热器,因此加热模块的工作流程主要是继电器的工作流程。继电器的工作流程非常简单,在需要加热时,将继电器所控制的电路闭合时,单片机的P1.6管脚输出高电平即可;而不需要加热时,单片机的P1.6管脚输出低电平,由于继电器的输出只有两种状态,即闭和断,因此其工作的流程可以用下面的流程图来描述,即当需要对水进行加热时,单片机的P1.6管脚输出高电平从而将加热器打开;否则P1.6输出低电平,关闭继电器。图4-5 加热模块工作流程设计浙江工业大学之江学院毕业设计(论文) 结论5 实物制作与系统调试我们电子信息工程学科重点学的就是偏硬件方面的东西,所以毕业设计实物是非常有必要的,实物能更好更形象的展示出我们所要表达的东西。在制作实物的时候经常会遇到一些问题,在通过遇到问题查找问题解决问题的过程中,提高我对实物制作的设计能力和动手能力,可以很好的把以前课本遇到的问题具象化。巩固深化以前所学的知识。下面是对实物制作的过程中出现的主要问题进行总结和归纳,下图5.1为实物图照片,采用PCB制板以及手工焊制,最终实下图的实物效果。图5.1 实物图5.1 实物焊接在实物制作过程中,焊接工作是必不可少的,焊接不仅要求要把元器件焊在板子上而且要焊的美观。就比如板子正面元器件要排设合理尽量每个元器件都不重叠,在板子的背面也要焊的美观尽量少出现蒙古包,或用导线连接的情况。在焊接过程中经常会出现这类情况,电烙铁一不小心在板子上多待了一会就会把铜片焊出来,铜片掉出之后这个孔就得用导线来连接这样即麻烦又不美观,所以我在正式焊接前先在以前上课留下来的板子上先做练习,等熟练在再在好的板子上焊接。所以我的板子看上去会干净美观许多。5.2实物调试实物调试是整个制作工序最后一道也是最关键的一道。在实物调试过程中我把测水位的板子放到热水中LCD显示屏并没有显示温度的改样,一开始我很困惑为什么会这样,不知道问题在哪,多尝试几次发现我用的都是陶瓷杯(陶瓷杯导热性差),我把传导温度的发卡贴在杯壁自然不会显示真实的温度,发现这个问题之后改用铁杯,问题就解决了。在实物调试的过程中还会出现水位显示不正确的现象,刚出现这个问题的时候我一直以为是线路的问题, 一直在检查线路以及元器件,总以为是线路焊接错误或者是元器件失灵坏掉。直到有一天回过头去看程序,发现我问题出现在程序里,程序关于判断水位模块中的写错了,本来应该是写if(S_low=0)&(S_med=0)&(S_high=0)中,我把high=0写成了high=1,改完之后再调试就没有出现上述问题了。所以很多时候不知道问题在哪里可以把程序看一下,没准我呢体出在程序里。结 论毕业设计的时间真的过得很快,转眼四个月已经过去了,通过这次毕业设计我将大学四年所学到的知识又重新的复习巩固了一下,到最后基本是对一些重点科目做了一个彻底的总结、归纳和提升。在一开始时我拿到课题很迷茫不知道从何着手,到后来面对程序不知道如何编写和修改时我凭借着自己对这个课题的一点了解和老师每次的认真指导,我一点一点的把每个问题每个难题攻克了。总之最后是在汗水与辛劳、迷茫与探索中完成了在毕业设计最初制定的所有目标,以我们所学过的Keil软件开发环境作为设计平台,结合Protel以及Proteus等软件,实现了这款以单片机作为微处理器的温度及水位检测控制系统,为大学学习和生活画上了一个圆满的句号。本次毕业设计构建的这款温度及水位检测系统,选用的是成本最低的51系列单片机作为控制系统的微处理器,51单片机无论是在处理速度还是稳定性上,都称得上是一款性价比较高的器件,因此由其作为主控核心的控制系统,能够表现出令人满意的结果。本系统的成功之处就是在另一方面是由选用的高度集成化硬件模块带来的,如LCD1602液晶屏内部不但集成了液晶控制芯片更自带字库,这样就不用自己配置专门的字库了,而且给系统的硬件布局带来电路结构稳定性高的优点,更简化了软件的设计。本次毕业设计虽然在设计制作的过程中有一些小的坎坷,遇到一些小问题,但总的来说是顺利的,这不但和选用的平台有直接的关系。由于大学期间对51系列单片机具有较为系统的学习,不论是在内部结构还是寄存器配置上,我都比较了解。另外开发51单片机的Keil软件平台上集代码编写、程序调试以及程序仿真为一体,使得本系统能够方便的完成从构思到成型的各个过程。本文设计的这款系统虽然完成了预期设定的所有指标,但仍然存在许多可以改进和提升的部分,这主要是由于毕业设计时间仓促以及自身知识掌握不全造成的,因此我会在以后的工作和学习中去不断改善我的作品。浙江工业大学之江学院毕业设计(论文) 参考文献1 蔡朝洋.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,20062 康华光.电子技术基础 (模拟部分) M. 北京:高等教育出版社, 20003 徐大诚,邹丽新,丁建强.微型计算机控制技术及应用M.高等教育出版社,20034 杜洋.爱上单片机M.北京:人民邮电出版社,2011.5 彭伟.单片机C语言程序设计实训100例M.北京:北京航空航天大学出版社,2010.6 姜志海,赵艳雷.单片机的C语言M.北京:电子工业出版社,2008.7 夏路易,石宗义.Protell99SE设计教程M.北京:北京希望电子出版社,2009.8 朱定华.微机原理与接口技术M.北京:清华大学出版社,2010.9 黄贤武,郑筱霞.传感器原理及其应用M.成都:电子科技大学出版社, 2010. 10 俞国亮.MCS-51单片机原理与应用M.北京:清华大学出版社,2010.11 沈建华,杨艳琴,MSP430系列16位超低功耗单片机原理与实践M.北京:航空航天大学出版社,2008.7 12 褚振勇,翁木云. FPGA设计及应用M. 西安:西安电子科技大学出版社,2002:7. 13 赵立民,于海雁,胡庆,庞杰. 可编程逻辑器件M. 北京:机械工业出版社,2003:45. 14 白中英, 主编数字逻辑与数字系统M. 科学出版社,2007 15 雷波主编,电子控制及仿真D. 武汉理工大学,2008.浙江工业大学之江学院毕业设计(论文) 附录附 录 A附 录 B附 录 CCommentDescriptionDesignatorFootprintValue电阻贴片电阻R3, R4, R5, R6160806031K, 10KRes2ResistorR1, R2AXIAL-0.41.5K, 10K电容贴片电容C1, C2, C3C120610uF, 30pFDC-插座DC-1DC-插座STC89C5151单片机U2DIP-40继电器5V继电器U4HRS1H-5VLCD1602液晶屏U1LCD1602温度传感器温度传感器U3PET3XTALCrystal OscillatorY1R3812MN-MOSFETMOS管Q1, Q2SOT23-按键SwitchS2, S3SPST-2复位按键SwitchS1SPST-2蜂鸣器蜂鸣器B1蜂鸣器附 录 D#include#define uchar unsigned char#define uint unsigned intsbit DQ=P21;/ds18b20与单片机连接口sbit Relay=P16;sbit BEEP=P20;sbit RS=P25;sbit RW=P26;sbit EN=P27;sbit S1=P10;sbit S2=P11;sbit S3=P12;sbit S4=P13;sbit WATER=P37;sbit S_low=P17;sbit S_med=P14;sbit S_high=P15;unsigned char code str1=T1:;unsigned char code str2=T2:;unsigned char code str3=L ; unsigned char code str4=M ;unsigned char code str5=H ;unsigned char code str6=Date:;unsigned char code str7=S:;unsigned char code str8=Empty!;unsigned char code str9=ON ;unsigned char code str10=OFF;unsigned char b,flag=1;uchar data disdata5;uint tvalue,temp=500;/温度值uchar tflag;/温度正负标志 void delay1ms(unsigned int ms)/延时1毫秒(不够精确的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j100;j+); /*lcd1602程序*/void wr_com(unsigned char com)/写指令/ uchar in=0;int i; delay1ms(1); RS=0; RW=0; EN=0; in|=(com&1);for(i=1;i8;i+) in=1; in|=(1i); P0=in; delay1ms(1); EN=1; delay1ms(1); EN=0; void wr_dat(unsigned char com)/写数据/uchar in=0;int i; delay1ms(1); RS=1; RW=0; EN=0; in|=(com&1);for(i=1;i8;i+) in=1; in|=(1i); P0=in; delay1ms(1); EN=1; delay1ms(1); EN=0; void lcd_init()/初始化设置/delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5); void display(unsigned char *p)/显示/while(*p!=0)wr_dat(*p);p+;delay1ms(1); init_play()/初始化显示 lcd_init(); wr_com(0x80); display(str1); wr_com(0x88); display(str2); wr_com(0xc0); display(str6); /*ds1820程序*/ void delay_18B20(unsigned int i)/延时1微秒 while(i-);void ds1820rst()/*ds1820复位*/ unsigned char x=0; DQ = 1; /DQ复位 delay_18B20(4); /延时 DQ = 0; /DQ拉低 delay_18B20(100); /精确延时大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*读数据*/ unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat); void ds1820wr(uchar wdata)/*写数据*/ unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*读取温度值并转换*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0x44);/*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0xbe);/*读取温度*/ a=ds18

温馨提示

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

评论

0/150

提交评论