差压液位计算公式式液位让指针不升是什么原因

计该系列产品使用了圆锥齿轮传動及磁耦合传动系统并采用顶装、侧装直插式安装方式,因此具有较好的使用性能可广泛用于各种卧式贮罐,特别适用于地下罐的

该系列液位计主要由浮球、浮杆、圆锥齿轮、磁钢、连接法兰、指针系统、表盘等组成

  环境温度(℃):-40~80(低温时指针系统不得有凝结物)

相对湿度(%):5~100(包括凝露和直接湿)

●磁耦合指针,密封良好安全可靠。

●圆锥齿轮传动工作可靠,使用寿命长

●直插式法兰連接,无须人孔安装调试方便。

●自润滑轴承转动灵活,不易卡死

●大型表针指示,液位显示清晰可同时显示容积值。

}

基于单片机的液位测量装置具有測量准确、重复性好、功耗低、使用寿命长的特点是广泛采用的技术。在深入学习科学发展观的同时电子设备的设计也需融入可持续發展的设计理念。故此在基于单片机的液位测量装置基础上,扩展实时监控、数据采集、计算机串行通信等功能从而能够通过科学的方法将液位测量与统计科学结合,合理调度水资源降低能源消耗。

本文从系统方案选择与论证硬件电路设计,系统软件与上位机软件設计等几个方面介绍了基于单片机的液位测量监控系统的设计过程最终实现了液位的实时测量与监控。最后本文总结了设计过程中出現的问题及解决方法,简要叙述了所获数据的处理方法引出了进一步设计开发的思路。

上世纪40年代电子计算机的诞生,标志着人类电孓技术进入了一个新的阶段1976年单片机的推出为电子电路设计提供了新的思路,也促进了模拟电路向数字电路发展的历程它在一片芯片仩集成了完整的计算机系统。从它的发展来看低功耗CMOS化、微型单片化、主流与多品种共存的发展趋势更进一步促使了单片机在各个行业嘚应用。这些应用很大一方面体现在工业控制中。在工业上使用单片机可以构成形式多样的控制系统和数据采集系统。

单片机应用发展迅速而广泛在过程控制中,单片机既可作为主计算机又可作为分布式计算机控制系统中的前端机,完成模拟量的采集和开关量的输叺、处理和控制计算然后输出控制信号。单片机广泛用于仪器仪表中与不同类型的传感器相结合,实现诸如电压、功率、频率、湿度、流量、速度、厚度、压力、温度等物理量的测量;在家用电器设备中单片机已广泛用于电视机、录音机、电冰箱、电饭锅、微波炉、洗衣、高级电子玩具、家用防盗报警等各种家电设备中。在计算机网络和通信、医用设备、工商、金融、科研、教育、国防、航空航天等領域都有着十分广泛的应用

工程应用中液位的测量常用方法主要有超声波、激光红外测距、机械浮子、压力传感器测距等几种。这些测量方式对一般液位的测量来说各有各的优点可根据不同的应用场合和要求进行选择。比如常见的液位控制系统多采用浮标、电极等,這种控制形式结构简单成本低廉但是控制精度不高,不能进行数值显示;另外容易引起误操作与上位机进行信息交互比较困难。

随着科技的发展液位测量技术趋于智能化、微型化、可视化。本设计思想是用单片机做下位机PC机做上位机,单片机和PC机相结合对水箱液位進行测量和监控该设计要求具有一定的智能化,可操作性和稳定性好

在工农业生产中,常常需要测量液体液位随着国家工业的迅速發展,液位测量技术被广泛应用到石油、化工、医药、食品等各行各业中低温液体(液氧、液氮、液氩、液化天然气及液体二氧化碳等)得到广泛的应用,作为贮存低温液体的容器要保证能承受其载荷;在发电厂、炼钢厂中保持正常的锅炉汽包水位、除氧器水位、汽轮機凝气器水位、高、低压加热器水位等,是设备安全运行的保证;在教学与科学研究中也经常碰到需要进行液位控制的实验装置。

液位測量的方法比较多依据测量方式的不同可分为接触式与非接触式两种类型。

接触式测量法是指测量用传感器直接与容器内存储液体相接觸从而获得测量参数的方法。

人工检尺法可用于测量油罐液位其历史十分悠久。它利用浸入式刻度钢皮尺测量液位这种方法具有测量简单、可靠性高、直观、成本低的优点,但人为读数误差大、无法实现自动检测和操作

常见的有电阻法、光电法、测重法、电容法、浮标法及声光电的反射回波法等。无论怎样这些方法的关键是利用液位传感器将液位的相对位移量转换成为电压、电流、阻抗等便于进荇电处理的物理量。限于篇幅下面仅简单介绍电容测量法的基本原理。

本方法所使用的电容通常由两块圆柱形极板或一个探极与罐壁构荿当液位不同时,电容器的介电常数就不同故电容量也不同。在此基础上可以把电容量转化为电压、相移、频率、脉宽等物理量再進行测量。

电容式液位测量装置通常结构简单、灵敏度高、稳定性好、动态响应快适合于恶劣的工作环境,生产成本也不高;但电容液位测量器需要考虑温度补偿且介质的成分、水分、温度、密度等不确定变化因素直接影响测量结果的准确性,另外检测电路比较复杂尤其是检测微小电容量的变化。

非接触式测量法包括超声波法、调制型光学法、微波法等其特点是测量手段并不采用浮子之类的固态物,而是利用声、光、射线、磁场等的能量液位传感器不和被测介质接触,不受被测介质影响也不影响被测介质,故适用范围广泛特別是接触式测量装置不能适用的特殊场合,如高粘度、强腐蚀性、污染性强易结晶的介质。下面简单介绍超声波法和微波法的测量原理

超声波法:换能装置将电功率脉冲转换为超声波,射向液面经液面反射后再由换能器将该超声波转换为电信号,超声波法可用于多液媔的测量

超声波是机械波,传播衰减小界面反射信号强,且发射和接收电路简单因而应用较为广泛;但超声波的传播速度受介质的密度、浓度、温度、压力等因素影响,其测量精度往往较低

微波法:微波通过天线辐射出去,经液面反射后被天线接收然后由二次电蕗计算发射信号与接收信号的时间差得出液位。

微波速度受传播介质、温度、压力、液体介电常数的影响很小但液体界面的波动、液体表面的泡沫、液体介质的介电常数对微波反射信号强弱有很大影响。当压力超过规定数值时压力对液位测量精度将产生显著影响。对波導管的锈蚀、弯曲和倾斜都会影响测量精度

光纤液位检测是近年来出现的一种新技术。根据光导纤维中光在不同介质中传输特性的改变對液位进行测量

光纤液位测量有以下优点:精度高、灵敏度好、抗电磁干扰、耐腐蚀、电绝缘性好、检测现场无电、光路有抗扰性以及便于与计算机连接,便于与光纤传输系统组成网络等

目前,市面上进行液位测量的仪表种类繁多但是同时具有测量、监控、数据记录忣处理的液位测量装置并不多。在某些工业控制系统中数据的测量这一基本功能已不能满足现代工业的要求,往往需要对大批数据进行記录对其进行后期处理分析,实现差错控制、工艺改善、资源优化等一系列工作为了获得大批量的数据,得到可靠的分析资料往往需要长期、多网点的监控记录。在液位测量这一领域中如江河湖海、城市用水等方面,大量数据长时间多网点的采集记录分析具有普遍的意义。液位的变化分析有助于人们进一步对自然环境、天气变化甚至是灾害预警提供可靠的支持。

本设计以水箱供水为模型鉴于單片机液位测量装置的测量准确、重复性能好、功耗低、使用寿命长等特点,设计以单片机为基础的液位测量监控记录系统具有实时液位测量监控数据处理等功能。

设计具体内容分为以下几个方面:

  • 系统硬件电路设计以及单片机选型
  • 上位机软件设计以及上位机与下位机通信设计

本设计以水箱供水为模型,鉴于单片机液位测量装置的测量准确、重复性能好、功耗低、使用寿命长等特点设计以单片机为基础的液位测量监控记录系统。它具有实时测量监控水箱液位高度并显示的功能并根据实时水量与设置的上、下液位参数的比较,启动電机供水或停止水泵在启动电机与停止水泵时,实时记录时间点与电机状态液位测量高度≤5米,测量精度10%AC220V供电。

可通过上位机软件可与监控记录系统进行通信,能够从PC机获取当前液位高度、电机状态、设备系统时间、上下液位高度等数据并可根据需要改变系统默認的参数。同时可以获取设备运行时记录的数据并能够对数据保存。能够根据一定的算法计算分析单位时间水箱消耗水量,绘制图形通过计算分析的结果,可以进行区域用水统筹降低能源的消耗。

根据系统的设计要求采用单片机为主控芯片,通过单片机数据地址總线及I/O端口扩展数据存储模块、A/D转换模块、显示模块、时间模块、串口通信模块以及A/D转换、电机控制等外围电路,从而实现系统所需的設计功能系统总体方案框图如图2-1:

图2-1 系统总体框图

图中,信号流向仅指示了通过数据地址总线或I/O口上发生的数据信号不包括控制信号。

2.3.1 主控模块设计方案

单片机作为主控模块使得在对单片机选型上有了较大的空间。单片机在30多年的发展历程中形成了多公司、多系列、多型号“百家争鸣”的局面。因而选择一个合适的单片机有时真的不太容易,要考虑的方面太多大致总结出以下几点:

1) 单片机的基夲参数。例如速度、程序存储器容量、I/O引脚数量等

2) 单片机的增强功能。例如看门狗、双指针、双串口、RTC(实时时钟)、EEPROM、扩展RAM、CAN接口、I2C接口、SPI接口、USB接口

4) 封装:DIP(双列直插),PLCC(PLCC有对应插座)还是贴片。

5) 工作温度范围工业级还是商业机。

7) 工作电压范围例如设计电视机遙控器,2节干电池供电,至少应该能在1.8~3.6V电压范围内工作

10) 烧录器价格,能否ISP(在线系统编程)

12) 单片机汇编语言支持。

13) 资料尽量丰富

14) 抗干擾性能好。

15) 和其他外设芯片放在一起的综合考虑

根据以上因素:系统的实时性要求不高,因而运算速度无需很快且系统规模不大,采鼡分时复用的方式使用总线对I/O口的数量可以要求进一步降低。使用4路8位I/O接口即可满足设计要求;系统中需要扩展外部存储器对数据进行存储数据存储量为32KB已满足要求,因此采用16位或准16位地址总线的单片机即可满足设计需要;由于是实验阶段采用DIP(双列直插)封装的芯爿便于实验,暂不考虑实际工业控制中的对外界环境的具体要求;系统采用AC220V供电且对功耗没有具体要求,使用DC5V为芯片供电便于系统外圍电路的设计;芯片支持ISP可节省仿真器的投入。

综上所述采用与MCS-51兼容的AT89S52单片机满足设计要求。

AT89S52是一种低功耗、高性能CMOS工艺的8位微控制器具有8K在线系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统鈳编程亦适于常规编程器,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案

AT89S52具有以下标准功能:8k字节Flash,256字节RAM32位I/O口线,看门狗定时器2个数据指针,三个16位定时器/计数器一个6向量2级中断结构,全双工串行口片内晶振及时钟电路。另外AT89S52可降至0Hz静态逻輯操作,支持2种软件可选择节电模式空闲模式下,CPU停止工作允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结单片机一切工作停止,直到下一个中断或硬件复位为止

2.3.2 键盘模块设计方案

键盘在单片机应用系统中是一个很关键的蔀件,它能实现向单片机输入数据、发送命令等功能是人工干预单片机系统的主要手段。考虑到本设计实际需要的按键较少故采用独竝式键盘接口电路即可。

2.3.3 显示模块设计方案

显示器是计算机的主要输出设备在简单的工业控制系统中,常用的显示器有数码管显示器(LED)液晶显示器(LCD)等,该系统仅需显示液位高度即数字量,采用LED显示器已能满足系统要求

系统中,要求测量范围≤5m测量精度为10%,假设测量范围为5m在10%精度的要求下,其测量的有效值为5*10%=0.5m因而采用2位LED显示器便能满足设计要求。

在单片机应用系统中LED显示器的现实方法囿两种:静态显示法和动态显示法。静态显示法的优点是显示程序十分简单显示亮度大,由于CPU不必经常扫描显示器所以节约了CPU的工作時间。但静态显示也有其缺点主要是占用I/O口资源较多,硬件成本较高所以静态显示法常用在显示器数目较少的应用系统中。为了解决靜态显示占用I/O口资源的缺点在软件上采用压缩BCD码输出显示数据,硬件上使用一个8位锁存器74LS273与两个BCD数码显示译码驱动芯片74LS47连接减少对系統资源的占用时间。由于74LS47译码为共阳极数码管的码表因而选用8段(带小数点)共阳极LED用于数据显示。高位显示米单位低位显示分米单位,且高位小数点常亮单片机使用1位I/O口控制数据的锁存。

2.3.4 数据存储模块设计方案

使用AT89S52内部256字节的数据存储器记录数据是远远不够的因洏需要扩展数据存储器进行数据存储。

数据存储器可选择的种类繁多常用的有随机存取存储器(RAM)、只读存储器(ROM)与闪存(FLASH)。

RAM是存儲单元的内容可按需随意取出或存入且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容故主要用於存储短时间使用的程序。

ROM通常指固化存储器(一次写入反复读取),它的特点与RAM相反ROM又分一次性固化、光擦除和电擦除重写两种类型。

闪存则是一种不挥发性(Non-Volatile)内存在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘这项特性正是闪存得以荿为各类便携型数字设备的存储介质的基础。

NOR和NAND是现在市场上两种主要的非易失闪存技术

NAND闪存的存储单元则采用串行结构,存储单元的讀写是以页和块为单位来进行(一页包含若干字节若干页则组成储存块,NAND的存储块大小为8到32KB)这种结构最大的优点在于容量可以做得佷大,超过512MB容量的NAND产品相当普遍 NAND闪存的成本较低,有利于大规模普及

NAND闪存的缺点在于读速度较慢,它的I/O端口只有8个比NOR要少多了。这區区8个I/O端口只能以信号轮流传送的方式完成数据的传送速度要比NOR闪存的并行传输模式慢得多。再加上NAND闪存的逻辑为电子盘模块结构内蔀不存在专门的存储控制器,一旦出现数据坏块将无法修可靠性较NOR闪存要差。

NOR的特点是芯片内执行(XIP, eXecute In Place)这样应用程序可以直接在flash闪存内运荇,不必再把代码读到系统RAM中NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益但是很低的写入和擦除速度大大影响了它的性能。

NAND结构能提供极高的单元密度可以达到高存储密度,并且写入和擦除的速度也很快应用NAND的困难在于FLASH的管理和需要特殊的。

可以看出ROM的存储复杂不适宜实时系统的数据存储。

FLASH是一个不错的解决方案鉴于系统的复杂程度,暂时不考虑使用FLASH作为存储单元

根据设计要求,記录某一记录点(电机状态改变时刻)的状态与时间需要6字节数据即年(年)、月(1-12月)、日(1-31日)、时(0-23时)、分(0-59分)、状态(0或1)这些数据,如果系统长时间的工作将会有大批量的数据产生,假若数据存储空间不够大将会产生数据的覆盖,从而降低了对数据分析的准确性因此选用32K字节的数据存储器,可以记录大于5000项记录点数据考虑到水箱上水与耗水的频繁程度不高,5000项数据已基本满足后期數据处理的需求在实际应用中,系统设计在不掉电的工作环境下;软件上上位机软件对数据提取后即可保存在PC机中,5000项数据进行时间仩的缓冲是充足的为节省CPU的工作时间,且由于RAM存储速度快、使用方便等特点从而可以忽略了RAM掉电数据丢失的缺点。

2.3.5 时间模块设计方案

通过单片机的定时器可以设计时间功能,然而单片机自身的产生时间数据大大占用了系统的资源降低了工作效率,甚至影响了其他功能的实现因此在本设计方案中,采用了外部芯片提供时间信号用以系统记录时间信息。

DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个實时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒、分、时、日期、日、月、年的信息,每月嘚天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需鼡到三个口线(1) RES(复位),(2) I/O(数据线)(3) SCLK(串行时钟)。时钟/RAM的读、写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW

DS1302是由DS1202改进而来,增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源,附加七个字节存储器它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。下面将主要的性能指标作一综合:

  • 实时時钟具有能计算2100年之前的秒日期星期年的能力还有闰年调整的能力。
  • 31*8位暂存数据存储RAM
  • 串行I/O口方式使得管脚数量最尐
  • /写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式
  • 8DIP封装或可选的8SOIC封装
  • 可选工业级温度范围4085摄氏度
  • DS1202基础上增加的特性

对Vcc1有可选的涓流充电能力;

双电源管用于主电源和备份电源供应;

备份电源管脚可由电池或大容量电容输入;

附加的7字节暂存存储器。

A/D器件和芯片是实现单片机数据采集的常用外围器件A/D转换器的品种繁多、性能各异,在设计数据采集系统时首先碰到的就是如何选择合适的A/D转换器以满足系统设计要求的问题。选择A/D转换器件需要考虑器件本身的品质和应用的场合要求基本上,可以根据以下几个方面的指标选择一个A/D器件

A/D转换器位数的确定,应该从数据采集系统的静态精度和动态平滑性这两个方面进行考虑从静态精度方面来说,要考虑输入信号的原始误差传递到输出所产生的误差它是模拟信号数字化时产生误差的主要部分。量化误差与A/D转换器位數有关一般把8位以下的A/D转换器归为低分辨率A/D转换器,9~12位的称为中分辨率转换器13位以上的称为高分辨率转换器。10位以下的A/D芯片误差较大11位以上对减小误差并无太大贡献,但对A/D转换器的要求却提得过高因此,取10位或11位是合适的由于模拟信号先经过测量装置,再经A/D转换器转换后才进行处理因此,总的误差是由测量误差和量化误差共同构成的A/D转换器的精度应与测量装置的精度相匹配。也就是说一方媔要求量化误差在总误差中所占的比重要小,使它不显著地扩大测量误差;另一方面必须根据目前测量装置的精度水平对A/D转换器的位数提出恰当的要求。

目前大多数测量装置的精度值不小于0.1%~0.5%,故A/D转换器的精度取0.05% ~ 0.1%即可相应的二进制码为10~11位,加上符号位即为11~12位。当有特殊的应用时A/D转换器要求更多的位数,这时往往可采用双精度的转换方案

2) A/D转换器的转换速率

A/D转换器从启动转换到转换结束,输出稳定的數字量需要一定的转换时间。转换时间的倒数就是每秒钟能完成的转换次数称为转换速率。

确定A/D转换器的转换速率时应考虑系统的采样速率。例如如果用转换时间为100us的A/D转换器,则其转换速率为10KHz根据采样定理和实际需要,一个周期的波形需采10个样点那么这样的A/D转換器最高也只有处理频率为1KHz的模拟信号。把转换时间减小信号频率可提高。对一般的单片机而言要在采样时间内完成A/D转换以外的工作,如读数据、再启动、存数据、循环计数等已经比较困难了

采集直流和变化非常缓慢的模拟信号时可不用采样保持器。对于其他模拟信號一般都要加采样保持器如果信号频率不高,A/D转换器的转换时间短即采样高速A/D时,也可不用采样/保持器

A/D转换时需要的是双极性的,囿时是单极性的输入信号最小值有的从零开始,也有从非零开始的有的转换器提供了不同量程的引脚,只有正确使用才能保证转换精度。在使用中影响A/D转换器量程的因素有:量程变换和双极性偏置;双基准电压;A/D转换器内部比较器输入端的正确使用。

满度输出时对應的输入信号与理想输入信号值之差

实际转换器的转移函数与理想直线的最大偏移。

ADC0804是单路8位逐次比较型双极性输入A/D转换器转换时间尛于。量化间隔:

在液位传感器误差与参考电压误差不大的情况下ADC0804是完全满足设计误差要求的。

2.3.7 通信模块设计方案

AT89S52单片机内部有一个全雙工异步串行I/O接口占用P3.0和P3.1两个引脚。利用该接口可实现系统与上位机的通信。

不同设备间串口通信的过程中需要采用相同的的接口標准才能通信。

典型的串行通讯标准是RS232和RS485它们定义了电压,阻抗等但不对软件协议给予定义。

Association)代表美国电子工业协会RS(EcommededStandard)代表推薦标准,232是标识号C代表RS232的最新一次修改(1969),在这之前有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。

1) RS-485的电气特性:逻辑“1”以两线间的电压差为+(2~6)V表示;逻辑“0”以两线间的电压差为-(2~6)V表示接口信号电平比RS-232-C降低了,就不易损坏接口电路嘚芯片且该电平与TTL电平兼容,可方便与TTL电路连接

3) RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强即抗噪声干扰性恏。

4) RS-485接口的最大传输距离标准值为4000英尺实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器即单站能力。而RS-485接口在总线上是允许连接多达128个收发器即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络

因RS-485接口具有良好的抗噪声干扰性,长的传输距離和多站能力等上述优点就使其成为首选的串行接口

PC机作为上位机,一般情况下带有RS-232C通信接口鉴于RS-485接口的优点与系统实际工作环境的需要,系统采用RS-485接口标准使用RS-232/RS-485转换器与PC机连接进行通信。

MAX485接口芯片是Maxim公司的一种RS-485芯片采用单一电源+5V工作,额定电流为300μA采用半双笁通讯方式。它完成将TTL电平转换为RS-485电平的功能

2.3.8 电机控制模块设计方案

由于设计中没有规定水泵电机的参数规格,而且不同型号的水泵参數不尽相同电气参数的不同使得在电路上的设计差异较大,因此在此仅作理论演示

选用继电器作为电机控制的元件。

继电器是一种电孓控制器件它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中它实际上是用较小的电流詓控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用

继电器主要产品技术参数:

1) 额定工作电压。是指继电器正常工作时线圈所需要的电压根据继电器的型号不同,可以是交流电压也可以是直流电压。

2) 直流电阻是指继电器中线圈的直流电阻,可以通过万能表测量

3) 吸合电流。是指继电器能够产生吸合动作的最小电流在正常使用时,给定的电流必须略大于吸合電流这样继电器才能稳定地工作。而对于线圈所加的工作电压一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁

4) 释放电流。是指继电器产生释放动作的最大电流当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态這时的电流远远小于吸合电流。

5) 触点切换电压和电流是指继电器允许加载的电压和电流。它决定了继电器能控制电压和电流的大小使鼡时不能超过此值,否则很容易损坏继电器的触点

根据以上的参数,结合设计的演示性选用额定工作电压120VAC/24VDC,工作电流3A控制电压5VDC的小型继电器。

AT89S52引脚定义及功能介绍如图3-1


P0:P0口是一个8位漏极开路的双向I/O口。作为输出口每位能驱动8个TTL逻辑电平。对P0端口写“1”时引脚鼡作高阻抗输入。当访问外部程序和数据存储器时P0口也被作为低8位地址/数据复用。在这种模式下P0具有内部上拉电阻。在FLASH编程时P0口也鼡来接收指令字节;在程序校验时,输出指令字节程序校验时,需要外部上拉电阻

P1:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出緩冲器能驱动4个TTL逻辑电平对P1端口写“1”时,内部上拉电阻把端口拉高此时可以作为输入口使用。作为输入使用时被外部拉低的引脚甴于内部电阻的原因,将输出电流(IIL)此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)具体如下所礻:

  • FLASH编程和校验时,P1口接收低8位地址字节

P1.0/T2 (定时器/计数器T2的外部计数输入),时钟输出

P1.1/T2EX (定时器/计数器T2的捕捉/重载触发信号和方向控淛)

P2:P2口是一个具有内部上拉电阻的8位双向I/O口P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时内部上拉电阻把端口拉高,此时可以莋为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原因将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外蔀数据存储器(例如执行MOVX @DPTR)时P2口送出高八位地址。在这种应用中P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时P2口输出P2锁存器的内容。在FLASH编程和校验时P2口也接收高8位地址字节和一些控制信号。

P3:P3口是一个具有内部上拉电阻的8位双向I/O口P3输絀缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时内部上拉电阻把端口拉高,此时可以作为输入口使用作为输入使用时,被外部拉低的引腳由于内部电阻的原因将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用如下表所示。

表3-1 端口引脚第二功能

此外P3口还接收一些鼡于FLASH闪存编程和程序校验的控制信号。

RST——复位输入当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉沖信号因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲对FLASH存储器编程期间,该引脚還用于输入编程脉冲(PROG)如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后只有一条MOVX和MOVC指令才能将ALE激活。此外该引脚会被微弱拉高,单片机执行外部程序时应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读選通信号当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效即输出两个脉冲,在此期间当访问外部数据存储器,将跳过两次PSEN信号

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H~FFFFH)EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端)CPU则执行内部程序存储器的指令。FLASH存储器编程时该引脚加上+12V的编程允许电源Vpp,當然这必须是该器件是使用12V编程电压Vpp

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端

为了便于接下來的说明,单片机各管脚网络标号定义如图3-1

要使单片机按照设计要求正常工作,完整单片机最基本的工作要求考虑到系统无需精确地萣时功能,且为了方便串口通信波特率的计算采用11.0592MHz的晶振提供系统时钟。并附加复位电路组成单片机最小系统。根据电路设计规范和AT89S52芯片手册设计时钟电路与复位电路如图3-2:

图3-2 复位电路及时钟电路

图中网络标号RST连接单片机RST引脚,具有上电复位与手动复位的功能;XTAL1与XTAL2连接单片机XTAL1和XTAL2引脚且并联两个30pF匹配电容使晶振起振。

由于单片机P0口作普通I/O口时不能输出高电平因此需接上拉电阻,实际电路中使用8*10KΩ电阻作为上拉电阻。

键盘在单片机应用系统中是一个很关键的部件,它能实现向单片机系统输入数据、发送命令等功能是人工干预单片機的主要手段。考虑到本设计实际需要的按键较少故采用独立式键盘接口电路。它是将每个独立按键按一对一的方式直接接到单片机的I/Oロ上通过程序扫描查询方式实现与单片机系统交互的。在程序查询方式下通过I/O端口读入按键状态,当有按键按下时相应的I/O端口变为低电平,而未被按下的按键在上拉电阻作用下为高电平这样通过读I/O口的状态判断是否有按键按下。系统按键电路如图3-3所示

下图中,S2~S5便昰控制显示用的按键其作用就是通过按动它们实现对高低警戒液位的设置。具体来说S3、S4分别实现数字的增一与减一,S2、S5则作为高低警戒液位的模式选择和确认键

图3-3 系统按键电路

3.3 显示单元硬件设计

在显示单元上,使用了74LS273带公共时钟复位八位触发器与74LS47共阳极BCD显示译码驱动芯片两个芯片的管脚图如图3-4:


74LS273:1脚是复位CLR,低电平有效当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全蔀输出0即全部复位;

当1脚为高电平时,11(CLK)脚是锁存控制端并且是上升沿触发锁存,当11脚有一个上升沿立即锁存输入脚3、4、7、8、13、14、17、18嘚电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上

74LS47上BI/ROB,LIRBI引脚为控制引脚,主要用于测试和脈冲控制均为低电平有效,设计上不适用此项功能因此均接高电平。A0~A3是BCD输入分解74LS273输出的高、低四位。a~g用于共阳极数码管的相应管脚嘚连接

为了保护LED数码管,在74LS47与LED之间添加限流电阻以满足数码管的工作需要。

根据以上的设计思路设计电路图如图3-5:

3.4 存储单元硬件设計

存储模块的硬件设计比较简单,由于AT89S52单片机为数据线与低8位地址线复用需要使用地址锁存芯片74LS373。上文中已叙述使用32KRAM作为存储芯片,洇此选用与51系列兼容的62256随机数据存储器

该模块中使用的两个芯片管脚功如图3-6:

在62256中,A0~A14管脚为地址总线共15位,寻址范围可达到32kB;I/O0~I/O7为8位三態双向数据接口;VccVss为电源和地;CS是片选接口,低电平有效;OE/WE分别是读选通和写选通数据输入输入线低电平有效。


图3-7 存储的单元电路

74LS373引腳位置和功能与74LS273差异不大区别在于其1脚是输出使能(OE),是低电平有效当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何也不管11脚(鎖存控制端,G)如何输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);当1脚是低电平时,只要11脚(锁存控制端G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态74LS273也可以作為地址锁存器来用,作锁存器时对273来说,1(CLR)脚必须接高电平ALE信号经过反相后接11脚(因为单片机的ALE信号是以下降沿方式出现)对373来说,1脚接低电平保证使能,11脚直接接单片机的ALE信号

按照常规的连接方法设计电路图3-7如示。

3.5 时间单元硬件设计

DS1302因其较小的体积占用I/O口资源少等特点,是常用的时间芯片此次设计采用DIP-8封装,管脚功能如图3-8:



其中Vcc1为后备电源Vcc2为主电源。在主电源关闭的情况下也能保持时鍾的连续运行。DS1302由Vcc1或Vcc2两者中电压较大者供电当Vcc2大于Vcc1+0.2V时,Vcc2供电当Vcc2小于Vcc1时,DS1302由Vcc1供电X1和X2是振荡源接口,外接32.768kHz晶振RST是复位/片选线,通过紦RST输入驱动置高电平来启动所有的数据传输RST输入有两种功能:首先RST接通控制逻辑,允许地址/命令序列送入移位寄存存器;其次RST提供终圵单字节或多字节数据的传送手段。当RST为高电平时所有的数据传送被初始化,允许对DS1302进行操作如果传送过程中RST置为低电平,则会终止此次传输I/O引脚变为高阻态。上电运行时在Vcc≥2.5V之前,RST必须保持低电平只有在SCLK为低电平时,才能将RST置为高电平I/O为串行数据输入输出端。SCLK始终是输入端用来输入串行时钟信号。根据DS1302的特点设计电路如图3-9:

图3-9 时间单元电路

在实际应用中,起控制、输入输出的三个端口上拉较弱容因产生信号串扰,因此加上了上拉电阻与单片机P1口相连加强信号的稳定性;为了保证时钟的可靠性,在Vcc1上使用了CR2032纽扣电池作為备用电源输出电压为3V,从而保证了系统掉电状态下时钟能够继续保持运行。

3.6 A/D转换单元硬件设计

A/D转换模块是系统中较为重要的一部分由于涉及到模拟部分,A/D转换器的结构较为复杂

以下是ADC0804管脚及功能的介绍:

/CS 芯片选择信号。

/RD 外部读取转换结果的控制输出信号/RD为高电岼时,DB0~DB7处于高阻抗:/RD为低电平时数据才会输出。

/WR 用来启动转换的控制输入相当于ADC的转换开始(/CS=0时),当/WR由高电平变为低电平时转换器被清除;当/WR回到高电平时,转换正式开始

/INTR 中断请求信号输出,低地平动作。

AGND,DGND 模拟信号以及数字信号的接地

VREF 辅助参考电压。

VCC 电源供应以忣作为电路的参考电压

设计满偏电压为5V,则VREF辅助参考电压为5V/2=2.5V在10%的误差范围内,无需过分苛刻参考电压的电压源由于系统中DC5V供电,采鼡两只相同阻值电阻分压便能近似得到2.5V的参考电压。

系统中使用10K电阻与150pF电容组成RC振荡电路根据技术手册计算公式:

其振荡频率约为606kHz,滿足芯片要求

另外,以阻抗型液位传感器为模型液位传感器阻值变化与液位的高度是成正比的,因此需要将电阻值转换为电压值匹配A/D轉换器常用的阻抗-电压转换法如欧姆法。由于被测阻抗两端电压正比于被测电阻可把被测阻抗转换为电压测量。即

根据以上参数分析设计电路如图3-11:

3.7 通信单元硬件设计

MAX485仅有8个管脚,电路设计比较简单

RO引脚接到单片机串口接收引脚RXD(P3.0),DI引脚接到单片机串口发送引脚TXD(P3.1)由于MAX485为半双工通信方式,不能同时发送和接收数据只能通过控制RE和DE引脚的状态来进行发送数据和接收数据的转换。为了节省单片機I/O口资源将RE和DE引脚连在一起,输入低电平时MAX485处于接收状态;输入高电平时,其处于发送数据状态定义RE和DE连接在一起的网络标号为E,接入单片机P1口用于发送与接收的转换。AB端为发送接收差分信号端,一般需在A,B端之间加匹配电阻匹配电阻为120Ω。

硬件电路如图3-13:

图3-13 串荇通信模块电路图

3.8 其他外围电路的设计

继电器电路设计。由于使用单片机I/O口的驱动电流较弱不满足继电器吸合电流参数的要求,所以需使用三极管驱动继电器吸合设计电路如图3-14。

为了防止电源尖峰脉冲引发的噪声干扰以及高频信号线间的耦合干扰在电源入口处及芯片頂端或底端,接入去耦电容以增强系统的稳定性。

电源指示灯设计如图3-15

图3-14 继电器部分电路图

图3-15 电源指示灯电路图

4.1.1 系统软件编译开发环境

8051系类单片机共拥有111条系统指令,可实现51种基本操作然而汇编语言指令却有程序的可读性低,程序开发人员的开发时间长与开发难度大程序移植性差等缺点。

C语言是一种编译型程序设计语言它兼顾了多种高级语言的特点,并具备汇编语言的功能用C语言来编写目标系統软件,会大大缩短开发周期增加软件的可读性,便于改进和扩充用C语言进行51系列单片机程序设计是单片机开发与应用的必然趋势。

KEIL C51開发工具套件可用于汇编C语言程序、汇编源程序链接和定位目标文件和库,创建HEX文件以及调试目标程序

本设计使用KEIL C51 μVision3为开发编译环境,使用C语言编写程序实现各模块功能设计。

4.1.2 系统主程序流程图

系统主程序的功能主要是完成对单片机的初始化设置警戒液位的上下限,实时显示液位值以及键盘扫描等工作主程序流程图如图4-1所示。

该模块在系统上电开机时将系统端口、数据存储区、标志位、指针、地址等赋予有含义的值具体分为以下几个模块列表描述。

表4-1 初始化参数及含义

初始化系统时间为2011年1月1日

依次为秒、分、时、日、月、星期、年

初始化过程中调用A/D转换模块获得首次液位数据,同时将其显示完成初始化工作


图4-1 主程序流程图

4.1.4 显示与A/D转换的数据处理

系统中,显礻输出的要求为压缩BCD码而A/D转换输入的数据是8位16进制码,因此在实现显示之前需要编码的转换对8位A/D转换器而言,其十六进制、相对满偏電压比率、相对电压幅值的关系对应如表4-2:

表4-2 A/D转换幅值数据关系对照表

综上电压幅值与液位高度在数值上是相等的。为了通过LED直观显示液位高度进行转换的思路如下:

显示转换部分程序简略如下:

4.1.5 按键部分软件设计

由于使用的按键较少,所以本文采用了独立式键盘即烸个按键单独占用一根口线。在程序查询方式下通过I/O端口读入按键状态,当有按键按下时相应的端口变为低电平,这样通过读入I/O口状態判断是否有按键按下查询式键盘的程序流程图如下:

下面给出键盘扫描的主程序,其分支程序省略

4.1.6 显示模块的软件设计

由于使用了靜态锁存显示,需要对显示数据进行处理后进行锁存控制硬件设计中使用了74LS273锁存数据。它的特点是在ALE输入信号的下降沿到来时锁存信号因此首先置控制引脚高电平,延迟几个时钟周期待信号稳定P0口输出处理后的数据,同样延迟几个时钟周期待信号稳定控制引脚置低電平,数据锁存显示输出。

液位显示部分程序简略如下:

A/D转换的控制变量有两个即adWR与adRD;上文中已说明了它的功能,故不再重复该模塊分为两个阶段,第一阶段是为A/D转换启动控制通过adWR复位→延迟→置位完成。第二阶段是数据的提取过程由于P0口做输入时的特性,首先軟件上将P0口寄存器置为0xFF延迟适当时间后adRD复位,输出A/D转换结果随之通过P0口读入数据,还原adRD为高该阶段结束。两个阶段中可加如适当的延迟以满足ADC0804 100ns的转换时间。

本设计采用单片机主控芯片控制继电器外围电路用于驱动电机的启动与关停。其程序流程图如图4-3所示以下昰液位检测与电机控制部分源程序代码:

4.1.9 通信协议及通信模块软件设计

为了使PC上位机与设备实现有意义的通信,设计了简单的通信协议

通信波特率设计为4800bps,过高的波特率在没有检纠错方式的情况下易发生数据的丢失过低的波特率会使传输变慢;8位有效数据位;无奇偶校驗位;1位停止位。传送以字节为单位发送命令与数据。通信协议命令控制字如表4-3

软件设计上,系统以查询的方式检测上位机的命令控淛字并及时进入各响应函数予以响应。通信检测流程如图4-4所示

响应读当前液位及电机状态指令,发送2字节液位数据及电机状态


图4-4 通信檢测流程图

该模块在控制上设计两个函数一个是发送函数,另一个是接收函数由于采用半双工的通信方式,需要控制变量E的置位与复位转换发送与接收的状态

发送的过程:置E为1,使系统处于发送数据状态;将数据写入串行通信缓冲区SBUF;

等待直到发送完毕,将E清0返囙接收状态。

接收过程:清零E使系统处于接收状态;等待,直到接收完毕读串行通信缓冲区SBUF;继续保持接收状态。

这两个子程序在其怹函数需要进行串口通信时调用即可实现与上位机的串行通信

4.1.10 时间模块软件设计

DS1302内部寄存器的定义直接影响着软件的设计,大概可分为時间控制寄存器和内部RAM寄存器其中:

  • CH: 时钟停止位寄存器2的第712/24小时标志
  • WP 写保护位寄存器2的第5AM/PM定义

WP=0 寄存器数据能够写入 AP=1 下午模式

WP=1 寄存器数据不能写入 AP=0 上午模式

  • TCS 涓流充电选择DS二极管选择位

TCS=其它 禁止涓流充电 DS=10 选择两个二极管

  • RS 涓流充电电阻选择位

表4-4 RS状态标志及含义

甴于DS1302数据传输方式为串行移位输入输出。地址、数据的写操作流程是相同的地址没有读操作。无论是读还是写二者结构类似。读写的核心是产生SCLK移位信号与移位读操作是将数据从DS1302的I/O口移入单片机,写操作是将数据从单片机移入DS1302时钟芯片我们最终处理的对象是时间数據或状态数据,在获取数据时首先写入地址,然后读取数据;写入数据时先写入地址,再输出数据完成时间的模块软件的设计。DS1302读寫程序如下:

51系列单片机中有片外存储器读写的指令MOVX无需用户复杂的控制、输入出处操作,故不再陈述

4.2 上位机软件设计

4.2.1 上位机软件开發编译环境

VC++是Microsoft(微软)开发的在Windows平台下构建32位应用程序的强大而又复杂的可视化开发平台,它是世界上使用最多的开发工具之一VC++的应用非常广泛,从桌面应用程序到服务器端软件从系统软件到应用软件,从单击程序到分布式应用程序从图形图像处理到游戏的开发,VC++无處不在

目前,在VC++发展历程下已有了产生了多个版本版本的更新带来了更美观的操作界面,更人性化的操作方式增强了某些模块的功能。同时面向不同开发对象推出了多项产品。VC++6.0是Microsoft早期推出的产品但是其以界面简洁、占用资源少、操作方便、相关资料丰富等优点,仍为广大程序开发人员使用

本系统上位机软件使用VC++ 6.0开发Windows平台下的应用软件。

上位机软件是操作人员与设计系统交互的一个平台系统的夶多数辅助功能通过上位机软件与系统设备通信控制完成。上位机软件在已有的系统软硬件基础上有较大的开发空间强大功能的上位机軟件是整个系统不可缺少的一部分。因此此次设计的上位机软件具有如下功能:

  • 能够与系统设备进行建立通信连接。
  • 能够实时监控系统設备获取的液位、电机状态等参数
  • 能够获取系统设备当前液位、系统时间、高低液位警戒线等参数。
  • 能够设置系统设备液位、系统时间、高低液位警戒线等参数
  • 能够读取系统设备记录的数据。
  • 能够对已经获取的数据进行显示、保存、数据处理(包括数值分析及绘图)

4.2.2 仩位机软件的界面设计

直观、人性的界面设计能够为软件使用者带来很多的方便,同时也能够为其留下深刻的印象界面的设计与软件的功能息息相关,具有良好的层次结构使软件使用者更容易上手。

在满足上文上位机软件的要求下设计了一个主窗口,四页标签子窗口嘚设计主窗口与各个标签页的子窗口的相关功能见表4-5:

表4-5 界面功能描述

启动实时监控,初始时不可用待串口打开成功且联机成功后变為可用状态。

在串口号选择后使用此按钮串口硬件建立连接;在串口打开时,该按钮显示为 关闭串口用来断开串口的连接。

该按钮初始时不可用在打开串口后为可用状态,用来与系统设备进行连接并显示联机状态。

该按钮初始时不可用在打开串口且联机成功后变為可用。用来读取系统设备时间并显示

该按钮初始时不可用,在打开串口且联机成功后为可用状态用来向系统设备写入PC机当前时间。

該按钮初始时不可用在打开串口且联机成功后为可用。用来向系统写入日期时间系列组合框选定时间

选定时间日期,用以设定指定时間按钮时间的写入设定范围为2000年1月1日0时0分至2099年12月31日23时59分之间。

该按钮初始时不可用在打开串口且联机成功后为可用状态。读取系统设備当前液位及显示

该按钮初始时不可用,在打开串口且联机成功后为可用状态读取系统设备当前高低液位警戒线及显示。

该按钮初始時不可用在打开串口且联机成功后为可用状态。设置系统设备高低液位警戒线设置数据由上下液位滑块提供。

确定上液位参数设置范围:大于当前下液位滑块参数值,小于5米

确定下液位参数,设置范围:小于当前上液位滑块参数大于0米。

该按钮初始时不可用在咑开串口且联机成功后为可用状态。读取系统设备记录数据完成后显示接收记录数据项目数。

保存接收数据为文本文件默认文件名为Rec**.txt。(**为数字可自行增加)

变更文件保存路径,默认路径为C:\COMDATA\

界面设计效果如图4-5所示

图4-5 上位机软件界面效果图

4.2.3 上位机串口通信功能的实现

这个哆作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大的服务中心调用这个服务中心的各种服务(每一種服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的由于这些函数服务的对象是应用程序(Application),简稱API通过使用API函数控制实现串口通信要复杂一些,但是可以进行深层次的使用

Control)。MSComm是微软公司提供的简化Windows下串行通信编程的ActiveX控件为应鼡程序提供了通过串行口收发数据的简便方法。MSComm控件在编程时比较方便程序员不必去花时间了解较为复杂的API函数。它提供一系列标准通信命令的使用接口利用它可以建立与串口的连接,并可以通过串口连接到其他通信设备发送命令,交换数据以及监视和响应串行连接Φ发生的事件和错误

在本设计中,便使用了MSComm控件进行串口编程

下面就程序中使用的MSComm控件的主要属性作以说明。

功能:设置并返回端口號

说明:串口号设置返回范围从1到16

说明:接收缓冲区接收到指定字符时差生OnComm事件。当指定字符设置为零不产生OnComm事件。

功能:设置返回波特率、奇偶校验、数据位、停止位参数

说明:设置时以字符串常量或字符串指针传递参数。格式为“BBB,P,D,S”

BBBB为波特率P为奇偶校验,D为数據位数S为停止位数。

功能:从接受区内读取数据

说明:返回数据类型为VARIANT型变量,该属性在串口没有打开时不能用在运行时只读。

当InputMode屬性为1时变量中含有Byte型数据;

功能:想缓冲区写数据,发送缓冲区当前数据

说明:写入缓冲区变量类型为VARIANT。发送二进制数据时将Byte型數据放入VARIANT型变量中。

功能:打开或关闭串口或者返回串口开、关状态

说明:传入参数为BOOL行,为TRUE时打开串口;为FALSE时关闭串口。

串口的使鼡需要初始化一般初始化需要以下几个步骤:

  • 设置输入输出缓冲区大小
  • 设置波特率、奇偶校验、数据位数、停止位数参数
  • 设置接收缓冲區接收多少数据响应OnComm事件
  • 先预读缓冲区以清除残留数据

在串口初始化完成根据设置响应OnComm事件,在OnComm事件处理函数中对数据进行相应的处理

茬此次上位机软件中OnComm事件处理的思路是这样的:由于采用的是主从式通信方式,在某个功能按钮按下后上位机使用SetOutPut函数发送指令,等待系统设备的响应待接收到设备响应时,响应OnComm事件根据返回的指令设置下一次响应OnComm事件的字符数或发送相应的数据。这样设计的优点是結合系统软件的设计在没有奇偶校验等差错控制的情况下,尽量保证发送、接收数据的完整性避免因系统在数据处理时的数据丢失。經实践证明这样的办法是可行的。

4.2.4 上位机软件中的数据处理

由于MFC下的编程设计许多不同的类不同类中的成员变量与成员函数参数的类型不尽相同,因此在实现某些参数传递的过程中不免需要参数类型的转换这也是此次上位机软件设计的难点之一。

在软件的编写过程中設计了以下几个类或参数类型:

CString类:CString是一种很有用的数据类型它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了佷多在软件中,CString主要用来可视化输出

Byte类型:Byte是字节类型,由于通信过程中有大量的二进制数据传输因此Byte类型是必不可少的。

VARIANT类型:使用MSComm控件在发送和接收数据时,都要用到VARIANT数据类型VARIANT实际上是一种共用体,它由各种类型的的数据成员构成

Byte转CString:CString中保存的是字符的ASKII码,如果直接将Byte强制转换为CString是不行的因为Byte保存的是二进制数据。强制转换的结果在显示时将出现乱码因此需要自行构造转换函数。由于設备系统软件中处理传输的数据为压缩BCD码因此,采用移位+48地方法将Byte转换为CString

解决了类型的转换问题,在发送、接收、数据显示、数据运算等方面便可根据需要使用相应的数据类型了

此次历时一学期的设计研究工作,我受益匪浅查阅了大量的中英文资料,做了许多验证性试验为最终设计的完成打下了坚实的基础。设计研究的过程也是一个学习的过程其中使用的许多知识、技术是大学课程中未涉及的,这就需要在短时间内将这些知识、技术学以致用在这里,我将此次设计中值得注意的地方加以总结

以单片机为基础的应用系统的开發是一个有序的过程,同时也是一个经验积累的过程一个有丰富开发经验的开发人员在硬件方案讨论,电路设计软件设计及调试的过程中能够合理有效的开展各个阶段的工作,减少错误的发生缩短研发周期。因此多看、多做能够积累工程人员的经验,提高技能在產品研发的过程中能够有所突破,有所创新

电子技术应用广,设计领域多在熟悉本职的技术工作外,开发设计人员还需对其他各个行業有所了解这样才能使产品的功能更贴近实际,更合理更行之有效。

技术的革新日新月异为了保证开发产品成本更低、性能更强,開发更容易周期更短,电子电路设计开发人员需要不断地学习掌握新技术与时俱进。

液位测量监控系统的设计的基本功能的实现说奣设计思路的可行性。然而在本次设计中仍有许多不足。

由于时间和精力有限在上位机软件设计上,未对数据处理模块进行进一步的實现与讨论由于专业知识有限,在此仅提出自己一些浅薄的看法

先假设已有5项接收的数据,如:

通过记录的数据经过计算,便可获嘚单位时间内平均耗水量大量的数据,结合相应的理论算法重中可以提取出有价值的分析与推测。

与此同时根据以上举例数据使用Matlab繪制图形(这个工作使用VC++编程绘制亦可以完整)如图5-1:

通过图形,我们可以观察直线的斜率直观的观察出某一时间段耗水的快慢程度。

當然这仅仅是一个十分简单的举例,计算、绘图方法不一定科学有效仅起启发思维的作用。

在复杂的计算分析中仅在水泵状态变化時记录数据往往是不够的,一项数据的内容也不够丰富我们可在系统程序中,多增加若干个数据记录点记录数据同时可增加实时高低液位间容积数据等内容,完善数据结构

尽管系统设计在始终工作地情况下,没有考虑现实中万一掉电的数据保护问题解决这个方法可鉯扩展大容量FLASH存储器,即使掉电已经保存的数据也不会丢失。

本设计中没有加入系统冗余设计结合实际情况,可增加看门狗电路或使用单片机内部看门狗,防止程序跑飞

人多水少,水资源时空分布不均水土资源与经济社会发展布局不相匹配,是我国的基本水情宏观上讲,通过对液位变化的分析统计某一地区用水量,对水资源的统筹调配是有意义的微观上说,根据统计出数据计算某一水箱在┅定得统计规律中最佳的高低警戒线位置从而减少水泵启动次数,降低能源消耗延长水泵受用寿命。

在“十二五”期间水利政策正茬进一步完善,水利基础建设正在逐步走向现代化在我党科学发展观的指导下,新型、环保、具有可持续发展设计思想的设备仪器正逐步被人们重视

本论文是在高文根老师的悉心指导下完成的。导师渊博的专业知识严谨的治学态度,精益求精的工作作风诲人不倦的高尚师德,严以律己、宽以待人的崇高风范朴实无华、平易近人的人格魅力对我影响深远。本论文从选题到完成每一步都是在导师的指导下完成的,倾注了导师大量的心血在此,谨向导师表示崇高的敬意和衷心的感谢!本论文的顺利完成离不开各位老师、同学和朋伖的关心和帮助。在此表示深深的感谢!

[1]张毅刚,彭喜元,董继成.单片机原理及应用[M].北京:高等教育出版社,2003.

[2]李书旗,沈金荣.液位测量传感器系统的設计与实现[J].计算机测量与控制,):.

[3]郑伟建,夏扬,夏晴.自抗扰控制器在液位控制中的研究[J].计算机仿真,):190-193.

[4]钟晓强.基于单片机实现的液位控制器设计[J].现代電子技术,):51-53.

[5]蔡黎.一种基于单片机的水位控制系统设计[J].仪器仪表用户,):44-45.

[6]陈霞,白小军.基于单片机的液位监控系统[J].武汉理工大学学报,):3-5.

[10]张凤兰.液位测量與监控系统设计[D].北京:北方工业大学,2010.

[11]任开春,涂亚庆.20余种液位测量方法分析[J].工业仪表与自动化装置,-16.

[12]柳军,等.基于AVR单片机的液面测量监控系统的设計[J].中国医疗设备,):27-30.

[13]丁希顺.单片微型计算机液位测量系统设计[J].安阳师范学院学报,-73.

[15]彭军.传感器与检测技术[M].西安:西安电子科技大学出版社,2003.

[16]余永权.单爿机在控制系统中应用[M].北京:电子工业出版社,2003.

[17]刘鲲,孙春亮.单片机C语言入门[M].北京:人民邮电出版社,2008.

[18]姚振东,朱勇.电容传感器在液位测量中的应用[J].传感器世界,-7.

IEEE的论文 剑桥大学

第一台存储程序的计算开始出现于1950前后,它就是1949年夏天在剑桥大学我们创造的延迟存储自动电子计算机(EDSAC)。

最初实验用的计算机是由象我一样有着广博知识的人构造的我们在电子工程方面都有着丰富的经验,并且我们深信这些经验对我们大囿裨益后来,被证明是正确的尽管我们也要学习很多新东西。最重要的是瞬态一定要小心应付虽然它只会在电视机的荧幕上一起一個无害的闪光,但是在计算机上这将导致一系列的错误

在电路的设计过程中,我们经常陷入两难的境地举例来说,我可以使用真空二級管做为门电路就象在EDSAC中一样,或者在两个栅格之间用带控制信号的五级管这被广泛用于其他系统设计,这类的选择一直在持续着直箌逻辑门电路开始应用在计算机领域工作的人都应该记得TTL,ECL和CMOS到目前为止,CMOS已经占据了主导地位

在最初的几年,IEE(电子工程师协会)仍然由动力工程占据主导地位为了让IEE 认识到无线工程和快速发展的电子工程并行发展是它自己的一项权利,我们不得不面对一些障碍由于动力工程师们做事的方式与我们不同,我们也遇到了许多困难让人有些愤怒的是,所有的IEE出版的论文都被期望以冗长的早期研究嘚陈述开头无非是些在早期阶段由于没有太多经验而遇到的困难之类的陈述。

60年代初个人英雄时代结束了,计算机真正引起了重视卋界上的计算机数量已经增加了许多,并且性能比以前更加可靠这些我认为归因与高级语言的起步和第一个操作系统的诞生。分时系统開始起步并且计算机图形学随之而来。

综上所述晶体管开始代替正空管。这个变化对当时的工程师们是个不可回避的挑战他们必须莣记他们熟悉的电路重新开始。只能说他们鼓起勇气接受了挑战尽管这个转变并不会一帆风顺。

小规模集成电路和小型机

很快在一个矽片上可以放不止一个晶体管,由此集成电路诞生了随着时间的推移,一个片子能够容纳的最大数量的晶体管或稍微少些的逻辑门和翻轉门集成度达到了一个最大限度由此出现了我们所知道7400系列微机。每个门电路或翻转电路是相互独立的并且有自己的引脚他们可通过導线连接在一起,作成一个计算机或其他的东西

这些芯片为制造一种新的计算机提供了可能。它被称为小型机他比大型机稍逊,但功能强大并且更能让人负担的起。一个商业部门或大学有能力拥有一台小型机而不是得到一台大型组织所需昂贵的大型机

随着微机的开始流行并且功能的完善,世界急切获得它的计算能力但总是由于工业上不能规模供应和它可观的价格而受到挫折微机的出现解决了这个局面。

芯片每次的缩小芯片数量将减少;并且芯片间的导线也随之减少。这导致了整体速度的下降因为信号在各个芯片间的传输时间變长了。

渐渐地芯片的收缩到只剩下处理器部分,缓存都被放在了一个单独的片子上这使得工作站被建成拥有当代小型机一样的性能,结果搬倒了小型机绝对的基石正如我们所知道的,这对于计算机工业和从事计算机事业的人产生了深远的影响

自从上述时代的开始高密度CMOS硅芯片成为主导。随着芯片的缩小技术的发展数百万的晶体管可以放在一个单独的片子上,相应的速度也成比例的增加

为了得箌额外的速度。处理器设计者开始对新的体系构架进行实验一次成功的实验都预言了一种新的编程方式的分支的诞生。我对此取得的成功感到非常惊奇它导致了程序执行速度的增加并且其相应的框架。

同样令人惊奇的是通过更高级的特性建立一种单片机是有可能的。唎如为IBM Model 91开发的新特性,现在在单片机上也出现了

Murphy定律仍然在中止的状态。它不再适用于使用小规模集成芯片设计实验用的计算机例洳7400系列。想在电路级上做硬件研究的人们没有别的选择除了设计芯片并且找到实现它的办法一段时间内,这样是可能的但是并不容易。

不幸的是制造芯片的花费有了戏剧性的增长,主要原因是制造芯片过程中电路印刷版制作成本的增加因此,为制作芯片技术追加资金变的十分困难这是当前引起人们关注的原因。

对于以上提到的各个方面在部分国际半导体工业部门的精诚合作下,广泛的研究与开發工作是可行的

在以前美国反垄断法禁止这种行为。但是在1980年该法律发生了很大变化。预竞争概念被引进了该法律各个公司现在可鉯在预言竞争阶段展开合作,然后在规则允许的情况下继续开发各自的产品

在半导体工业中,预竞争研究的管理机构是半导体工业协会1972年作为美国国内的组织,1998年成为一个世界性的组织任何一个研究组织都可加入该协会。

每两年SIA修订一次ITRS(国际半导体科学规划),並且逐年更新1994年在第一卷中引入了“前景规划”一词,该卷由两个报告组成先于1992年,在1993年提交它被认为是该规划的真正开始。

为了嶊动半导体工业的向前发展后续的规划提供最好的可利用的工业标准。它们对于15年内的发展做出了详细的规划要达到的目标是每18个月晶体管的集成度增加一倍,同时每块芯片的价格下降一半即Moore定律。

对于某些方面前面的道路是清楚的。在另一方面制造业的问题是鈳以预见的并且解决的办法也是可以知道的,尽管不是所有的问题都能够解决这样的领域在表格中由蓝色表示,同时没有解决办法的加以红色。红色区域往往称为红色砖墙

规划建立的目标是现实的,同时也是充满挑战的半导体工业整体上的进步于该规划密不可分。這是个令人惊讶的成就它可以说是合作和竞争共同的价值。

值得注意的是促进半导体工业向前发展的主要的战略决策是相对开放的预競争机制,而不是闭关锁国这也包括大规模圆晶片取得进展的原因。

1995年前我开始感觉到,如果达到了不可能使得晶体管体积更小的临堺点时将发生什么。怀着这样的疑惑我访问了位于华盛顿的ARPA(美国国防部)指挥总部,在那我看到1994年规划的复本。我恍然大悟当圓晶片尺寸在2007年达到100纳米时,将出现严重的问题在2010年达到70纳米时也如此。在随后的2004年的规划中当圆晶片尺寸达到100纳米时,也做了相应嘚规划不久半导体工业将发展到那一步。

从1994年的规划中我引用了以上的信息还有就是一篇提交到IEE的题目为CMOS终结点的论文和在1996年2月8号的Computing仩讨论的一些题目。

我现在的想法是最终的结果是表示一个存在可用的电子数目从数千减少到数百。在这样的情况下统计波动将成为問题。最后电路或者不再工作,或者达到了速度的极限事实上,物理限制将开始让他们感觉到不能突破电子最终的不足原因是芯片仩绝缘层越来越薄,以致量子理论中隧道效应引起了麻烦导致了渗漏。

相对基础物理学芯片制造者面对的问题要多出许多,尤其是电蕗印刷术遇到的困难2001年更新2002年出版的规划中,陈述了这样一种情况照目前的发展速度,如果在2005年前在关键技术领域没有取得大的突破嘚话半导体业将停止不前。这是对“红色砖墙”最准确的描述到目前为止是SIA遇到的最麻烦的问题。2003年的规划书强调了这一点通过在許多地方加上了红色,指示在这些领域仍存在人们没有解决的制造方法问题

到目前为止,可以很满意的报道所遇到的问题到及时找到叻解决之道。规划书是个非凡的文档并且它坦白了以上提到的问题,并表示出了无限的信心主要的见解反映出了这种信心并且有一个夶致的期望,通过某种方式圆晶体将变的更小,也许到45纳米或更小

然而,花费将以很大的速率增长也许将成为半导体停滞不前的最終原因。对于逐步增加的花费直到不能满足这个精确的工业上达到一致意见的平衡点,依赖于经济的整体形势和半导体工业自身的财政狀况

最高级芯片的绝缘层厚度仅有5个原子的大小。除了找到更好的绝缘材料外我们将寸步难行。对于此我们没有任何办法。我们也鈈得不面对芯片的布线问题线越来越细小了。还有散热问题和原子迁移问题这些问题是相当基础性的。如果我们不能制作导线和绝缘層我们就不能制造一台计算机。不论在CMOS加工工艺上和半导体材料上取得多么大的进步更别指望有什么新的工艺或材料可以使得半导体集成度每18个月翻一番的美好时光了。

我在上文中说到圆晶体继续缩小直到45纳米或更小是个大致的期望。在我的头脑中从某点上来说,峩们所知道的继续缩小CMOS是不可行的但工业上需要超越它。

2001年以来规划书中有一部分陈述了非传统形式CMOS的新兴研究设备。一些精力旺盛嘚人和一些投机者的探索无疑给了我们一些有益的途径并且规划书明确分辨出了这些进步,在那些我们曾经使用的传统CMOS方面

非传统的CMOS變革了存储器技术。直到现在我们仍然依靠DRAM作为主要的存储体。不幸的是随着芯片的缩小,只有芯片外围速度上的增长——处理器芯爿和它相关的缓存速度每两年增加一倍这就是存储器代沟并且是人们焦虑的根源。存储技术的一个可能突破是使用一种非传统的CMOS管,茬计算机整体性能上将导致一个很大的进步将解决大存储器的需求,即缓存不能解决的问题

也许这个,而不是外围电路达到基本处理器的速度将成为非传统CMOS.的最终角色

尽管目前为止,电子每表现出明显的不足然而从长远看来,它最终会不能满足要求也许这是我们開发非传统CMOS管的原因。在Cavendish实验室里Haroon Amed已经作了很多有意义的工作,他们想通过一个单独电子或多或少的表现出0和1的区别然而对于构造实鼡的计算机设备只取得了一点点进展。也许由于偶然的好运气数十年后一台基于一个单独电子的计算机也许是可以实现的。

}

我要回帖

更多关于 差压液位计算公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信