基于单片机的水位检测控制系统设计.doc
《基于单片机的水位检测控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的水位检测控制系统设计.doc(33页珍藏版)》请在咨信网上搜索。
基于单片机的水位检测控制系统设计 学 院: 专 业: 姓 名: 指导老师: 信息学院 自动化 刘翔 学 号: 职 称: 090104021046 盛珣华 曹宇 教授 助理工程师 中国·珠海 二○一三年五月 诚信承诺书 本人郑重承诺:本人承诺呈交的毕业设计《基于单片机的水位检测控制系统设计》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。 本人签名: 日期: 年 月 日 基于单片机的水位检测控制系统设计 摘要 随着社会和科技的进步,以及人们的生活标准水平逐步的提高与发展,方便的全自动控制系统生活的开始逐步进入到我们的生活,单芯片微型计算机发展是其中的一个重要分支,具有高可靠性,高性能价格比,低电压,低功耗等优点,以单片机为核心的自动化控制系统已经赢得了广泛的应用范围。 本设计是基于单片机的水位检测控制系统设计。设计系统的目的在于应用单片机的自动运行技术,使得水塔中的水位始终保持在一定范围内,以保证连续正常的供水。本设计是以AT89C51单片机为核心部件的水塔水位检测控制仿真系统设计的,用以检测水位并进行控制、处理以及报警功能,并在Proteus仿真软件环境中仿真测试。结果表明,设计的系统具有良好的检测和控制功能,方便移植性和可扩展性。 关键词:水位控制 单片机 报警 Based SCM the water level detection control system design Abstrac With the social and technological progress, as well as the level of people's standard of living gradually improve with the exhibition, and the convenience of automatic control system for the beginning of life gradually into our lives, single-chip microcomputer development is an important branch,the advantages of high reliability, high performance and low cost, low-voltage, low-power microcontroller as the core of the automation control system has won a wide range of applications. The title of the graduate design microcontroller-based water level detection and control system design, three metal rods into the water used to detect the signal, the conductivity of the water, can see that the water level changes. Under normal circumstances, the water level should be kept within a certain range changes, the water level does not exceed the stipulated upper and lower limits, in the event of a system failure, should be promptly cut off electrical power, and there should be sound and audible alarm signals of the light-emitting diode. Design System aimed the application microcontroller run automatically, so that the water level in the water tower always maintained within a certain range in order to ensure the continuous normal water. The design is based on AT89C51 microcontroller as the core components of the water tower water level detection and control simulation system designed to detect water level control, processing, and alarm functions, and Proteus simulation software environment simulation testing. Experimental results show that the design of the system has a good detection and control functions, portability and scalability. Keywords:Level controlmicrocontroller alarm 目 录 1前言 1 1.1.本设计在国内发展概况 1 1.2国外发展概况 1 1.3设计目的 2 1.4设计意义 2 2总设计 2 2.1设计的技术要求 2 2.2应解决的主要问题 3 2.3设计原理 3 2.4方案选择 3 2.5给定参数 5 2.6整体方案设计 5 2.7优点和特色 6 2.8创新点 7 2.9系统运行过程可能存在的问题 7 2.9.1现场数据经过DTU发送后在远程监控室接收不到 7 3硬件介绍 7 3.1光电耦合器4N25 7 3.1.1工作原理 7 3.1.2主要性能 8 3.1.3引脚图和引脚名称 8 3.1.4极限参数 8 3.2单片机芯片STC90C516RD+ 9 3.2.1芯片简介绍 9 3.2.2芯片STC90C516RD+引脚 9 3.2.3主要性能 10 3.3电磁继电器 11 3.4蜂鸣器 11 3.5远程通信模块DTU 12 3.6液位高度传感器 12 4组态软件 13 4.1组态概况 13 4.2组态设计 13 5软件设计 17 5.1Keil软件 17 5.2程序方框图 17 5.3程序设计 18 5.4I/O口的分配 18 5.5子程序 18 5.5.1延时子程序 18 5.5.2报警子程序 19 5.5.3初始化子程序 20 5.4主程序 20 6结论 22 参考文献 23 谢 辞 24 附录 25 程序代码 25 1前言 1.1.本设计在国内发展概况 国产水位监测仪主要有浮筒式水位仪、压力传感器式水位仪、超声波式水位仪等,在功能齐全、性能稳定等方面,虽然与国际上先进的同类型产品存在一定差距,但是却可以基本满足水位监测及控制的需要。表1-1中将几类典型的水位检测仪进行了对比。 表1-1 国内水位监测仪对比 技术指标 浮筒式 超声波式 压力传感器式 工作方式 记录笔自记水位曲线或光码盘计数 人工操作、数字显示 多数为数字显示、人工记录,少量的有自动采集,自动打印 人为误差 大 较大 较小 分辨率 1cm 1cm 1cm(mm) 测量精度 较低 较低 较高 自动化程度 半自动化 半自动化 半自动化或全自动化 电源 无需/需要 需要 需要 环境条件 受压力影响 受气温和湿度影响 受气压影响 总体技术水平 较低 较高 较高 目前国内使用的大多数为SW40-1型日记水位计,LN-3型数字水位仪,WS-1040自动检测仪,其发展趋势都是向数字化、智能化方向发展。 1.2国外发展概况 国外一些发达国家在水位监测设备水平上也存在着较大的差异,其中美国和荷兰的产品在技术性能上代表着当今世界的先进水平。近年来,水位监测已经融入了更多的技术,例如美国和日本等国已相继推出水位水质监测设备,并已经走进国内的市场了。下表1-2就是国外水环境监测仪器的对比表。 表1-2 国外水位检测仪对比 产地 监测参数 工作方式 美国 水位、水温、电导率、浊度、PH值、大气压等 测量数据直接传入电脑中;数据显示仪器可自动显示并存储测量参数;数据无线传输。 荷兰 水位、水温、PH值 传感器采集数据通过串行数据传输线将主机中的数据传入计算机中。 日本 水位、水温、PH值、电导率、浊度、溶解氧 现场原位自动监测。 1.3设计目的 设计基于单片机的水位检测控制系统,设计水位探测传感器用来探测三个水 位,即低水位,正常水位,高水位。低水位时送给单片机一个高电平, 驱动水泵加水,红灯亮;正常范围的水位时,水泵加水,绿灯亮;高水位时,水泵不加水,黄灯亮。 本设计过程中需要应用到传感技术、单片机技术、 光报警技术以及弱电控制强电的技术。 1.4设计意义 水是一种宝贵的资源,在生产生活中,水也是不可或缺的,在生产中需要对水位进行控制,防止浪费或者不够用,这是就需要对水位进行控制,如果使用专职人员来对水位进行控制,既不能够进行精确控制,又不能保证长时间控制,是极大的浪费人力物力,如果使用单片机来控制水位的话,则是极大的节约了人力物力,而且满足工业生产中的安全,可靠,简单等需求。 2总设计 2.1设计的技术要求 1、利用单片机STC90C516RD+实现对水塔进行水位的控制——单片机技术; 2、把水位探测传感器探得水塔中的水位送给单片机以实现对水泵抽水系统的控制——传感技术; 3、设计光报警显示系统电路,采用发光二极管来表示系统出现故障时的情况——光报警技术; 4、水泵加水电路由继电器进行控制——弱电控制强电技术; 5、分析工作原理,绘出系统结构原理图及流程图。 2.2应解决的主要问题 1、高新技术的应用,应该充分利用先进的传感器技术、计算机技术、通讯技术于一体,采取多种高新技术的集成。 2、产品的系列化,应该注重系统的集成,不仅着眼于单机,更注重系列、通用集成。未来的检测控制仪将由传感器,采集系统,通讯系统等部分组成,各部分相互独立而又通用。 3、注重性价比,在重视高档仪器开发的同时,更应该降低设备研发以及生产的成本。 4、研发准则发生变化,不应该一味的追求高精尖,而应该将研发转为“恰到好处”。 5、水位检测控制有些时候是需要在非常恶劣的环境条件下工作的,所以要严格控制各个生产环节,提高产品的质量保障。 2.3设计原理 本设计的原理是利用水位高度传感器将水位的高度数据返回给单片机,然后单片机根据水位高度在某个设定好的I/O口输出一个低电平信号,通过三极管放大后,控制光电耦合器,在驱动继电器就可以对电机的开关进行调节了,用以实现对水位的控制。在出现系统报错的状况后,单片机关闭电机,输出两个低电平信号驱动LED灯和蜂鸣器对现场工作人员进行报警,提示他们系统出现问题,应该尽快解决问题。在外接多功能数据采集仪器以后,可以将现场的数据,如实时水位,两个电机的工作状态,实时进水流量,实时出水流量等众多数据通过无线或者有线的网络传输,传送到远端的监控室。这样就可以通过远程的电脑主机看到工业现场的设备运行状况以及进行控制了。 2.4方案选择 方案一:方案一的数据采集方式如图2-1所示 图2-1 方案一:利用DTU进行远程数据采集 这种方案是利用DTU将多功能数据采集仪器采集上来的水位高度,电机工作状态,流入流出流量等信息传送到远端的监控主机上,数据采集仪器和DTU用RS485双绞线连接,采集的数据通过GPRS网络或者3G网络传送到远端的3G路由器上,监控主机再使用TCP/IP协议从3G路由器上获取数据。监控主机上面应该安装组态软件,这样可以将采集的数据实时显示出来,并可以在主机的硬盘中储存水位监测系统的历史运行记录。 方案二:方案二的数据采集方式如图2-2所示 图2-2 利用主机从机的C/S架构进行远程数据采集 这种方案是利用远端的监控主机和现场设备的监控从机之间进行C/S架构而完成的远端数据传输,考虑到一些现场可能存在的地区较为偏远,监控从机的联网所需金额巨大,且C/S架构的后期运行维护成本较高,所以一般不考虑此方案。 本设计中,远端数据采集检测控制选择方案一。 2.5给定参数 在系统出现故障而发生报警时,发光二极管的亮与灭的时间蜂鸣器响铃; 水位高度传感器通过A/D转换模块连接到单片机上; 水泵的电机的供电部分,我们接入+9V直流电源; 为了防止经三极管放大后的电流即发射级的电流讲光电耦合器中的二极管烧坏,在此处之路中加入一个51Ω的电阻; 继电器通过光耦和单片机连接用于接收断开、闭合的信号,从而可以在另一端控制水泵的启动、停止; 在远端的监控主机上,可以显示出实时水位高度,水泵的工作状态,以及以报表和曲线的形式把水位高度和时间的关系进行显示,以及历史记录的查询。 2.6整体方案设计 在前面我已经说明了本设计的原理,方案的选择。接下来就是整体设计的方案思路了。 首先是将压力式液位传感器经过A/D转换模块连接到单片机上,这样单片机就可以准确的读出压力的大小,根据压力的大小单片机就可以确定水位的高度,这样的好处就是可以避免使用简易的三块铜片采集数据时所造成的的低水位无电压而高水位处有电压的错误情况、以及准确的确定水位现在的高度情况。 接下来单片机根据所读取的电压值大小来决定是否需要启动或者关闭电机、或者进行水位过低以及水位过低的报警处理。电机的启动与关闭是单片机在一个I/O输出一个信号,经过三极管放大,然后经由光电耦合器控制连接到电机上的继电器来进行控制的,由于电机驱动一般都需要很大的电压,所以在这里使用继电器是对单片机有一个很好地保护作用。同时单片机在经过一个MAX485模块后,可以和DTU连接起来,这样可以使用DTU接收到得远程数据来控制单片机。 在外接一个多功能的数据采集器用来采集现场方面水位和水泵运行状况以及进出水的实时流量等数据,然后经过RS-485双绞线连接到DTU上,将数据传送到远端的监控主机上。 监控主机上的组态软件先将需要采集的数据组态好,然后根据经3G路由器接收到的DTU所传数据,将现场情况反馈到显示器上,并且记录。同时也可以对界面中的一些设备进行调试,这样就可以通过DTU将远在现场的设备进行工作状态的切换了。 设计本身的结构完整,所使用的压力式液位传感器、单片机、多功能数据采集仪器、DTU、组态软件,这些都是非常成熟的产品,已经在国内外大部分重要的工业领域有所建树,安全性、稳定性都非常突出。而且有了组态软件,在遥远的监控室就可以对现场的情况了如指掌,并且免去了人为的记录误差,所有的数据都会自动保存在监控主机的硬盘里;有了DTU就可以免去前往工业现场的劳累,坐在监控室中获得的数据就和在现场获得的数据毫无差别。 最终的设计示意图如图2-3所示。 图2-3 设计示意图 2.7优点和特色 本设计的主要优点是在水位监测控制系统端,充分的利用了单片机的简单可靠,便携易懂。而在远距离传输端,DTU的无线传输功能是一种本设计的一大特色。DTU作为现在最可靠的工业级的远程无线传输模块,可以提供多种方便有利的功能,例如发生故障可以向预先设定好的手机发送短信提示系统发生故障或者DTU的无线传输发生故障。在监控端,通过组态软件可以虚拟出来现场的状况,并且根据主界面上显示出来的图像和数据,对远端现场的情况有所了解,并且可以储存长达10年的历史运行记录,方便随时查看。 2.8创新点 创新的地方在于使用了DTU远程无线通信,可以实现远距离数据传输,短信报警提醒等功能,减少了人为的记录误差。而且在监控室内可以检测工业现场的一些数据,并且可以将数据储存起来,方便随时查阅。并且可以在组态软件上进行一些操作,通过GPRS网络或者3G网络来控制远在工业现场的设备。 2.9系统运行过程可能存在的问题 2.9.1现场数据经过DTU发送后在远程监控室接收不到 1、DTU是否正确设置。 2、DTU内的SIM卡是否欠费。 3、监控室的组态是否正确。 4、监控室的3G路由器是否能正常使用。 5、监控室的固定IP或者绑定的域名时候过期。 3硬件介绍 本设计所需器件主要有:8051系列单片机板(使用芯片STC90C516RD+,单片机板集成蜂鸣器)、微型水泵一个、光电耦合器4N25一个、12V微型继电器一个、电路板(4*4cm)一块、直流稳压电源一台、DTU一台(含有GPRS流量的SIM卡一张)、水位高度传感器一台、多功能数据采集器一台(包括检查液位高度、电机工作状态、进水流量、出水流量等)、可以连接网络的计算机一台(安装组态软件)。 3.1光电耦合器4N25 3.1.1工作原理 光电耦合器是一个光作为媒介传输电信号的光电转换电气设备。它是由两个部分组成,包括一个光源和一个光的接收装置。光源和受光组件彼此之间用透明绝缘体隔离在相同的密封壳体内的。光源的两个引脚一个作为光的输出端另一个作为一个输入端管脚,一个共同的发光源是发光二极管,光到光电二极管,光电晶体管,等等。光电耦合器的输入端上的信号,使所述光源发射的光强度取决于励磁电流的大小,此入射光包后,由于光电效应产生的光电流输出由所述光接收设备信息的光接收装置一起,从而使电光源,电源进行转换。从而完成耦合。 图3-1 光耦4N25实物图 3.1.2主要性能 经济型光电耦合器; 晶体管输出光电耦合器; 满足所有JEDEC注册规格; C-E饱和电压(Ic=2mA,If=5mA):0.15V(typ); 隔离电压(f=60Hz,t=1):7500(交流峰值); 隔离电阻(V=500V):10″Ω(min); 隔离电容(V=0V,F=1MHz):0.25pF(typ)。 3.1.3引脚图和引脚名称 光电耦合器4N25的功能框图如3-2所示 图3-2 光电耦合器4N25的功能框图 3.1.4极限参数 发光二极管反向电压:3V; 发光二极管正向电流:60mA; 发光二极管功耗(Ta=25℃):120mW; 输出晶体管C-E电压:30V; 输出晶体管C-B电压:70V; 输出晶体管集电极电流:150mA; 输出晶体管功耗(Ta=25℃):150mW; 隔离电压(60Hz,1s):7500V; 光电耦合器的功耗:250mW; 贮存温度:-55℃~+150℃; 引线焊接温度(10s):260。 3.2单片机芯片STC90C516RD+ 3.2.1芯片简介绍 STC90C516RD+单片机是由宏晶科技推出的全新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。 图3-3 STC90C516RD+实物图 3.2.2芯片STC90C516RD+引脚 芯片SCT90C516RD+的引脚如图3-4 所示 图3-4 芯片STC90C516RD+引脚示意图 3.2.3主要性能 1.增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 CPU 2.工作电压:5.5V - 3.8V(5V 单片机)/3.8V - 2.4V(3V 单片机) 3.工作频率范围:0-40MHz,相当于普通8051的 0~80MHz. 4.用户应用程序空间 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字节 5.片上集成 1280字节/512/256字节 RAM 6.通用I/O口(35/39 个),复位后为: P1/P2/P3/P4 是准双向口/ 弱上拉(普通8051 传统I/O 口) P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器 / 仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序3 - 5 秒即可完成一片 8.EEPROM 功能 9.看门狗 10.内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位电路,复位脚可直接接地。 11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用 12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒 13.通用异步串行口(UART),还可用定时器软件实现多个UART 14.工作温度范围:0-75℃/-40-+85℃ 15.封装:LQFP-44,PDIP-40,PLCC-44 3.3电磁继电器 继电器室当时入量(如电压、电流、温度等)达到规定值时,是被孔子的输出电路导通或断开的电器。它可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。继电器具有动作快,工作稳定,使用寿命长,体积小等优点。付昂反应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。 图3-5 电磁继电器实物图 3.4蜂鸣器 蜂鸣器是一种一体化结构的点知讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中,用做发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母H或者HA表示。本设计中采用的是其中的电磁式蜂鸣器。电磁式蜂鸣器有振荡器、电磁线圈、磁铁、震荡膜片以及外壳等组成。接通电源后,振荡器产生的音频限流信号通过电磁线圈,是电磁线圈产生磁场。震动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。 3.5远程通信模块DTU DTU (Data Transfer unit)全称数据传输单元,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备。 工作方式,首先将DTU通电,DTU启动后会读取自身Flash里的参数,例如GPRS拨号参数,串口波特率,数据中心IP地址等,然后会连接无线网络,获得一个随机分配的IP地址,由于是随机分配的IP地址,所以只能是由DTU在网络中寻找监控主机,而不能是由监控主机主动寻找DTU。这里需要特别说明的是,监控主机必须要有一个固定的IP地址,或者绑定了一个域名,不然DTU就无法找到监控主机了,也就是说DTU就无法发送现场的数据。当DTU和监控主机进行了连接之后,DTU就会将传感器传上来的串口数据封装在TCP/UTD包里,发送给监控主机,反之,如果DTU收到由监控主机发来的TCP/UTD包时,会从中读取串口数据,传送给现场的单片机,这样就可以进行远程的控制了。 图3-6 DTU实物图 3.6液位高度传感器 液位传感器(静压液位计/液位变送器/液位传感器/水位传感器)是一种测量液位的压力传感器.静压投入式液位变送器(液位计)是基于所测液体静压与该液体的高度成比例的原理,采用国外先进的隔离型扩散硅敏感元件或陶瓷电容压力敏感传感器,将静压转换为电信号,再经过温度补偿和线性修正,转化成标准电信号(一般为4~20mA/1~5VDC)。 图3-7 压力式液位高度传感器实物图 4组态软件 4.1组态概况 组态软件,又称组态监控软件系统软件。译自英文SCADA,即 Supervisory Control and Data Acquisition(数据采集与监视控制)。它是指一些数据采集与过程控制的专用软件。它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。 国内外的组态软件主要有:In Touch、IFix、Citech、WinCC、A SPEN-tech、北京亚控组态王、北京三维力控、南京九思易易控、昆仑通态MCGS、世纪星、紫金桥等。本设计中选用的组态软件是北京三维力控。 4.2组态设计 运用组态软件是为了让设计整体具有可视化、通俗化、简单化等功能。 1.图4-1所展示的就是本设计组态以后的首页,上面以动画形式形象的展现了工业现场进出水的状态,标注了两个水泵的开关状态,水罐中液位的高度,以及向报表和曲线跳转的增强型按钮。 图4-1 本设计组态的主界面 2.图4-2所展示的就是报表的页面,通过左上角的一个名为时间设定的增强型按钮进行设定以后,我们可以在弹出的窗口中设置需要查询的时间段以及时间的间隔,点击确定以后就会出现设定时间内的数据了。 图4-2 报表的查询 3.如图4-3所示,报表所采集的数据可以转化为多种其他格式的文件保存起来,例如Excel、TXT等等,本设计中以将报表转为Excel所支持的xls文件为例。点击存为Excel按钮后,会弹出一个提示输入文件名的窗口,还可以选择储存的位置,相当方便。 图4-3报表转存为xls文件 4.图4-4所示的是打印报表时的状态,其功能是可以设置打印是的各种参数,可以选择的选项有:打印内容、打印机的选择、纸张的大小、页眉页脚以及页边距、表首表尾的标注以及表页选项,多功能的打印方式为直观的查看报表提供了强大的保障。 图4-4打印报表功能 5.图4-5所展示的则是附加在报表页面中的报警部分,需要报警的数据在组态时就先选择好,在系统运行时如果有某项数据达到了报警上限或者下限的话,则会在报警页面显示报警,并伴随声音报警,如果处理了报警的话还可以在历史报警中查询到过去的所有的报警情况,报警情况和报表一样,如果硬盘空间足够大的话,可以保存很多年。报警查询也有自带的打印功能,可以将一段时间范围内的报警显示出来并进行打印。 图4-5报警查询页面 6.图4-6所示的是水位高度的多功能数据曲线,可以直观的看到水位高度的实时变化情况和历史水位变化情况,并且可以更改曲线窗口内的时间取值范围和高度取值范围,更方便快捷的查看出水位在某个时间段内的变化情况,而且水位趋势曲线的历史记录查询和报表的查询时间是相同的,也就是说,报表的数据能保存多久,趋势曲线就可以查看多久前的趋势变化。 图4-6多功能趋势曲线 5软件设计 5.1Keil软件 Keil 软件是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。具有方便易用的集成环境和强大的软件仿真调试工具。 Keil软件生成的目标代码的效率特别高,大部分语句生成的汇编代码紧凑,容易理解。与汇编语言相比,C语言在其功能上、结构性上、可读性上以及可维护性上都有明显的优势,因而易学且易用。 5.2程序方框图 图5-1 程序流程图 5.3程序设计 首先经过了对设计的分析,我们明确了我们需要单片机所实现的功能,需要有一个I/O口来接收液位高度的数值大小,因为传感器所传回来的模拟信号单片机无法识别的,所以经过一个A/D转换模块将模拟信号转为数字信号单片机就可以读出液位高度的大小了,我们可以根据液位高度的大小来决定是否控制水泵的启动。 5.4I/O口的分配 由于种种原因,没有压力式液位检测仪的情况下,只能利用三个金属导体粗略的测试水位的高度,所以设置了一个高水位一个低水位两个输入端。在程序开始前要先对各个I/O口进行任务分配。 #include "reg51.H" sbit p10=P1^0; //定义各个IO口 sbit p11=P1^1; sbit cz1=P1^2; sbit cz2=P1^3; sbit led=P1^4; sbit buzz=P1^5; 5.5子程序 5.5.1延时子程序 程序中有几个地方需要用到延时程序,所以我们要撰写延时程序的代码。蜂鸣器的声音高度和频率有关,所以还需要设置一个500us的延时和一个250us的延时可以使蜂鸣器交替发出高低两种音调的报警声来提示我们系统出现故障。 1、延时1s的子程序 void delay1s() //延时1s函数 { unsigned char i; for(i=0;i<0x14;i++) //循环20次 { TH0=0x3c; TL0=0xb0; //定时50ms TR0=1; while(!TF0); TF0=0; } } 2、延时500us的子程序 void delay_500us(void) //500us延迟函数,用于产生1KHZ信号喇叭 { unsigned char a,b; for(b=71;b>0;b--) for(a=2;a>0;a--); } 3、延时250us的子程序 void delay_250us(void) //250us延迟函数,用于产生2KHZ信号喇叭 { unsigned char a,b; for(b=19;b>0;b--) for(a=5;a>0;a--);} 5.5.2报警子程序 编写好了蜂鸣器音调的两个延时,我们就可以把延时运用到报警的子程序里了,下面的程序就是报警的子程序。 void laba() //喇叭报警函数 { uinti=0; //定义一变量,用于控制喇叭响的时间 while(1) {while(i<=2000) //1KHZ响1S {delay_500us(); //延迟500us buzz=~buzz; //喇叭驱动位取反 i++; //取反次数加1 } i=0; //清时间控制变量 while(i<=4000) //2KHZ响1S {delay_250us(); //延迟250US buzz=~buzz; //喇叭驱动位取反 i++; //取反次数加1 } i=0; //清时间控制变量 } } 5.5.3初始化子程序 如果在系统运行的开始阶段没有进行初始化的话,有可能会出现系统运行不正常的情况,所以我们编写一段初始化的程序来避免这种情况的发生。 void init() //初始化 { P1=0x08; delay1s(); } 5.4主程序 主程序里首先要做的就是初始化,然后单片机根据高低两个水位监测端口的电平输入情况来分析应该做出何种反应,是应该启动电机还是关闭电机,亦或是启动报警子程序。这里高低两个端口的电平情况共有4种可能,所以我们使用IF语句来进行跳转。 void main() { init(); delay1s(); while(1) { if(p10==0 && p11==0) //如果B无水C无水 启动 { cz1=1; cz2=0; delay1s(); } else if(p10==0 && p11==1) //如果B无水C有水 故障 { cz1=0; cz2=0; led=0; laba(); delay1s(); } if(p10==1 && p11==1) //如果B有水C有水,停机 { cz1=0; cz2=1; delay1s(); } else if(p10==1 && p11==0) //如果B有水C无水 继续 { delay1s(); } } } 最终的整体程序被放在了附录中。 6结论 本设计采取了远程传输数据的技术,可以将工业现场的水位检测控制系统中的实时水位,电机工作状态,入水流量,出水流量等一些数据,实时反馈在远程的监控主机上,并将数据记录到监控主机的硬盘上,以供以后查询。 参考文献 [1] 李全利.《单片机原理及接口技术》[M].高等教育出版社,2009 [2] 彭伟.《单片机C语言程序设计实训100例:基于8051+Proteus仿真》[M].北京:电子工业出版社,2009 [3] 李海滨, 片春媛, 许瑞雪.《单片机技术课程设计与项目实例》[M].北京:中国电力出版社,2009 [4] 倪志莲.《单片机应用技术》(第二版)[M].北京:北京理工大学出版社,2010 [5] 李广弟等《单片机基础》[M].北京航空航天出版社,2001. [6] 王东峰等《单片机C语言应用100例》[M].电子工业出版社,2009. [7] 陈海宴《51单片机原理及应用》[M].北京航空航天大学出版社,2010. [8] 刘守义等《单片机技术基础》[M].西安电子科技大学出版社,2007. [9] 钟富昭等《8051单片机典型模块设计与应用》[M].人民邮电出版社,2007. [10] 李平等《单片机入门与开发》[M].机械工业出版社,2008. 谢 辞 四年的大学生活马上就要结束了,特别是完成这篇论文后,我心里更多的是对大学生活的感慨。 首先,我想感谢北京理- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 水位 检测 控制系统 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文