毕业设计-单容水箱液位检测仪设计.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《毕业设计-单容水箱液位检测仪设计.docx》由会员分享,可在线阅读,更多相关《毕业设计-单容水箱液位检测仪设计.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单容水箱液位检测仪设计摘要随着微电子工业的迅速开展,单片机控制的智能型控制器广泛应用于 电子产品中。本系统采用单片机STC89C51为控制核心来实现水位的基本控制功 能。系统由键盘、LCD12864. PCF8591.液位传感器LM1042.电源和 控制局部组成。系统从硬件电路设计,软件与上位机软件设计等几个方面 介绍了基于单片机的单容水箱液位检测仪设计过程,给出相应的软件设计 流程图和C语言程序以及原理图,并用keil软件编程仿真。最终实现了液 位的实时测量与监控。系统可根据需要设定水位控制的高度,同时具备超限报警和故障报警 功能,具有良好的检测控制功能。关键词:STC89C51 ; LCD
2、12864显示;液位检测3. 3液位传感器设计在LM1042传感器电路中,7脚和10脚主要用于对探针2的调整, 由于本系统只用到探针1 ,故可将7脚和10脚直接接地;1脚是热阻探 针输入端;5脚为探针故障端;6脚是电源端;3、4脚分别接PNP管的 发射极和集电极用于给探针提供200MA的固定电流;16脚为模拟电压 输出端,输出与液位成正比的模拟电压;12、13脚用来调整探针的测量 周期;9、14脚外接两个电容作为探针的记忆电容,记忆探针的电压值。 如图3.3是LM1042的外围电路连接图1 41 11 41 1C9 moxnvBEASROMEA p MGNDSUP VREG MEMCPRBRE
3、F PNPBSR1C C7=pf 10K - GNB30S0 1H1SRU IKGNDGNB GNB图3.3 LM1042外围电路图3. 4 AD转换单元硬件设计AD转换模块是系统中较为重要的一局部,由于涉及到模拟局部,AD转换器的结构较为复杂,如图3.4是本设计中AD转换电路图。vccvccvccGNB GND图3.4 AD转换电路图上图中网络标号SDA和SCL接到单片机的弓脚上,PCF8591的3个 地址引脚AO, A1和A2接到地上,4个模拟通道选其中一个通道作为采集 数据用。3. 5其他电路及系统PCB图蜂鸣器的作用,蜂鸣器是一种一体化结构的电子讯响器,采用直流电 压供电,广泛应用于计
4、算机、打印机、复印机、报警器、电子玩具、汽车 电子设备、 机、定时器等电子产品中作发声器件。蜂鸣器电路设计时 需加一个NPNMOS管来驱动蜂鸣器。设计电路如图3.5。根据原理图画 出如图3.6所示系统PCB图。VCCQ1NPNR7VCC|IZZ4.7KB1P1.0图3.5蜂鸣器电路图图3.6系统PCB图第4章软件设计4.1系统软件设计8051系类单片机共拥有111条系统指令,可实现51种基本操作。然而汇编语言指令却有程序的可读性低,程序开发人员的开发时间长与开 发难度大,程序移植性差等缺点。C语言是一种编译型程序设计语言。它 兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目 标
5、系统软件程序,会大大缩短开发周期,增加软件的可读性,便于改进和 扩充。用c语言进行51系列单片机程序设计是单片机开发与应用的必然 趋势。keilC51开发工具套件可用于汇编C语言程序、汇编源程序,链接 和定位目标文件和库,创立HEX文件以及调试目标程序。本设计使用KeilC51|jVision5为开发编译环境,使用C语言编写程序,实现各模块功 能设计。系统主程序的功能主要是完成对单片机的初始化,设置警戒液位 的上下限,实时显示液位值以及键盘扫描等工作。如图4.1程序流程图。图4.1系统程序流程图4. 2各模块程序分析 4. 2.1主程序设计每个程序都是从main函数的起点开始执行,这意味着每个
6、程序都必 须在某个位置包含一个main函数。下面给出本次设计的主程序:void main( void )(Init_ST7920();while( 1)(DisplayllpdataO;if(!KEY_ADD)(DelayMs(5);if(!KEY_ADD)(while(!KEY_ADD);(num L2 + +;if(num_L230)num_L2=20;)if(!KEY_DEC)(DelayMs(5);if(!KEY_DEC)(while(!KEY_DEC);(num L2;if(num_L2num_L2) (bee=!bee;)LCD_POS(2,0);i=0;while(dis2i!=
7、0)(Write_Data(dis2i);i+;DelayMs(50);)4. 2. 3 A/D转换程序设计本设计采用PCF8591 , PCF8591片内有控制寄存器,单片机通过向 该寄存器写入控制字来控制A/D和D/A转换,为此在转换之前要进行写 控制字传送。操作过程中,在PCF8591接收到的每个应答信号的后沿触 发A/D转换,随后就是读出转换结果,但读出的是前一次的转换结果。 所以读数据0是一次无效的操作。控制字节用于实现器件的各种功 能,如模拟信号由哪几个通道输入等。控制字节存放在控制寄存器中,总 线操作时为主控器发送的第二字节。其中:DI、D0两位是A/D通道编号:00通道0 ,
8、01通道1,10通道2,11 通道3 ,自动增益选择(有效位为1)。D5、D4模拟量输入选择:00为 四路单输入、01为三路差分输入、10为单端和差分配合输入、11为模拟 输出有效。当系统为A/D转换时,模拟输出容许为0.模拟量输入选择位取值由 输入方式决定,四路单输入时取00 ,三路差分输入时取01 ,单端与差分 输入时取10 ,二路差分输入时取11.最低两位时通道编号位,当对0通道 的模拟信号进行A/D转换时取00 ,当对1通道的模拟信号进行A/D转换 时取01 ,当对2通道的模拟信号进行A/D转换时取10 ,当对3通道的 模拟信号进行A/D转换时取11。在进行数据操作时,首先是主控器发出
9、起始信号,然后发出读寻址字 节,被控器做出应答后,主控器从被控器读出第一个数据字节,接收器发 出应答,主控器从被控器件读出第二个数据字节,一直到主控器从被控器 中读出第n个数据字节,接收器发出非应答信号,最后主控器发出停止信 号(启动和停止信号只能由主控器件发出)。12c总线基本数据传输格 式。12c总线上的数据传输按位进行,高位在前,低位在后,每传输一个 数据字节通过应答信号进行一次联络,传送的字节数不受限制。启动信号由主控器件发出,在发出启动信号前,主控器件要通过检测 SCL和SDA来了解总线情况。假设总线处于空闲状态,即可发出启动信 号,启动数据传输。在启动信号之后发出的必定是寻址字节,
10、寻址字节由 7位从地址和1个方向位组成。其中从地址用于寻址从器件,而方向位用 于规定数据传输方向。寻址字节通常写为SLA+R/W,其中R代表读,W 代表写。R/W=l时,表示主控器件读(接收)数据;R/W=0时,表示 主控器件写(发送)数据。所以通过寻址字节即可知道要寻哪个器件以及 进行哪个方向的数据传输。当主控器件发出寻址字节后,其他各器件都接收到了总线上的寻址字 节,并与自己的从地址进行比拟,当某器件比拟相等确认自己被寻址后, 该器件就返回应答信号,以作为被寻址的响应。此时,进行数据传输的主 从双方以及传输方向就确定了下来,然后进行数据传输。数据传输同样以字节为单位,数据字节传输需要通过应
11、答信号进行确 认。所以每传输一个字节就有一个应答信号,直到数据传输完毕,主控器 件发出停止信号。结束数据传输,释放总线。12c总线的状态和信号:启动信号和停止信号。串行数据传输的开始和结束由总线的启动信号和停止信号控制,启动 信号和停止信号只能由主控器件发出,它们对应的是SCL的高电平与 SDA的跳变。当SCL线为高电平时,主控器件在SDA线上产生一个电平 负跳变时,这便是启动信号,总线启动后,即可进行数据传输。当SCL线 为高电平时,主控器件在SDA上产生一个电平正跳变,这便是总线的停 止信号PCF851局部程序如下:Unsigned char ReadADC(unsigned char C
12、hi)SendByte(AddWr);SendByte(AddWr);unsigned char Vai;Start_I2c();if(ack=O)return(O);SendByte(0x40|Chl); if(ack=O)return(O);Start_I2c();SendByte(AddWr+l); if(ack=O)return(O);Val = RcvByte();NoAck_I2c();Stop_I2c(); return(Val);)KAZI-CBS OQIGC 他 VMKZ 第5章系统测试根据所设计系统的软件流程图,编写相应的程序在Keil软件环境下进 行编程编译。通过制作PC
13、B板子并焊接实物板进行实验测试,实验结果 说明,该系统能成功实现了水位检测、电机故障检测、处理和报警等功 能,具有良好的检测控制功能,可移植性和扩展性强。如图5.1是系统测 试现象,当液位超过所设定的液位值时即L1大于L2时,蜂鸣器会发出声 音报警。注水后的液位为:八Ll=18,2;最大控制液位为:.L2=18)I ASO。喝乐?1;缄黑麟曲5 W V,,砚kW产油8= .图5.1系统测试图目录第1章绪论1第2章课程设计的方案32.1 概述32.2 系统组成总体结构3第3章硬件设计43.1 硬件设计概要4系统硬件电路设计原那么43.1.1 系统硬件选择43.2 单片机最小系统设计73.3 液位
14、传感器电路设计83.4 AD转换单元硬件设计83.5 其他电路及系统PCB图9第4章软件设计114.1 系统软件设计114.2 各模块程序分析12主程序设计124.2.1 显示模块软件设计13A/D转换程序设计14第5章系统测试17第6章课程设计总结18参考文献19附录20第6章课程设计总结设计过程中我遇到了很多的困难,因为知识是不连贯的,所以需要准 备很多方面的知识去融合,去联系。由于在学习的时候更注重的是书面上 的东西,而本次课程设计更多的是锻炼了我们的动手动脑能力,让我们有 机会把课上学习的知识转化为可以在实际生产生活中应用的技术。本次课 程设计的系统主要介绍了水体的液位检测控制,介绍了
15、 STC89c51单片机 在液位控制系统中的应用,介绍了它们的引脚和在系统中的电路图,利用 LCD12864来进行信号的输出显示,我设计的硬件系统的结构简化,系统精 度高,具有良好的人机交互功能,并设有液位报警,有问题立即就能发现。 通过自动调节控制液位并实现水体的液位报警。液位控制在设定值上正常 运行不需要人工干预,操作人员劳动强度小。通过本次课程设计,我了解到自己的知识应该充分利用在实践上,在 实践中把书本上的知识固化成自己的能力。在设计系统的时候也有很多的 想法,但是有一些想法被否认了,最终完成设计的时候优先考虑了在课程 上学习到的知识,并且和单片机、电子电路的知识结合起来。这次设计之
16、后,我感觉到自己在自动化专业上的学习应该还有很长的路走,自动化是 一个很有前途的行业,它涉及了生产生活的多个方面,对人们的影响可想 而知,所以,学好自动化专业的知识不仅仅是对自己能力提升和自我价值 的实现,更是一件很有意义的事,可以让自己有所感触,有所收获的事 业。在最后,我很感谢所有传授我知识的老师,和关心帮助我的同学,正 是在他们的帮助下我才能顺利地完本钱次课设。参考文献1王峰.基于单片机的水位控制系统设计分析J.科技创新与应 2015,07(3):44.2唐灵军,唐杰,谟超,胡斌.基于单片机的水位控制系统设计J.电子设计工 程,2012,08(16):62-64.3唐彬夏,许建明.基于单
17、片机的水塔水位控制系统设计J.电子制 作,2013,02(8):59-61.4吴再群.基于单片机的水位控制系统几电子科技,2013,06(11):80-81.5吴瑞坤,黄铁勇.基于单片机的水位测量及控制电路设计几廊坊师范学院 学报(自然科学版),2013,05(14):51-53.蔡黎.一种基于单片机的水位自动控制系统设计几仪器仪表用 户,2009,04(11):26-27.刀张盛,姜振兵.基于AT89C51单片机的水箱水位检测控制系统设计J.科 技广场,2010,09(9):122-124.8朱昌富.基于单片机的水位监控系统J.宁德师范学院学报(自然科学 版),2012,02(14):169
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 水箱 检测 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内