《毕业设计(论文)基于AT89S51单片机的液位自动控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89S51单片机的液位自动控制系统设计.doc(38页珍藏版)》请在三一办公上搜索。
1、目 录前 言11.自动控制系统概述21.1自动控制系统的应用21.2液位控制在自动控制系统中的应用21.3自动控制技术发展趋势32.系统方案的选择与论证42.1总体方案的设计及系统框图42.2各个功能实现方案论证:52.2.1液位信号采集电路52.2.2 通信部分方案62.2.3其它部分方案63电路硬件设计83.1系统的整体框图832从机部分模块电路设计83.3从机各个模块具体设计93.3.1控制器部分AT89S51芯片93.3.2液位信号采集电路部分123.3.3电磁阀的选择143.3.4电极产生信号处理电路:153.3.5显示部分电路163.3.6按键部分:173.3.7声光报警电路:18
2、3.3.8电源部分194.主机和通讯部分设计204.1主机部分(液位信号的控制单元)204.2通讯部分215.系统软件设计235.1从机程序流程图235.1.1从机主程序流程图235.1.2中断0服务程序流程图245.1.3中断1服务程序流程图255.2主机程序流程图266.抗干扰对策2761硬件抗干扰设计276.2 软件抗干扰设计27结 论28致 谢29参考文献30附 录A 源程序31附 录B 硬件原理图35前 言自动控制系统(automatic control systems)是在无人直接参与下可使生产过程或其他过程按期望规律或预定程序进行的控制系统。自动控制系统是实现自动化的主要手段。近
3、年来,随着自动控制系统在社会生产中的不断应用,大大推进了自动化生产在生产过程中的广泛使用,特别是对于工作环境较差,工作强度较强,或操作要求较高的岗位采用自动控制系统意义尤为显著,可以实现减人提效,提高劳动生产效率,降低生产消耗,实现节能减耗,提高产品质量。液位是许多工业生产中的重要参数之一,在化工、冶金、医药、航空等领域里,对液位的测量和控制效果直接影响到产品的质量。由于单片微型计算机具有体积小,耗电少,控制精度高,运行可靠等的特点,所以广泛应用于生产实际中。本文讨论了一种以AT89S51 为核心研制的液位控制系统,该系统不仅能对液位进行巡回检测、显示和报警,同时也能对液位进行智能控制。以AT
4、89S51单片机为控制核心,采用RS-485串行总线组成的分布式微机控制网络,实现对多点液位的检测和实时显示。 部分采用电极接触式液位检测装置完成对液位信号的采集,根据键盘设定的液位值通过进水阀和出水阀的控制,达到设定的液位值,误差小于等于2mm。从机还具有超限包纪念馆,实时显示当前液位状态和液体重量的功能。 除具有从机功能外,还可以实现多路从站站点液位的检测和控制,能任意设定要查询的从站数量和从站号,本文简化起见,设定从站为1,还能够接收从站的超限报警信号。本文提出了一种基于单片机AT89S51液位自动控制方法,对水位信号做实时测量并与键盘设定值进行比较,通过阀门控制注排水来实现液位的基本恒
5、定,并且是误差保持在2mm,具有跟踪性好,反应能力强等优点。 1.自动控制系统概述1.1自动控制系统的应用随着工业生产和科学技术的不断发展,自动控制技术越来越显示出它的重要性,为人们所瞩目。掌握有关自动控制的知识就显得尤为重要。自动控制系统已被广泛应用于人类社会的各个领域在工业方面,对于冶金、化工、机械制造等生产过程中遇到的各种物理量,包括温度、流量、压力、厚度、张力、速度、位置、频率、相位等,都有相应的控制系统。在此基础上通过采用数字计算机还建立起了控制性能更好和自动化程度更高的数字控制系统,以及具有控制与管理双重功能的过程控制系统。在农业方面的应用包括水位自动控制系统、农业机械的自动操作系
6、统等。 在军事技术方面,自动控制的应用实例有各种类型的伺服系统、火力控制系统、制导与控制系统等。在航天、航空和航海方面,除了各种形式的控制系统外,应用的领域还包括导航系统、遥控系统和各种仿真器。 此外,在办公室自动化、图书管理 、交通 管 理乃至日常家务方面,自动控制技术也都有着实际的应用。随着控制理论和控制技术的发展,自动控制系统的应用领域还在不断扩大,几乎涉及生物、医学、生态、经济、社会等所有领域。1.2液位控制在自动控制系统中的应用液位是许多工业生产中的重要参数之一,在化工、冶金、医药、航空等领域里,对液位的测量和控制效果直接影响到产品的质量。作为自动控制系统的一种测量元素基本上像化工、
7、电力、建材、供热、冶金、水处理等等几乎所有的工业场合都可以应用。应用范围十分广泛。液位自动控制是自动化生产控制的重要环节,为企业经济核算提供准确的数据。在发生事故时,异常参数的显示和记录,是事故分析和故障诊断的依据,据此可提出改进和防范措施。在化工、电力等行业中,如果不随时对生产工艺过程中的液位等参数进行实时测量与控制,生产过程就无法控制甚至发生危险。在交通领域,一辆现代化汽车装备的传感器就有十几种,测量油量压力等。在国防科研中,测量控制用的更多,研究飞机的强度,就要在油箱贴上几十片应变片并进行动态测量,比如测量压力传感器,以便进行对飞机的各项参数进行分析校正,比如每千里油耗,完成不同任务所需
8、油量等。在我们日常生活中,先进的液位测量自动控制系统也得到广泛应用,比如我们经常见到的水箱自注水调节1.3自动控制技术发展趋势工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自动化软件、硬件和系统三大部分。 工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自动化软件、硬件和系统三大部分。工业控制自动
9、化技术作为20世纪现代制造领域中最重要的技术之一,主要解决生产效率与一致性问题。虽然自动化系统本身并不直接创造效益,但它对企业生产过程有明显的提升作用。 我国工业控制自动化的发展道路,大多是在引进成套设备的同时进行消化吸收,然后进行二次开发和应用。目前我国工业控制自动化技术、产业和应用都有了很大的发展,我国工业计算机系统行业已经形成。目前,工业控制自动化技术正在向智能化、网络化和集成化方向发展。2.系统方案的选择与论证2.1总体方案的设计及系统框图液位控制系统是以液位为被控参数的系统,是现代工业生产中的一类常见的、重要的控制过程。而传统的液位控制多采用单回路控制,并采用传统的指针式仪表来显示液
10、位值,使液位控制的精度和显示的直观性受到限制,而随着生产线的更新及生产过程控制要求的提高,要求液位系统有高的控制性能。基于此,本系统就设计了一种电路简单,调试方便且性价比高的系统,来完成液位的自动调控。 当一个有排液出口容器里的液体的液位需要保持在一个范围内时,就可用“液位控制系统”来调控。具体是对容器设定一个上液位、一个下液位。当容器里的液位达到上液位时,控制装置(机械或电子的)控制电磁阀,排液出口通过一段时间的排液,当容器里的液位降到下液位时,控制装置控制电磁阀,液位再缓缓上升。 如果是一个有补液进口容器里的液位需要保持在一个范围内时,控制装置控制电磁阀的动作则相反。系统应具有的功能 :监
11、测液位 液体重量 显示 设定值输入 控制液面高度 意外报警 系统框图如下:图2.1系统框图2.2各个功能实现方案论证:2.2.1液位信号采集电路1. 方案一 采用高精度液位传感器将液位信号转换为电信号,经A/D转换后得到液位信号,但由于高精度的液位传感器的价格偏高,故不采用这种方案。2. 方案二 将压力传感器固定在液体底部,在液体底部检测液底压强和标准大气压的压差,压力传感器输出和液位高度相对应的电压,经A/D转换后由单片机处理获得液位值。这种方法可以达到系统要求的精度,但是由于价格和时间的问题,这种方案也不容易实现。3. 方案三 利用浮体式装置进行测量。将浮体和测量装置相连如装有光电耦合器的
12、特制滑轮,将浮体的上下运动通过测量机构转化为相应的液位信号,考虑到测量机构的机械摩擦阻力和浮体的重量产生的误差达不到题目要求的精度,故不采用这种方法。4. 方案四 自主设计一种电极接触式的液位检测装置,电机带动绳上的电极运动,利用监测电极1、2在液体中和液面上方时与电极3间电阻值的改变,判断液面位置。通过选用合适的电动机、合理安排两电极间的距离可以达到题目要求的测量精度;且所用器件容易获得,价格便宜,故采用这种方案。图2.2接触式液位检测装置2.2.2 通信部分方案 RS232,RS422,RS485是电气标准,主要区别就是逻辑如何表示。 RS232使用12V,0,-12V电压来表示逻辑,(-
13、12V表示逻辑1,12V表示逻辑0),全双工,最少3条通信线(RX,TX,GND),因为使用绝对电压表示逻辑,由于干扰,导线电阻等原因,通讯距离不远,低速时几十米也是可以的。 RS422,在RS232后推出,使用TTL差动电平表示逻辑,就是两根的电压差表示逻辑,RS422定义为全双工的,所以最少要4根通信线(一般额外地多一根地线),一个驱动器可以驱动最多10个接收器(即接收器为1/10单位负载),通讯距离与通讯速率有关系,一般距离短时可以使用高速率进行通信,速率低时可以进行较远距离通信,一般可达数百上千米。 RS485,在RS422后推出,绝大部分继承了422,主要的差别是RS485可以是半双
14、工的,而且一个驱动器的驱动能力至少可以驱动32个接收器(即接收器为1/32单位负载),当使用阻抗更高的接收器时可以驱动更多的接收器。所以现在大多数全双工485驱动/接收器对都是标:RS422/485的,因为全双工RS485的驱动/接收器对一定可以用在RS422网络。主从式多机通信网络可采用RS-232或RS-485。其中RS-485抗干扰性能好,可以延长RS-232的传输距离,而且通过485总线可以放松把多个串口或485设备连成一个网络。由于本系统属于多点通信方式,数据要求双向传输,因此采用连接方便、抗干扰性能好和失真小的RS-485标准。2.2.3其它部分方案利用自制液位计的独特结构,结合单
15、片机对数据进行相应的处理后,控制电机和进水阀出水阀状态实现对液位的相应控制。显示 主机:采用LCD显示键盘控制采用专用键盘/显示专用芯片7279. 从机:采用LED显示 独立按键实现控制。 出现意外采用声光报警LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其贵。特点: 低压微功耗 平板型结构 被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳) 显示信息量大(因为像素可以做得很小) 易
16、于彩色化(在色谱上可以非常准确的复现) 无电磁辐射(对人体安全,利于信息保密) 长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为10:1,而且更高的刷新速率使得LED在视频方面有更好的性能表现,能提供宽达160的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DVD等彩色视频信号,多幅显示屏还可以进行联网播出。有机LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,在强光下也可以照看不误,并且
17、适应零下40度的低温。利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,拥有广泛的应用前景。 另一个角度说: 完全不一样的概念,LED是发光二极管属于二极管的一种,lcd是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低专用键盘/显示专用芯片7279.HD7279A是一片具有串行接口的,可驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。 产品特点: 串行接口,无需外围元件可直接驱动LED 各位独立控制译码/不译码及消隐和闪烁属性 (循环)左移
18、/(循环)右移指令 具有段寻址指令,方便控制独立LED 64键键盘控制器,内含去抖动电路 有DIP和SOIC两种封装形式供选择3电路硬件设计3.1系统的整体框图图3.1 系统总体框图 系统的主要部分有:a) 中央处理器电路:主站采用Atmega64单片机系统,从站采用AT89S51单片机系统。主站从站之间通过RS-485总线进行数据通信。b) 人机接口电路:从机和主机都配备了按键和显示电路c) 信号处理线路:液位检测电路和液位控制电路d) 报警电路:包括 蜂鸣器 状态指示灯e) 电源电路: +5V +12V直流电源32从机部分模块电路设计电磁阀液位控制驱动8051从机1液位检测点数码显示键盘电
19、路RS-485接口电路声光报警主机图3.2从机部分模块框图3.3从机各个模块具体设计3.3.1控制器部分AT89S51芯片AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。主要性能特点1、4k Bytes Flash片内程序存储器; 2、128 b
20、ytes的随机存取数据存储器(RAM); 3、32个外部双向输入/输出(I/O)口; 4、5个中断优先级、2层中断嵌套中断; 5、6个中断源; 6、2个16位可编程定时器/计数器; 7、2个全双工串行通信口; 8、看门狗(WDT)电路; 9、片内振荡器和时钟电路; 10、与MCS-51兼容; 11、全静态工作:0Hz-33MHz; 12、三级程序存储器保密锁定; 13、可编程串行通道; 14、低功耗的闲置和掉电模式。 图3.3 AT89S51管脚图管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被
21、定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输
22、入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功
23、能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P
24、3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略
25、微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 另外还增加了一
26、片24C04来保存数据。24C04是基于I2C总线的串行E2PROM,存储容量512个字节,它占用单片机资源很少,仅占用两根I/O线,数据一旦写入可保存100年,避免了普通RAM掉电保护的麻烦,非常适合于各类仪器仪表和控制装置的参数保存。3.3.2液位信号采集电路部分图3.4电极接触式液位检测装置这套装置主要由步进式电动机、定滑轮和五个电极组成。电动机选用了42BYG028型号的步进式电动机。工作原理如下:1. 系统开机后,由单片机控制首先进行液位参考零点的自动校准,具体过程:首先控制电动机逆时针旋转,使电极1和电极2的中心位置达到参考零点,如图显示。与此同时,触点使行程开关闭合,产生脉冲信号
27、,单片机接受到信号,使存储电机转动步数的单元清02. 接着自动检测初始液位,过程如下:分析电极1和电极2的可能状态,初始液位检测过程分为以下两种情况:(1) 初始液位在参考零点一下,即电极1没有没入液体中,或是电极1与电极2都没有没入液体中,当单片机检测到这种状态的时候,便控制进水阀自动加水使液位达到上一次检测液面时所存储的液面值,同时控制电机转动使电极1与电极2的中心店上升到此时液位的位置,此时液位的位置就是初始液位的位置。(2) 初始液位高于参考零点,即电极1与电极2都没入液体中,此时单片机控制电动机顺时针旋转,带动电极1和电极2上升,并同时记录电动机转动的步数,当达到电极1被拉出液面,电
28、极2还在液体状态时,单片机控制电机停止转动。通过电机所转的步数得出初始的液位值。计算过程如下:电动机转动一周的周长为Xcm,运行1步转动1.8度,则转动1步所经过的距离为:Y=(1.8/360)*X cm设转动步数为N,则: 初始的液位值H0=N*Y +校正值(3) 自动控制液位达到设定值并实时显示液位的过程:假设设定的液位高度为B,初始高度为A,且BA,即设定的液位的高度高于初始的液位值。当液位B被设定以后,首先要计算电极所要转动的步数: N=(B-A)/Y ,存储在单片机相应的存储单元。单片机对进水阀发出控制信号,开始加水,同时控制电动机顺时针旋转一步,随即停止转动,判断并等待电极1是否被
29、上升的液面淹没。当单片机检测到电极1被液面淹没时,控制电极转动第二下,电极1再次被拉出水面,单片机继续等待电极1被淹没。电动机转动N步时,当前液位值为:当前液位值H=初始液位值A+Y*N ;单片机计算并显示。这样液面不断升高,当电机转过N步时,即液位高度达到所设定的液位高度时,电动机停止转动,关闭进水阀,完成这个过程。当时,即设定的液位值低于初始的液位值的时候,单片机通过检测电极的状态来控制电动机,过程原理与BA时相同。根据题目所要求设定的精度,电极电极,的距离设定为,电动机的步距应小于精度为2mm。根据检测的液位值,可以通过单片机计算当前液体的重量并显示。计算过程:设容器的底面积为,为一固定
30、值,当前检测到的液位值为,则:液体当前的重量液体密度()3.3.3电磁阀的选择电磁阀是用电磁控制的工业设备,用在工业控制系统中调整介质的方向、流量、速度和其他的参数。电磁阀是用电磁的效应进行控制,主要的控制方式由继电器控制。这样,电磁阀可以配合不同的电路来实现预期的控制,而控制的精度和灵活性都能够保证。电磁阀有很多种,不同的电磁阀在控制系统的不同位置发挥作用,最常用的是单向阀、安全阀、方向控制阀、速度调节阀等。电磁阀控制电路图3.5电磁阀控制电路电磁阀的主要特点 (1)外漏堵绝,内漏易控,使用安全。内外泄漏是危及安全的要素。其它自控阀通常将阀杆伸出,由电动、气动、液动执行机构控制阀芯的转动或移
31、动。这都要解决长期动作阀杆动密封的外泄漏难题;唯有电磁阀是用电磁力作用于密封在电动调节阀隔磁套管内的铁芯完成,不存在动密封,所以外漏易堵绝。电动阀力矩控制不易,容易产生内漏,甚至拉断阀杆头部;电磁阀的结构型式容易控制内泄漏,直至降为零。所以,电磁阀使用特别安全,尤其适用于腐蚀性、有毒或高低温的介质。 (2)系统简单,便接电脑,价格低谦。电磁阀本身结构简单,价格也低,比起调节阀等其它种类执行器易于安装维护。更显著的是所组成的自控系统简单得多,价格要低得多。由于电磁阀是开关信号控制,与工控计算机连接十分方便。在当今电脑普及,价格大幅下降的时代,电磁阀的优势就更加明显。 (3)动作快递,功率微小,外
32、形轻巧。电磁阀响应时间可以短至几个毫秒,即使是先导式电磁阀也可以控制在几十毫秒内。由于自成回路,比之其它自控阀反应更灵敏。设计得当的电磁阀线圈功率消耗很低,属节能产品;还可做到只需触发动作,自动保持阀位,平时一点也不耗电。电磁阀外形尺寸小,既节省空间,又轻巧美观。 (4)调节精度受限,适用介质受限。电磁阀通常只有开关两种状态,阀芯只能处于两个极限位置,不能连续调节,(力图突破的新构思不少,但还都处于试验试用阶段)所以调节精度还受到一定限制。 电磁阀对介质洁净度有较高要求,含颗粒状的介质不能适用,如属杂质须先滤去。另外,粘稠状介质不能适用,而且,特定的产品适用的介质粘度范围相对较窄。 (5)型号
33、多样,用途广泛。电磁阀虽有先天不足,优点仍十分突出,所以就设计成多种多样的产品,满足各种不同的需求,用途极为广泛。电磁阀技术的进步也都是围绕着如何克服先天不足,如何更好地发挥固有优势而展开。3.3.4电极产生信号处理电路: 见图,当电极1没入水中时,电极1与电极3之间的电阻较小,经电压比较器后产生了一个高电平:电极1在水面上时,电极1与电极3之间的电阻较大,经电压比较器后产生一个低电平:电极2工作原理与电极1 相反 图3.6电极信号处理电路其中,当电极1和电极3电阻较小即产生高电平,电阻较大时产生低电平传送给中央处理器即单片机AT89S51的P3.2口,即前文所述的外部中断0口,产生中断0.由
34、单片机产生中断服务程序0,控制电磁阀1的开闭。 当电极2和电极3电阻较小是产生高电平,电阻较大时产生低电平传送给电阻较大时产生低电平传送给中央处理器即单片机AT89S51的P3.2口,即前文所述的外部中断1口,产生中断1,由单片机产生中断服务程序1,控制电磁阀,2的开闭。 由电极信号产生电路产生的信号通过单片机AT89S51的中断处理控制两个电磁阀即进水阀和出水阀的开闭,从而达到控制液位的功能。3.3.5显示部分电路从机部分的液位设定的高度值的显示和液位高度的显示部分采用了共阴极数码管。通过单片机模拟串口,使用串入并出芯片74HC595进行静态扫描。电路如图图3.7显示部分电路图74HC595
35、是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHcp的上升沿输入,在STcp的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。 8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态3.3.6按键部分:采用了六按键独立式键盘 S
36、1S6各键功能依次为:加键、减键、光标左移键、光标右移键、确定键。其中,每个键对应I/O端口的一位,没有键闭合时,各位均处于高电平。当有一个键按下时,就使对应位接地成为低电平,而其他位仍为高电平。这样,CPU只要检测到某一位为“0”,便可判别出对应键已经按下。这种键盘有一个很大的缺点,就是当键盘上的键较多时,引线太多,占用的I/O端口也太多,所以,只适用于仅有几个键的小键盘图3.8按键部分电路图独立按键电路使6个按键分别对应AT89S51单片机上的P2.0-P2.5口,简单方便实用,并且易于单片机即中央处理器的识别。3.3.7声光报警电路:当液面高度大于25cm或小于2 cm时,系统发出信号使
37、V2出现高电平,触发蜂鸣器报警装置,蜂鸣器发出响声。 报警电路图如下:图3.9声光报警电路图由单片机AT89S51即中央处理器判断到当液面高度大于25cm或小于2 cm时,由单片机的P0.5口输出到外部的声光报警电路,通过声光报警电力使蜂鸣器产生振动达到报警效果本设计采用的声光报警电路简单实用。3.3.8电源部分稳压电源(stabilized voltage supply)是能为负载提供稳定交流电源或直流电源的电子装置。包括交流稳压电源和直流稳压电源两大类。根据题目要求需要,本文设计了+5V、+12V两种稳压电源。虽然本设计中的器件耗电量比较低,可以采用蓄电池供电,但考虑到工业现场的实际应用,
38、采用了由220V交流电经过变压、整流、滤波后给系统供电的方案。如图:图3.10电源部分电路图4.主机和通讯部分设计4.1主机部分(液位信号的控制单元)主控机部分能任意设定要查询的从站数量、从站号、和各个从站的液位讯息。收到从站的报警信号后,能声光报警并显示相应的从站号,并自动调整从站液位到20CM的指定高度。系统框图如图:ATMEGA64LCD液晶显示电路报警电路7279键盘电路RS-485接口电路从机图4.1主机部分框图主机显示屏采用240*128图形点阵液晶显示模块,控制芯片T6963C,和单片机并行接口。键盘部分设计采用串行键盘管理芯片HD7279A,HD7279A是一片具有串行接口的,
39、可驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。内含去抖电路。4.2通讯部分4.2.1硬件接口电路设计:通讯采用RS-485总线接口电路,实现了与主机的数据通讯。RS-485标准接口为差分驱动方式,信号的传递是通过驱动器把逻辑电平变换为电位差进行传递,具有高传递速度,远距离传输,抗干扰能力强的特点。电平的转换采用驱动芯片。RS485采用差分信号负逻辑,2V6V表示“0”,- 6V- 2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线
40、制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7+12V,只有满足上述条件,整个网络才能正
41、常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。(2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。接口电路如图:图4.2 RS-485(2) RS-485通讯协议的设定。1. 主、从双方波特率均设置为9600bps;2. 主从双方初始状态均设置为串行口中断方式;3. 主从机之间的信息传递以帧为单位,帧格式如下表所示:起始地址命令数据校验结束1字节1字节1字节状态值4字节测量值4字节重量值4字节状态值4字节1字节1字节校验和:对地址、命令、数据区
42、的校验。命令:为0时对数据进行校验,为1时下传设定值。状态值:为0时代表从机工作正常,为1时代表从站液位超过上限值,为2时代表液位超过下限值。5.系统软件设计5.1从机程序流程图5.1.1从机主程序流程图开始自动校准按原设定值运行读按键有按键加键设定值对应位加1设定值对应位减1光标左移光标右移保存设定值更新设定值减键左移键右移键确定键用电极1产生的信号脉冲触发中断0,用电极2产生的脉冲触发中断1.5.1.2中断0服务程序流程图脉冲计数器加1上限值电机正转一步关进水阀提示故障1中断0服务程序流程图5.1.3中断1服务程序流程图脉冲计数器减1上限值电机反转一步关出水阀提示故障2返回中断1服务程序流
43、程图5.2主机程序流程图开始显示欢迎界面召唤数据显示界面设定键?设定界面输入设定值确定?取消下传数据6.抗干扰对策61硬件抗干扰设计系统电源是一个重要部件,又是与外部电网直接联系的部分,为了防止从电源系统引入干扰信号,在电源输入端设置低通滤波器,滤去高次谐波成份。另外还采用了AT89S51中的看门狗定时器,以进一步提高系统硬件抗干扰的能力。6.2 软件抗干扰设计在程序设计时,将各程序模块分区存放,彼此之间空出一些存储单元,在这些单元中填充FF(RST 指令)。同时对程序中重要的跳转和调用子程序指令前均加入三个NOP 指令,以保证程序流向的正确性,因为PC 只要错一个数码,那么整段程序就会面目全
44、非,从而造成检测系统的混乱。结 论本文是基于AT89S51实现的液位自动控制系统,装置具有开机自动校正零点功能,且液位设置误差2mm。通过键盘可以设定B瓶内的液位(0-25cm内的任意值),并通过控制电磁阀(或类似的电磁阀装置)使B瓶的液位达到设定值。当液位超过25cm或液位低于2cm时发出报警,显示器能显示当前液位状态和瓶内液体的重量,以及阀门状态。该装置实验用液体为导电液体,如若需用在不导电液体中,只需将电极设计做少许改动即可,功能扩展方便。致 谢在导师的悉心指导下,我顺利完成了本次毕业设计,在毕业设计的过程中,.老师的认真指导使我少走了很多弯路,解决了我在毕业设计当中遇到的很多困难和问题,对我的论文提出了很多的改进意见。在此,我首先向张老师致以深深的敬意和衷心的感谢!同时,感谢其他在我论文完成过程中帮助我和指导我的老师、同学,以及大学四年来在学习、生活中给我帮助的老师和同学们。参考文献1 蔡美琴等.MCS-51系列单片机系统及应用.北京:高等教育