储罐液位控制系统程序

合集下载

模块一液位串级控制方案

模块一液位串级控制方案
详细描述
某水库采用了液位串级控制方案,通过合理配置和控制水泵、闸门等设备,实现了对水库液位的精确控制。该方 案有效保障了供水安全和稳定,提高了水资源利用率,为当地经济发展提供了有力支持。
感谢您的观看
THANKS
能耗较高。
维护成本高
03
由于液位串级控制系统的复杂性,维护和调试成本相对较高。
安全性问题
泄漏风险
液位串级控制涉及多个储罐和管道,存在一定的泄漏风险, 需要采取安全措施以降低泄漏事故发生的可能性。
01
压力安全
在液位控制过程中,储罐内的压力可能 会发生变化,需要采取措施确保压力在 安全范围内。
02
03
保障安全
对液位进行实时监控和调节,可 以防止因液位过高或过低引起的 溢流、空罐等安全问题。
节约资源
精确的液位控制有助于减少不必 要的液体浪费,节约资源,降低 生产成本。
液位串级控制方案的历史与发展
历史回顾
液位串级控制方案的发展可追溯至上世纪末,随着工业自动化技术的不断进步,该方案 逐渐得到广泛应用。
精确度高
液位串级控制方案采用多级控制,能够显著提高液位控制的精确度, 减少误差。
适用范围广
该方案可应用于各种液体容器的液位控制,如水箱、油罐等,具有广 泛的适用性。
灵活性高
液位串级控制方案可根据实际需求调整各级控制器的参数,实现灵活 的控制效果。
液位串级控制方案的重要性
提高生产效率
精确的液位控制能够确保生产过 程中的稳定性和连续性,从而提 高生产效率。
技术革新
近年来,随着智能传感器、物联网等技术的快速发展,液位串级控制方案在精度、稳定 性和智能化方面得到了进一步优化和提升。
未来展望

实训报告2 储罐工艺操作&液位控制

实训报告2 储罐工艺操作&液位控制

工程项目1 简单控制系统的分析与设计03子项目2 储罐工艺操作与液位控制班级12电气自动化3 姓名项目日期2012一、项目目标1、初步了解液位和流量的动态响应特性2、了解单回路控制系统的组态、投运过程3、了解自衡过程与非自衡过程动态特性以及原因4、初步掌握质量平衡的概念二、项目设备SMPT—1000三、项目方案(一)非线性液位与离心泵系统工艺流程a)非线性液位来自于卧式储罐V1101,圆形卧式储罐液位变化为非线性,当液位处于50%时,储罐水平截面积最大,惯性也最大。

当液位从50%向高或低端变化时,储罐水平截面积越来越小,惯性也变小。

由于储罐出口设有离心泵,强制排水,因此储罐液位是非自衡系统。

储罐液位为LI1101。

b)工艺流程图,定义了从原料到产品的过程,用框架加箭头的方法交代各个单元,用文字标明各个步骤的生产原料和产物,用数字和字母标识设备。

c)工艺流程图中的设备、仪表、执行机构等均具有用数字和字母表示的唯一性标识,称为号。

控制流程图(二)储罐工艺操作a)在没有打开任何工程的前提下,在SMPT-1000监控环境中打开储罐工程Tank for Control。

b)点击工具栏中的按钮,打开阀门/挡板控制配置对话框,确认阀门FV1106设置为手操状态,阀门FV1101设置为内控。

①在趋势画面中添加FI1106、FV1106和LI1101的实时曲线。

②选择趋势画面1窗口,在窗口中央空白处,鼠标右键单击。

在弹出的菜单中选择【属性】项,将弹出趋势画面属性对话框,选择曲线选项卡。

e)点击【添加】按钮,在曲线属性对话框中选择位号FI1106,该位号将自动添加到显示标题栏中,可以修改显示标题。

按【确定】返回上一对话框。

f)添加FV1106和LI1101曲线。

g)选中LI1101标签,点击【定义颜色】按钮,将LI1101显示曲线的颜色改为黑色。

按【确定】返回上一对话框。

在属性对话框中,还可以对现有的曲线属性进行修改、删除、隐藏和显示。

纯化水系统标准操作规程

纯化水系统标准操作规程

纯化水系统标准操作规程【目的】规范和指导本车间纯化水系统的日常运行和操作,以保证纯化水系统的正常运行。

【范围】适用于本车间纯化水系统的日常运行及操作,记录及报警故障处理。

【职责】1纯化水系统使用人员负责机器的日常操作。

2维修人员负责机器的故障处理。

3车间管理人员和现场监控QA负责检查本规程的执行。

【内容】1说明1.1系统概述原水箱中的饮用水,经原水泵进入石英砂过滤器、活性炭过滤器、加药装置进行预处理;然后经保安过滤器进入一级RO,制备出的中间水进入中间水储罐;接着再进入二级反渗透,制备出纯化水;纯化水经纯化水分配系统后,供给各使用点。

1.2设备流程板式换热器饮用水石英砂阻垢剂活性炭过滤器5um精密过滤器二级反渗透中间水罐一级反渗透纯化水罐纯化水分配系统使用点双管换热器第1页共5页1.3通用操作1.3.1操作人员经培训合格才能操作该设备;1.3.2定期进行反冲洗,保持管路畅通;1.3.3纯化水泵禁止干运转,防止机械密封损坏;1.3.4RO膜严禁缺水,在停产时每日要开机运行1-2小时;1.3.5RO严禁超压运行,RO的出口阀门要保证一定的开启度;1.3.6每次工作完毕后,应保持反渗透膜湿润;1.3.7冬季注意保暖,机组的室内温度不得<4℃;1.3.8制水过程操作人员不得长时间离开机组。

密切注意出水质量和供水情况。

1.4系统访问1.4.1系统访问级别设置为操作员、工艺员、管理员3个级别。

1.4.2管理员在工厂预先设置好操作程序。

1.4.3系统状态1.4.3.1模式选择:分为自动、手动两种运行模式。

手动模式只有在调试和处理故障时才允许使用。

1.4.3.2报警确认:所有警报在PLC中产生并储存。

2系统正常运行2.1运行前的检查与准备2.1.1开机前充分冲洗前处理部分,去除杂质和其它污染物以避免污水进入膜元件。

2.1.2打开原水箱的供水阀使原水自动注满原水箱。

2.1.3打开保安过滤器的排气阀直至有原水喷出即关闭。

LNG储罐储存液位控制依据

LNG储罐储存液位控制依据

LNG储罐储存液位控制依据一、2010.12.24技术创新委员会会议纪要关于三储LNG储罐储液液位限值问题三储LNG储罐液位限值上限设定为90%,上上限设定为95%,在职业健康安全体系审核时,审核人员提出三储LNG储罐液位限值设置不合理。

经查,《城镇燃气设施运行、维护和抢修安全技术规程》CJJ51-2006第3.3.16条第2款规定“储罐的充装量应符合国家现行《压力容器全技术监察规程》中充装系数的要求。

储存液位宜控制在20%~90%范围内”;储罐说明书中规定“充装率95%”;《固定式压力容器全技术监察规程》TSGR0004-2009第3.13条规定“装置系数:储存液化气体的压力容器应当规定设计储存量,装置系数不得大于0.95”。

为此,三储针对液位限值问题起草了专题报告,提请会议审议。

会议讨论认为,三储的液位限值设定完全符合国家有关标准的规定,不存在违规问题,会议同意三储的意见,储罐液位下限报警值设施为20%,下下限为15%,上限报警值设置为90%,上上限为95%,正常情况下,在上下限之间运行,特殊情况下,经请示输配运行部领导,并进行必要的检查和加强安全监护措施下,可以在上上限和下下限之间运行。

二、《城镇燃气设施运行、维护和抢修安全技术规程》3.3.16液化天然气储罐及管道的运行与维护应符合下列规定:2储罐的充装量应符合国家现行《压力容器安全技术监察规程》中充装系数的要求.储存液位宜控制在20%~90%范围内;三、《压力容器安全技术监察规程》第36 条盛装液化气体的压力容器设计储存量,应符合下列规定:1.介质为液化气体(含液化石油气)的固定式压力容器设计储存量,应按照下式计算:W=фVρt式中W--储存量,t;ф--装量系数,一般取0.9,对容器容积经实际测定者,可取大于0.9,但不得大于0.95;V --压力容器的容积,m3;ρt--设计温度下的饱和液体密度,t/m3。

四、《固定式压力容器全技术监察规程》TSGR0004-2009第3.13条规定“装置系数:储存液化气体的压力容器应当规定设计储存量,装置系数不得大于0.95”。

罗斯蒙特储罐计量系统TankMaster WinOpi使用手册说明书

罗斯蒙特储罐计量系统TankMaster WinOpi使用手册说明书

参考手册00809-0206-5110, Rev AC2022 年 6 月Rosemount™ TankMaster™ WinOpi 库存管理软件用于储罐计量系统TankMaster WinOpi使用产品前请阅读本手册。

为保证人身及系统安全以及获得最佳的产品性能,安装、使用或维护本产品前请务必确保完全了解手册内容。

有关设备维修或支持需要,请联系当地艾默生自动化解决方案/罗斯蒙特储罐计量系统销售代表。

版本本手册基于 TankMaster 6.G0 版的功能。

对于更早的 TankMaster 版本,本手册中描述的所有功能可能不可用且图形用户界面 (GUI) 的样式可能会不同。

安全信息警告物理接触未经授权的人员可能会对最终用户的设备造成明显受损和/或误组态。

这可能是有意或无意的,需要采取相应的防护措施。

物理安全措施是任何安全计划的重要部分,是保护您的系统的基础。

限制未经授权人员进行物理接触,以保护最终用户的资产。

这对于设施中使用的所有系统均是如此。

2参考手册内容00809-0206-51102022 年 6 月内容第章1入门指南 (5)1.1 Rosemount TankMaster™是什么? (5)1.2 手册概述 (6)1.3 技术文档 (7)1.4 TankMaster 软件包 (10)1.5 服务器硬件密钥 (12)1.6 非法字符 (14)第章2WinOpi 主窗口 (15)2.1 菜单 (16)2.2 工具栏 (17)2.3 状态栏 (19)2.4 工作区视图 (20)2.5 用户管理 (27)第章3查看储罐数据 (39)3.1 测量值 (39)3.2 库存数据 (45)3.3 实时视图 (49)3.4 历史视图 (52)3.5 历史数据表视图 (59)3.6 储罐运动 (62)3.7 修改分组视图 (67)3.8 颜色设定 (73)3.9 储罐注释 (78)第章4安装储罐测量系统 (81)4.1 安装程序 (81)4.2 系统设置 (82)4.3 设置罐容表 (87)4.4 创建产品表 (94)4.5 库存参数 (98)4.6 储罐库存组态 (104)4.7 贸易交接认证 (112)4.8 库存参数设置检查表 (113)第章5警报处理 (119)5.1 泄漏报警 (119)Rosemount TankMaster 3内容参考手册2022 年 6 月00809-0206-51105.2 传感器故障 (120)5.3 通讯故障 (120)5.4 报警状态优先级 (120)5.5 设定报警限值 (121)5.6 报警摘要 (129)5.7 报警日志 (130)5.8 警报组 (137)5.9 中断警报 (142)5.10 警报设置 (144)第章6报告 (151)6.1 设置自动报告 (151)6.2 发布报告 (163)第章7审计日志 (165)7.1 设置审计日志 (165)7.2 查看审计日志 (166)7.3 筛选审计日志 (167)第章8储罐计算器 (171)8.1 密度计算器 (171)8.2 储罐库存计算器 (173)8.3 储罐传输计算器 (174)8.4 储罐稳定计算器 (178)第章9自定义布局 (181)9.1 工具菜单添加项目 (181)9.2 创建可自定义窗口 (183)9.3 编辑可自定义窗口 (185)9.4 创建自定义工具栏 (191)第章10伺服命令 (193)10.1 发送伺服命令 (193)10.2 伺服状态 (197)/Rosemount1入门指南1.1Rosemount TankMaster ™是什么?Rosemount TankMaster WinOpi 使操作员整体了解罗斯蒙特储罐计量系统。

油田原油储罐液位检测控制方案

油田原油储罐液位检测控制方案

油田原油储罐液位检测控制技术方案一、原油储罐液位检测的一般方法随着石油工业的发展,油田的生产、储运、管理部门对油罐自动计量技术越来越重视,对油罐液位检测的安全性、可靠性、准确性的要求也普遍提高。

因此,各种检测仪表、控制方法和技术被应用于原油罐位的检测控制,不但适应了这些生产要求,而且随着微电子、计算机、光纤、超声波、传感器等高科技的迅猛发展,各种新技术、新方法被应用到储罐计量领域,使储罐自动计量呈现出功能化、精确化、管控一体化的新局面,从而形成了仪表齐全、方法多样、技术先进、性能可靠、价格灵活、可以适应不同目的和用途的罐位监控系统。

目前从原油罐位检测方法来看,国内外普遍采用的主要有三种方法:检尺法、静压法和液位法。

检尺法是比较基本的测量方法,是将液面的动态变化转换为直观的液位标尺和电信号;静压法是利用压力传感器(变送器)测量罐内液体的静压力,结合液体的密度计算出液位,并可根据储罐几何参数计算出容量和重量;液位法是通过间接测量罐内液体的液位高度及密度等参数,来获得罐内储液的容量及重量。

检尺法仪表结构复杂、安装工作量大、施工及维护不太方便,难以保证长年可靠性,其优点是在特殊情况下还能直观地指示液位,一般在介质相对洁净而且不太粘稠的大罐上还在使用。

静压计量技术的优点是简便、稳定可靠。

技术的关键是选用精度高、稳定性好的压力传感器。

比较著名的厂商例如美国霍尼韦尔公司、美国罗斯蒙特公司、德国恩德斯豪斯公司、英国德鲁克公司、日本EJA公司等等。

液位法仪表在发展许多新的测量原理方面表现最为突出。

智能化液位计、非接触测量方式的液位计、新原理的小型液位开关为当前的主要发展方向,通过利用电子技术及微机技术,使得仪表的结构和功能都有很大改进,并且仪表在朝着总线式方向发展。

二、非接触测量液位法介绍非接触测量液位计主要包括超声波液位计、微波液位计、激光液位计、γ射线液位计以及罐体外壁感应式液位计等等。

超声波液位计是非接触液位计中发展最快的一种。

串级pid控制液位及出口压力的调节方法

串级pid控制液位及出口压力的调节方法

串级PID控制液位及出口压力的调节方法一、概述在工业生产过程中,控制系统是非常重要的一环,它可以对生产过程中的各种参数进行监测和调节,从而保证产品质量和生产效率。

液位和出口压力是一些特定工业生产中需要重点控制的参数,而串级PID控制是一种常见的控制方法,本文将介绍串级PID控制液位及出口压力的调节方法。

二、串级PID控制原理串级PID控制是指在控制系统中同时使用比例、积分和微分控制器来实现对参数的精确控制。

在液位和出口压力控制中,串级PID控制可以通过对系统的反馈信息进行实时监测和调节,从而达到对参数的精确控制。

串级PID控制的基本原理是通过调节不同的参数来实现对系统稳定性和动态响应的优化,从而实现对液位和出口压力的精确控制。

三、串级PID控制液位的调节方法1. 液位传感器的选择和安装在进行液位控制前,首先需要选择合适的液位传感器,并对其进行正确安装。

液位传感器的选择要根据工艺要求和环境条件来确定,安装时要保证其与被控液体之间的接触良好,避免干扰和误差。

2. 液位控制系统的建立建立液位控制系统,包括液位传感器、控制阀以及控制器等组成部分。

通过串级PID控制器对液位进行实时监测和调节,保证系统的稳定性和精确性。

3. 液位控制参数调节根据实际需求和系统特性,对串级PID控制器的比例、积分和微分参数进行调节,以实现对液位的精确控制。

在调节过程中需要进行实时监测和反馈,对参数进行逐步调整直至达到理想的控制效果。

四、串级PID控制出口压力的调节方法1. 出口压力传感器的选择和安装与液位控制类似,出口压力的控制也需要合适的传感器来进行监测。

选择合适的压力传感器,并根据系统要求进行正确的安装和调试。

2. 出口压力控制系统的建立建立出口压力控制系统,包括压力传感器、控制阀以及串级PID控制器等组成部分。

通过串级PID控制器对出口压力进行实时监测和调节,保证系统的稳定性和精确性。

3. 出口压力控制参数调节根据实际需求和系统特性,对串级PID控制器的比例、积分和微分参数进行调节,以实现对出口压力的精确控制。

组态王储油罐液位控制

组态王储油罐液位控制

1绪论随着工业自动化技术的不断发展,人们对系统监测性能的要求越来越高,组态王作为一个开发型的通用工业来监控系统,拥有良好的图形化操作界面,便于生产的组织与管理;同时,作为工业控制软件,它又可以很好的保证系统的可靠性与实时性。

组态王开发监控系统软件是新型的工业自动控制系统正以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,它具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。

通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。

其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且在自动控制系统中完成上传下达、组态开发的重要作用。

尤其考虑三方面问题:画面、数据、动画。

通过对监控系统要求及实现功能的分析,采用组态王对监控系统进行设计。

组态软件也为试验者提供了可视化监控画面,有利于试验者实时现场监控。

而且,它能充分利用Windows 的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。

它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。

2系统需求分析在石油、化工、工矿等企业一般都有油库,这些油库是企业重要的燃料基地,是一个重要的生产环节。

各种油库的建设规模越来越大,造价也越来越高,为了确保油库的安全,必须要对影响油库安全的部分物理参数进行实时的数据采集,实现油库的自动化管理。

能及时掌握油库油罐的液位、温度、压力、油气浓度等状态参数可以大大提高油库的进油,储油和管理的工作效率,极大的提高安全保障,因此有广泛的应用价值。

通过对液位、温度、压力、油气浓度等状态量的实时监测,在智能仪表上实时显示并设置报警值,在越过限值时即可产生声光报警。

此外这些状态值也可以通过互联网传输,有访问权限的管理者可以在任何地方通过浏览器查看油库的安全参数,实现无人职守的远程监测系统。

3 系统方案论证在本设计中,为了实现对液位的控制,我使用了一个原油库,用来储存大量的原油,一个催化剂库用来存储大量的催化剂,它们分别在原料油罐催化剂罐液位少于20的时候进料,成品油罐用来存储成品油。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

储罐液位控制系统——计算机控制技术课程设计①核心:单片机 89s52②片外扩展:8KB RAM存储器6264,I/O口扩展8155③转换器:ADC0809,DAC0832④锁存器等:74HC373,74H377,74HC245和3-8译码器74HC138⑤输入/输出部件:6个LED,4个按键89S52的RD及PSEN用与门接在一起后送入6264的OE端,使得6264既可以作为数据存储器,也可以作为程序存储器。

①液位信号(电压值)从ADC0809的IN0引脚输入,A/D转换后存储。

②液位给定值由键盘设定,与液位信号比较得出偏差值。

若超限,则报警,LED4现实P,同时以P1.0驱动报警器,以P1.1驱动蜂鸣器。

③按达林算法计算控制器的输出值。

④输出值经D/A转换得到模拟电压值并输出。

⑤液位信号的电压值经标度转换后,变为液位值存储,送LED显示。

6个LED显示如图a所示。

LED5显示H或L,LED4为超限指示,LED3~LED0显示液位值,LED1数码管加小数点,显示范围为000.0~999.9。

显示器与键盘设置LED5 LED4 LED3 LED2 LED1 LED0H 1 9 9.5⑥键盘设定液位的高低报警限。

采用4键方式,4个按键的功能如图b所示。

显示与键盘循环扫描,无键按下时,LED显示实时液位,右键按下时,进入液位报警限的修改。

先按选择键方可进入修改,先按其他3个键无效。

进入修改状态后,待修改的显示位LED5闪动,按+或-键可循环选择H或L,同时后4位LED显示对应的液位值。

按确认件后调到下一个待修改的显示为LED3并闪动,按+或-键循环修改0~9数字,再按确认键调到下一位置,如此进行,知道4个数字修改完毕后退出修改状态。

在修改状态时,若不按确认键,则8秒后退出修改状态。

从视觉舒适的角度考虑,数字应为每0.4秒闪动一次。

显示器与键盘设计选择+ - 确定①数据采集:A/D转换,采样周期为10s。

②数字滤波:采用5个数平均滤波法。

③标度转换:将液位变送器的标准电压信号转换为液位值。

④动态显示:动态循环显示。

⑤键盘扫描:读键值并判断功能。

⑥控制计算:达林算法。

⑦控制输出:D/A转换。

⑧报警处理:超过高、低报警器限时驱动报警灯及蜂鸣器。

//实现程序//#include <reg52.h>#include <math.h>#define uchar unsigned char#define uint unsigned intuchar xdata *p=0x0000;uchar xdata *p1=0x2000;uint getdata;//采样值uint w=0,jishi8=0;//计数加长计时,时间uint yh,yl,ye;//液位高低限及期望值sbit jingdeng=P1^0;sbit jingsheng=P1^1;uchar code table[]={ //段码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x73,0x38};//19个字符uchar dispbuf[4]={0,0,0,0};float e[2]={0,0},u[6]={0,0,0,0,0,0};float con=0;jingdeng=0;//警灯jingsheng=0;//,蜂鸣器初始化viod main(){void intdingshi();//定时器初始化//键盘扫描及修改设定值//void keyscan();//实时液位显示//void led();//达林算法实现,DAC控制输出//void dalin();void control();//输出控制量//报警程序//void baojing();while(1){//键盘扫描及修改设定值//keyscan();//实时液位显示//led();//达林算法实现,DAC控制输出//dalin();control();//输出控制量//报警程序//baojing();}}viod delay(uchar i) //延时{while(i--)_nop_();}//实现每八秒采样一次//void intdingshi()//定时器初始化{TMOD=0x01;IT0=1;TH0=0x3C;TL0=0xB0;//定时50msTR0=1;//启动定时器EA=1;//开中断ET0=1;}void dingshi() interrupt 1 //定时器0中断,实现八秒定时{TH0=0x3C;TL0=0xB0;//定时50msw++;jishi8++;while(w==200){p=0x8000;//指针ADC地址*p=0x00;//qi dongEX0=1;//打开外部中断0,采样一次w=0;}TR0=1;//启动定时器}void waibu() interrupt 0 //外部中断0,实现ADC采样5次,取平均值{uint i=0,a5=0;p=0x8000;//指针ADC地址P0=*p;getdata=P0;a5=a5+getdata;i++;if(i==5){qy=a5/5;//平均滤波i=0;a5=0;}}//实时液位显示//void led(){dispbuf[3]=qy/100;dispbuf[2]=(qy%100)/10;dispbuf[1]=(qy%100)%10;dispbuf[0]=int((qy-dispbuf[3]*100-dispbuf[2]*10-dispbuf[0])*10); p=0xC000;*p=0xFE;p1=0xE000;*p1=table[dispbuf[0]];delay(5);*p=(*p)<<1;*p1=table[dispbuf[1]];delay(5);*p=(*p)<<1;*p1=table[dispbuf[2]];delay(5);*p=(*p)<<1;*p1=table[dispbuf[3]];delay(5);}//达林算法实现,DAC控制输出//void dalin(){e[0]=qy-ye;//求出输入误差u[0]=0.9355*u[1]+0.0645*u[5]+0.8377*e[0]-0.8054*e[1];con=u[0],//数字控制量输出e[1]=e[0];u[5]=u[4];u[4]=u[3];u[3]=u[2];u[2]=u[1];u[1]=u[0];}void control()//输出控制量{p=0x6000;*p=con;}//键盘扫描及修改设定值//void keyscan(){uint a=16,b=dispbuf[3],c=dispbuf[2],d=dispbuf[1],e=dispbuf[0];//记录各位设定值p=0xA000;P0=*p;if(P0==0xfe)//说明开始修改,键0{void dispplay(a,b,c,d,e);void dispplay(a,b,c,d,e);//延时10msp=0xA000;P0=*p;if(P0==0xfe)p1=0xc000;//字位*p1=0xdf;//led5位选p1=0xe000;//字段disp(18);//初始显示"L"P0=*p;while(P0!=0xf7)//键3{void dispplay(a,b,c,d,e);void dispplay(a,b,c,d,e);//延时10msp=0xA000;P0=*p;//读键盘if(P0==0xfd)//键1{a++;if(a>=18)a=18;}elseif(P0==0xfb)//键2{a--;if(a<=16)a=16;}p1=0xc000;//字位*p1=0xdf;p1=0xe000;//字段disp(a);//初始显示"L"if(jishu8>=160)//超时跳出扫描{jishu8=0;goto keyz; }}key2: P0=*p;while(P0!=0xf7){void dispplay(a,b,c,d,e);//延时10ms void dispplay(a,b,c,d,e);p=0xA000;P0=*p;if(P0==0xfd){b++;if(b>=9)b=9;}elseif(P0==0xfb){if(b>=1);b--;else b=0;}p1=0xc000;//字位*p1=0xf7;//led3位选p1=0xe000;//字段disp(b);//初始显示"L"if(jishu8>=160){jishu8=0;goto keyz;}}key3: P0=*p;while(P0!=0xf7){void dispplay(a,b,c,d,e);void dispplay(a,b,c,d,e);//延时10ms p=0xA000;P0=*p;if(P0==0xfd){c++;if(c>=9)c=9;}elseif(P0==0xfb){if(c>=1);c--;else c=0;}p1=0xc000;//字位*p1=0xfb;//led2位选p1=0xe000;//字段disp(c);//初始显示"L"if(jishu8>=160){jishu8=0;goto keyz;}}key4: P0=*p;while(P0!=0xf7)//键3{void dispplay(a,b,c,d,e);void dispplay(a,b,c,d,e);//延时10ms p=0xA000;P0=*p;if(P0==0xfd)//键1{d++;if(d>=9)d=9;}elseif(P0==0xfb)//键2{if(d>=1);d--;else d=0;}p1=0xc000;//字位*p1=0xfd;//led1位选p1=0xe000;//字段disp(d);//初始显示"L"if(jishu8>=160){jishu8=0;goto keyz;}}key5: P0=*p;while(P0!=0xf7){void dispplay(a,b,c,d,e);void dispplay(a,b,c,d,e);//延时10ms p=0xA000;P0=*p;if(P0==0xfd){e++;if(e>=9)e=9;}elseif(P0==0xfb){if(e>=1);e--;else e=0;}p1=0xc000;//字位*p1=0xfe;//led0位选p1=0xe000;//字段disp(e);//初始显示"L"if(jishu8>=160){jishu8=0;goto keyz;}if(a==18)yl=b*100+c*10p+d+e*0.1;//液位低限shedingelseif(a==16)yh=b*100+c*10p+d+e*0.1; //液位高限elseif(a==17)ye=b*100+c*10p+d+e*0.1; //液位期望值}keyz: return}}disp(uint x){*p1=table[x];}//扫描时液位显示,充当延时除颤程序//void dispplay(uint x0,uint x1,uint x2,uint x3,uint x4,) {p=0xC000;*p=0xFE;p1=0xE000;*p1=table[x1];delay(5);*p=(*p)<<1;*p1=table[x2];delay(5);*p=(*p)<<1;*p1=table[x3];delay(5);*p=(*p)<<1;*p1=table[x4];delay(5);*p=(*p)<<2;*p1=table[x0];}//报警程序//void baojing(){while(qy>=qh||qy<=ql){jingdeng=~jingdeng;jingsheng=1;p=0xC000;*p=0xef;p1=0xe000;*p1=table[17];delay(5000);}}。

相关文档
最新文档