毕业设计(论文)基于单片机的液位测量监控系统

上传人:1888****888 文档编号:39591541 上传时间:2021-11-11 格式:DOC 页数:51 大小:1.07MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于单片机的液位测量监控系统_第1页
第1页 / 共51页
毕业设计(论文)基于单片机的液位测量监控系统_第2页
第2页 / 共51页
毕业设计(论文)基于单片机的液位测量监控系统_第3页
第3页 / 共51页
资源描述:

《毕业设计(论文)基于单片机的液位测量监控系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的液位测量监控系统(51页珍藏版)》请在装配图网上搜索。

1、论文题目: 基于单片机的液位测量监控系统专 业: 电子信息工程学 生: 签名: 指导老师: 签名: 摘 要液位测量广泛应用于工业、经济、生活等领域。基于单片机的液位测量装置具有测量准确、重复性好、功耗低、使用寿命长的特点,是广泛采用的技术。在深入学习科学发展观的同时,电子设备的设计也需融入可持续发展的设计理念。故此,在基于单片机的液位测量装置基础上,扩展实时监控、数据采集、计算机串行通信等功能,从而能够通过科学的方法将液位测量与统计科学结合,合理调度水资源,降低能源消耗。本文从系统方案选择与论证,硬件电路设计,系统软件与上位机软件设计等几个方面介绍了基于单片机的液位测量监控系统的设计过程,最终

2、实现了液位的实时测量与监控,并能够对特殊的监控点进行时间信息及电机状态信息的记录,同时能够控制电机的启动、停止。最后,本文总结了设计过程中出现的问题及解决方法,简要叙述了液位检测监控数据的处理方法,引出了进一步设计开发的思路。【关 键 字】 单片机;液位测量;实时监控;串口通信【论文类型】 应用型Title:The Liquid Level Measurement and Real Time System Base On MCSMajor: Electronics and Information EngineeringName:Han YueSignature: Supervisor:Li W

3、enfengSignature: ABSTRACTThe liquid level measurement is widely used in industrial, economic, life and so on. The liquid level measurement device base on MCS as a technical is also widely used because of many characteristics such as high measurement accuracy, good repeatability, low power consumptio

4、n and long useful time. When we study Scientific Outlook on Development thoroughly, the design of electronic aid should include the thought of sustainable development. So, beyond the liquid level measurement device base on MCS, expand the functions of real-time monitoring, data acquisition, serial c

5、ommunication. Through the new functions, the scientific method of the liquid level measurement could be combined with Statistical Science, be used to manage the water resources reasonable, reduce energy consumption.This thesis introduces the design process of the liquid level measurement and real ti

6、me system by several parts as system schema, the design of hardware circuit, the software of host computer and system software. Summarize several problems in the design process and propose the solution to the problems. Describe the way of processing the liquid level measurement data. To put forward

7、the train of thought.【Key words】MCS ;Liquid Level Measurement; Real-time monitoring; Serial Communication【Type of Thesis】 Application Type前言上世纪40年代,电子计算机的诞生,标志着人类电子技术进入了一个新的阶段,无论是阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer)还是埃尼阿克(ENIAC)计算机,它们庞大的体积,惊人的功耗以及“缓慢”的运算速度给我们留下了深刻的印象。1976年单片机的推出为电子电路设计提供了新的思路,也促进了模

8、拟电路向数字电路发展的历程。它在一片芯片上集成了完整的计算机系统。从它的发展来看,低功耗CMOS化、微型单片化、主流与多品种共存的发展趋势更进一步促使了单片机在各个行业的应用。这些应用,很大一方面体现在工业控制中。在工业上,使用单片机可以构成形式多样的控制系统和数据采集系统。液位测量对工农业生产、医疗监护等有着重要的意义。如对于水塔、油库、油箱、输油管等,通常需要时刻了解其液位情况。但直接测量有许多不便和困难,因此许多领域采用仪器测量高度,实现自动监测功能。目前,液位测量的方法比较多,常见的有电阻法、光电法、测重法(压力法)、电容法、浮标法及声光电的反射回波法等。无论怎样,这些方法的关键是将液

9、位的相对位移量转换成为电压、电流、阻抗等便于进行电处理的物理量。本文不对这些方法进行深入的讨论。重点讨论基于单片机的液位测量监控系统的硬件总体以及软件实现。目前,市面上进行液位测量的仪表种类繁多,但是同时具有测量、监控、数据记录及处理的液位测量装置并不多。在某些工业控制系统中,数据的测量这一基本功能已不能满足现代工业的要求,往往需要对大批数据进行记录,对其进行后期处理分析,实现差错控制、工艺改善、资源优化等一系列工作。为了获得大批量的数据,得到可靠的分析资料,往往需要长期、多网点的监控记录。在液位测量这一领域中,如江河湖海、城市用水等方面,大量数据长时间,多网点的采集记录分析具有普遍的意义。液

10、位的变化分析,有助于人们进一步对自然环境、天气变化甚至是灾害预警提供可靠的支持。本设计以水塔供水为模型,鉴于单片机液位测量装置的测量准确、重复性能好、功耗低、使用寿命长等特点,设计以单片机为基础的液位测量监控记录系统。具有实时液位测量监控数据处理等功能。目 录1 系统总体方案11.1 系统设计要求11.2 系统框图11.3 硬件设计方案21.3.1 主控模块设计方案21.3.2 显示模块设计方案31.3.3 数据存储模块设计方案31.3.4 时间模块设计方案41.3.5 A/D转换模块设计方案51.3.6 通信模块设计方案71.3.7 电机控制模块设计方案82 硬件电路设计82.1 AT89S

11、52硬件设计82.2 显示单元硬件设计112.3 存储单元硬件设计132.4 时间单元硬件设计132.5 A/D转换单元硬件设计142.6 通信单元硬件设计162.7 其他外围电路的设计172.8 系统电路原理图173 软件设计173.1 系统软件173.1.1 系统软件编译开发环境173.1.3 系统初始化183.1.4 显示与A/D转换的数据处理193.1.5 显示模块的软件设计203.1.6 A/D转换模块软件设计203.1.7 通信协议及通信模块软件设计213.1.8 时间模块软件设计223.2 上位机软件设计243.2.1 上位机软件开发编译环境243.2.2 上位机软件的界面设计2

12、43.2.3 上位机串口通信功能的实现273.2.4 上位机软件中的数据处理284 PCB设计及安装调试294.1 PCB设计294.1.1 PCB设计软件294.1.2 PCB设计流程294.1.3 PCB设计中使用的一些布局规则304.2 安装与调试314.2.1 焊接314.2.2 调试、问题及解决325 结论及展望335.1 结论335.2 展望356 致谢357 附录367.1 附录A(硬件原理图)367.2 附录B(系统软件源代码)377.3 附录C(设计成品照片)431 系统总体方案1.1 系统设计要求本设计以水塔供水为模型,鉴于单片机液位测量装置的测量准确、重复性能好、功耗低、

13、使用寿命长等特点,设计以单片机为基础的液位测量监控记录系统。它具有实时测量监控水塔液位高度并显示的功能,并根据实时水量与设置的上、下液位参数的比较,启动电机供水与或停止水泵。在启动电机与停止水泵时,实时记录时间点与电机状态。液位测量高度5米,测量精度10%,AC220V供电。可通过上位机软件,可与监控记录系统进行通信,能够从PC机获取当前液位高度、电机状态、设备系统时间、上下液位高度等数据,并可根据需要改变系统默认的的参数。同时可以获取设备运行时记录的数据,并能够对数据保存。能够根据一定的算法,计算分析单位时间水塔消耗水量,绘制图形,通过计算分析的结果,可以进行区域用水统筹,降低能源的消耗。1

14、.2 系统框图根据系统的设计要求,采用单片机为主控芯片,通过单片机数据地址总线及I/O端口,扩展数据存储模块、A/D转换模块、显示模块、时间模块、串口通信模块以及A/D转换、电机控制等外围电路。实现系统所需的设计功能。系统总体方案框图如图1:图1:系统总体框图图中,信号流向仅指示了通过数据地址总线或I/O口上发生的数据信号,不包括控制信号。1.3 硬件设计方案1.3.1 主控模块设计方案单片机作为主控模块,使得对单片机选型上有了较大的空间。单片机在30多年的发展历程中,形成了多公司、多系列、多型号“百家争鸣”的局面。因而,选择一个合适的单片机有时真的不太容易,要考虑的方面太多。大致总结出以下几

15、点:1) 单片机的基本参数。例如速度、程序存储器容量、I/O引脚数量等。2) 单片机的增强功能。例如看门狗、双指针、双串口、RTC(实时时钟)、EEPROM、扩展RAM、CAN接口、I2C接口、SPI接口、USB接口。3) Flash和OTP(一次性可编程)。4) 封装:DIP(双列直插),PLCC(PLCC有对应插座)还是贴片。5) 工作温度范围,工业级还是商业机。6) 功耗。7) 工作电压范围。例如设计电视机遥控器,2节干电池供电,至少应该能在1.8-3.6V电压范围内工作。8)  供货渠道畅通。9) 

16、0;价格。10) 烧录器价格,能否ISP(在线系统编程)。11) 仿真器。12) 单片机汇编语言支持。13) 资料尽量丰富。14) 抗干扰性能好。15) 和其他外设芯片放在一起的综合考虑。根据以上因素:系统的实时性要求不高,因而运算速度无需很快,且系统规模不大,采用时分复用的方式使用总线,对I/O口的数量可以要求进一步降低。使用4路8位I/O接口即可满足设计要求;系统中需要扩展外部存储器对数据进行存储,数据存储量为32KB已满足要求,因此采用16位或准16位地址总线的单片机即可满足设计需要;由于是实验阶段,采用DIP(双列直插)封装的芯片便于实验,暂不考虑实际工业控制中的对外界环境的具体要求;

17、系统采用AC220V供电,且对功耗没有具体要求,使用DC5V为芯片供电,便于系统外围电路的设计;芯片支持ISP可节省仿真器的投入。综上所述,采用与MCS-51兼容的AT89S52单片机满足设计要求。AT89S52是一种低功耗、高性能CMOS工艺的8位微控制器,具有8K在线系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/

18、O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。1.3.2 显示模块设计方案显示器是计算机的主要输出设备,在简单的工业控制系统中,常用的显示器有数码管显示器(LED),液晶显示器(LCD)等,该系统仅需显示液位高度,即数字量,采用LED显示器已能满足系统要求。系统中,要求测量范围

19、5m,测量精度为10%,假设测量范围为5m,在10%精度的要求下,其测量的有效值为5*10%=0.5m。因而采用2位LED显示器便能满足设计要求。在单片机应用系统中,LED显示器的现实方法有两种:静态显示法和动态显示法。静态显示法的优点是显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用I/O口资源较多,硬件成本较高。所以静态显示法常用在显示器数目较少的应用系统中。为了解决静态显示占用I/O口资源的缺点,在软件上采用压缩BCD码输出显示数据,硬件上使用一个8位锁存器74LS273与两个BCD数码显示译码驱动芯片74LS47连

20、接,减少对系统资源的占用时间。由于74LS47译码为共阳极数码管的码表,因而选用8段(带小数点)共阳极LED用于数据显示。高位显示米单位,低位显示分米单位,且高位小数点常亮。单片机使用1位I/O口控制数据的锁存。1.3.3 数据存储模块设计方案使用AT89S52内部256字节的数据存储器记录数据是远远不够的,因而需要扩展数据存储器进行数据存储。数据存储器可选择的种类繁多,常用的有随机存取存储器(RAM)、只读存储器(ROM)与闪存(FLASH)。RAM是存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程

21、序。ROM通常指固化存储器(一次写入,反复读取),它的特点与RAM 相反。ROM又分一次性固化、光擦除和电擦除重写两种类型。闪存则是一种不挥发性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。NOR和NAND是现在市场上两种主要的非易失闪存技术。 NAND闪存的存储单元则采用串行结构,存储单元的读写是以页和块为单位来进行(一页包含若干字节,若干页则组成储存块, NAND 的存储块大小为8到32KB),这种结构最大的优点在于容量可以做得很大,超过512MB容量的NAND产品相当普遍

22、, NAND 闪存的成本较低,有利于大规模普及。 NAND 闪存的缺点在于读速度较慢,它的 I/O 端口只有8个,比NOR要少多了。这区区8个I/O 端口只能以信号轮流传送的方式完成数据的传送,速度要比NOR闪存的并行传输模式慢得多。再加上NAND闪存的逻辑为电子盘模块结构,内部不存在专门的存储控制器,一旦出现数据坏块将无法修,可靠性较NOR闪存要差。 NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它

23、的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的。可以看出ROM的存储复杂,不适宜实时系统的数据存储。FLASH是一个不错的解决方案。鉴于系统的复杂程度,暂时不考虑使用FLASH作为存储单元。根据设计要求,记录某一记录点(电机状态改变时刻)的状态与时间需要6字节数据,即年(2000-2099年)、月(1-12月)、日(1-31日)、时(0-23时)、分(0-59分)、状态(0或1)这些数据,如果系统长时间的工作,将会有大批量的数据产生,假若数据存储空间不够大,将会产生数据的覆盖,从而降低了对数据分析的准

24、确性。因此选用32K字节的数据存储器,可以记录大于5000项记录点数据,考虑到水塔上水与耗水的频繁程度不高,5000项数据已基本满足后期数据处理的需求。在实际应用中,系统设计在不掉电的工作环境下;软件上,上位机软件对数据提取后即可保存在PC机中,5000项数据进行时间上的缓冲是充足的。为节省CPU的工作时间,且由于RAM存储速度快、使用方便等特点,从而可以忽略了RAM掉电数据丢失的缺点。1.3.4 时间模块设计方案通过单片机的定时器,可以设计时间功能,然而单片机自身的产生时间数据大大占用了系统的资源,降低了工作效率,甚至影响了其他功能的实现,因此在本设计方案中,采用了外部芯片提供时间信号,用以

25、系统记录时间信息。目前市场上的时钟芯片很多,如DS1302/DS1307/HT1380/HT1381/PCF8563/PCF8583/R5C372/R8025等。DS1302是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线(1)RES(复位),(2) I/O(数据线),(3)SCLK(串行时钟)

26、。时钟/RAM的读、写数据以一个字节或多达31个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由DS1202 改进而来,增加了以下的特性双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。下面将主要的性能指标作一综合:l 实时时钟具有能计算2100年之前的秒 分 时 日期 星期 月 年的能力,还有闰年调整的能力。l 31*8位暂存数据存储RAM。l 串行I/O口方式使得管脚数量最少。l 宽范围工作电压2.0-5.5V。l 工作电流2.0V

27、时,小于300nA。l 读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式。l 8脚DIP封装或可选的8 脚SOIC 封装。l 简单3线接口。l 与TTL兼容Vcc=5V。l 可选工业级温度范围-40至+85摄氏度。l 与DS1202兼容。l 在DS1202基础上增加的特性:对Vcc1有可选的涓流充电能力。双电源管用于主电源和备份电源供应。备份电源管脚可由电池或大容量电容输入。附加的7字节暂存存储器。综上所述,选用DS1302时间芯片完全满足设计的需求。1.3.5 A/D转换模块设计方案A/D器件和芯片是实现单片机数据采集的常用外围器件。A/D转换器的品种繁多、性能各异,在

28、设计数据采集系统时,首先碰到的就是如何选择合适的A/D转换器以满足系统设计要求的问题。选择A/D转换器件需要考虑器件本身的品质和应用的场合要求。基本上,可以根据以下几个方面的指标选择一个A/D器件。1) A/D转换器位数A/D转换器位数的确定,应该从数据采集系统的静态精度和动态平滑性这两个方面进行考虑。从静态精度方面来说,要考虑输入信号的原始误差传递到输出所产生的误差,它是模拟信号数字化时产生误差的主要部分。量化误差与A/D转换器位数有关。一般把8位以下的A/D转换器归为低分辨率A/D转换器,912 位的称为中分辨率转换器,13位以上的称为高分辨率转换器。10位A/D芯片以下误差较大,11位以

29、上对减小误差并无太大贡献,但对A/D转换器的要求却提得过高。因此,取10位或11位是合适的。由于模拟信号先经过测量装置,再经A/D转换器转换后才进行处理,因此,总的误差是由测量误差和量化误差共同构成的。A/D转换器的精度应与测量装置的精度相匹配。也就是说,一方面要求量化误差在总误差中所占的比重要小,使它不显著地扩大测量误差;另一方面必须根据目前测量装置的精度水平,对A/D转换器的位数提出恰当的要求。 目前,大多数测量装置的精度值不小于0.1%0.5%,故A/D转换器的精度取0.05%0.1%即可,相应的二进制码为1011位,加上符号位,即为1112位。当有特殊的应用时,A/D转换器要

30、求更多的位数,这时往往可采用双精度的转换方案。2) A/D转换器的转换速率A/D转换器从启动转换到转换结束,输出稳定的数字量,需要一定的转换时间。转换时间的倒数就是每秒钟能完成的转换次数,称为转换速率。确定A/D转换器的转换速率时,应考虑系统的采样速率。例如,如果用转换时间为100us的A/D转换器,则其转换速率为10KHz。根据采样定理和实际需要,一个周期的波形需采10个样点,那么这样的A/D转换器最高也只有处理频率为1KHz的模拟信号。把转换时间减小,信号频率可提高。对一般的单片机而言,要在采样时间内完成A/D转换以外的工作,如读数据、再启动、存数据、循环计数等已经比较困难了。3) 采样/

31、保持器采集直流和变化非常缓慢的模拟信号时可不用采样保持器。对于其他模拟信号一般都要加采样保持器。如果信号频率不高,A/D转换器的转换时间短,即采样高速A/D时,也可不用采样/保持器。4) A/D转换器量程A/D转换时需要的是双极性的,有时是单极性的。输入信号最小值有的从零开始,也有从非零开始的。有的转换器提供了不同量程的引脚,只有正确使用,才能保证转换精度。在使用中,影响A/D转换器量程的因素有:量程变换和双极性偏置;双基准电压;A/D转换器内部比较器输入端的正确使用。5) 满刻度误差满度输出时对应的输入信号与理想输入信号值之差。6) 线性度实际转换器的转移函数与理想直线的最大偏移。ADC08

32、04是单路8位逐次比较型双极性输入A/D转换器,转换时间小于.量化间隔。绝对量化误差,相对量化误差。在液位传感器误差与参考电压误差不大的情况下,ADC0804是完全满足设计误差要求的。1.3.6 通信模块设计方案AT89S52单片机内部有一个全双工异步串行I/O接口,占用P3.0和P3.1两个引脚。利用该接口,可实现系统与上位机的通信。不同设备间串口通信的过程中,需要采用相同的的接口标准才能通信。典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Indust

33、ry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。区别于RS232, RS485的特性包括:1) RS-485的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2) RS-485的数据最高传输速率为10Mbps 。3)

34、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接口标

35、准,使用RS-232/RS-485转换器与PC机连接进行通信。MAX485接口芯片是Maxim公司的一种RS485芯片。采用单一电源+5 V工作,额定电流为300A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。1.3.7 电机控制模块设计方案由于设计中没有规定水泵电机的参数规格,而且不同型号的水泵参数不尽相同,电气参数的不同使得在电路上的设计差异较大,因此在此仅作理论演示。选用继电器作为电机控制的元件。继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在

36、电路中起着自动调节、安全保护、转换电路等作用。继电器主要产品技术参数:1) 额定工作电压。是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。2) 直流电阻。是指继电器中线圈的直流电阻,可以通过万能表测量。3) 吸合电流。是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。4) 释放电流。是指继电器产生释放动作的最大电流。当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。这时的电

37、流远远小于吸合电流。 5) 触点切换电压和电流。是指继电器允许加载的电压和电流。它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。根据以上的参数,结合设计的演示性,选用额定工作电压120VAC/24VDC,工作电流3A,控制电压5VDC的小型继电器。2 硬件电路设计2.1 AT89S52硬件设计AT89S52引脚定义及功能介绍如图2。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉

38、电阻。 在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),具体如下表所示。 l 在flash编程和校验时,P1口接收低8位地址字节。 l 引脚号第二功能 图2:AT8

39、9S52引脚及网络标号l P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 l P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) l P1.5 MOSI(在系统编程用) l P1.6 MISO(在系统编程用) l P1.7 SCK(在系统编程用) P2口:P2口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOV

40、X DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 端口号第二功能P3.0RXD(串行输入口

41、P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)表 1 端口引脚第二功能此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注

42、意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅

43、访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。为了便于接下来的说明,单片机各管脚网络标号定义如上图2:要使单片机按照设计要求正常工作,完整单片机最基本的工作要求,考虑到系统无需精确地定时功能,且为了方便串口通信波特率的计算,采用1

44、1.0592MHz的晶振提供系统时钟。并附加复位电路,组成单片机最小系统。根据电路设计规范和AT89S52芯片手册,设计时钟电路与复位电路如图3: 图3 复位电路及时钟电路图中网络标号RST连接单片机RST引脚,具有上电复位与手动复位的功能;XTAL1与XTAL2连接单片机XTAL1和XTAL2引脚,且并联两个30pF匹配电容使晶振起振。由于单片机P0口作普通I/O口时不能输出高电平,因此需接上拉电阻,实际电路中,使用8*10K电阻作为上拉电阻。2.2 显示单元硬件设计在显示单元上,使用了74LS273带公共时钟复位八位触发器与74LS47共阳极BCD显示译码驱动芯片。两个芯片的管脚图如图4。

45、图4:74LS273及74LS47引脚图74LS273与74LS47引脚功能说明 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,LI,RB

46、I引脚为控制引脚,主要用于测试和脉冲控制,均为低电平有效,设计上不适用此项功能,因此均接高电平。A0-A3是BCD输入,分解74LS273输出的高、低四位。a-g用于共阳极数码管的相应管脚的连接。为了保护LED数码管,在74LS47与LED之间添加限流电阻,以满足数码管的工作需要。根据以上的设计思路,设计电路图如图5:图5:显示部分电路图 2.3 存储单元硬件设计存储模块的硬件设计比较简单,由于AT89S52单片机为数据线与低8位地址线复用,需要使用地址锁存芯片74LS373。上文中已叙述,使用32KRAM作为存储芯片,因此选用与51系列兼容的62256随机数据存储器。该模块中使用的两个芯片管

47、脚功如图6:在62256中,A0-A14管脚为地址总线,共15位,寻址范围可达到32kB;I/O0-I/O7为8位三态双向数据接口;Vcc,Vss为电源和地;CS是片选接口,低电平有效;OE/WE分别是读选通和写选通数据输入输入线,低电平有效。图6:62256引脚图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)全部呈现高阻状态(或

48、者叫浮空状态);当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信号。按照常规的连接方法设计电路图7如示:图7:存储的单元电路2.4 时间单元硬件设计DS1302因其较小的体积,占用I/O口

49、资源少等特点,是常用的时间芯片。此次设计采用DIP-8封装,管脚功能如图8:其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中电压较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2供电,当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源接口,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传输。RST输入有两种功图8:DS1302引脚图能:首先RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

50、当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果传送过程中RST置为低电平,则会终止此次传输,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端。SCLK始终是输入端,用来输入串行时钟信号。根据DS1302的特点,设计电路如图9:图9:时间单元电路在实际应用中,起控制、输入输出的三个端口上拉较弱,容因产生信号串扰,因此加上了上拉电阻与单片机P1口相连,加强信号的稳定性;为了保证时钟的可靠性,在Vcc1上使用了CR2032纽扣电池作为备用电源,输出电压为3V,从而保

51、证了系统掉电状态下,时钟能够继续保持运行。2.5 A/D转换单元硬件设计A/D转换模块是系统中较为重要的一部分,由于涉及到模拟部分,A/D转换器的结构较为复杂。以下是ADC0804管脚及功能的介绍:/CS 芯片选择信号。/RD 外部读取转换结果的控制输出信号。/RD为高电平时,DB0DB7处于高阻抗:/RD为低电平时,数据才会输出。/WR 用来启动转换的控制输入,相当于ADC的转换开始(/CS=0 时),当/WR 由高电平变为低电平时,转换器被清除;当/WR 回到高电平时,转换正式开始。CLK IN,CLK R 时钟输入或接振荡元件(R,C)频率约限制在100KHZ1460KHZ,如果使用RC

52、电路则其振荡频率为1/(1.1RC)。/INTR 中断请求信号输出,低地平动作。图10:ADC0804引脚图VIN(+) VIN(-) 差动模拟电压输入.输入单端正电压时, VIN(-)接地:而差动输入时,直接加入VIN(+) VIN(-)。AGND,DGND 模拟信号以及数字信号的接地。VREF 辅助参考电压。DB0DB7 8位的数字输出。VCC 电源供应以及作为电路的参考电压。设计满偏电压为5V,则VREF辅助参考电压为5V/2=2.5V,在10%的误差范围内,无需过分苛刻参考电压的电压源,由于系统中DC5V供电,采用两只相同阻值电阻分压,便能近似得到2.5V的参考电压。系统中使用10K电

53、阻与150PF电容组成RC振荡电路,根据技术手册计算公式,其振荡频率约为606KHz,满足芯片要求。另外,以阻抗型液位传感器为模型,液位传感器阻值变化与液位的高度是成正比的,因此需要将电阻值转换为电压值匹配A/D转换器。常用的阻抗-电压转换法如欧姆法。由于被测阻抗两端电压正比于被测电阻,可把被测阻抗转换为电压测量。即,式中,是转化电压,恒定电流,为被测电阻,为比例系数。因此,液位高度的变化同样正比于输入电压,顾而A/D转换器输出的数据正比于液位高度。为了简化设计调试过程,使用系统内部5V电压作为模拟输入,VIN(-)直接接地,通过接入传感器分压将阻抗转换为电压信号,接入电位器可实现模拟输入。根

54、据以上参数分析,设计电路如图11:图11:A/D转换单元电路图2.6 通信单元硬件设计MAX485仅有8个管脚,电路设计比较简单。RO引脚接到单片机串口接收引脚RXD(P3.0),DI引脚接到单片机串口发送引脚TXD(P3.1)。由于MAX485为半双工通信方式,不能同时发送和接收数据,只能通过控制RE和DE引脚的状态来进行发送数据和接收数据的转换。为了节省单片机I/O口资源,将RE和DE引脚连在一起,输入低电平时,MAX485图12:MAX485引脚图 处于接收状态;输入高电平时,其处于发送数据状态。定义RE和DE连接在一起的网络标号为E,接入单片机P1口,用于发送与接收的转换。A,B端为发

55、送接收差分信号端,一般需在A,B端之间加匹配电阻,匹配电阻为120。图13:串行通信模块电路图硬件电路如图13:图14: 继电器部分电路图 图15: 电源指示灯电路图2.7 其他外围电路的设计继电器电路设计。由于使用单片机I/O口的驱动电流较弱,不满足继电器吸合电流参数的要求,所以时需使用三极管驱动继电器吸合。设计电路如图14。为了防止电源尖峰脉冲引发的噪声干扰以及高频信号线间的耦合干扰,在电源入口处及芯片顶端或底端,接入去耦电容,以增强系统的稳定性。电源指示灯设计如图15。2.8 系统电路原理图见附录A。3 软件设计3.1 系统软件3.1.1 系统软件编译开发环境8051系类单片机共拥有11

56、1条系统指令,可实现51种基本操作。然而繁杂的汇编语言指令却有程序的可读性低,程序开发人员的开发时间长与开发难度大,程序移植性差等缺点。C语言是一种编译型程序设计语言。他兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加了软件的可读性,便于改进和扩充,从而研制出规模更大,性能更完善的系统。用C语言进行51系列单片机程序设计是单片机开发与应用的必然趋势。KEIL C51开发工具套件可用于汇编C语言程序、汇编源程序,链接和定位目标文件和库,创建HEX文件以及调试目标程序。本设计使用KEIL C51 Vision3为开发编译环境,使用C语言编

57、写程序,实现各模块功能设计。3.1.2 系统主要模块流程图图17:通信检测流程图图16: 主程序流程图图19:液位检测流程图3.1.3 系统初始化该模块在系统上电开机时将系统端口、数据存储区、标志位、指针、地址等赋予有含义的值。具体分为以下几个模块列表描述。模块变量/端口初始值功能控制端口初始化adRD/P1.31A/D转换芯片数据读入控制,初始为不读入adWR/P1.40A/D转换芯片转换控制,初始为停止E/P1.50通信接收发送控制,初始为接收DIS/P1.60显示数据锁存控制,初始为保持RELAY/P1.71继电器控制,初始状态为断开波特率发生器初始化TMOD0x22单片机片内定时/计数

58、器工作在方式二SCON0x40串行口为8位UART工作方式TH10xf4波特率设置为4800bpsTL10xf4IE0禁止定时器中断TR11启动定时器REN1允许串行口接收数据时间初始化sec0x00初始化系统时间为2009年1月1日0时0分0秒星期四其中sec,min,hr,date,mon,day,year依次为秒、分、时、日、月、星期、年min0x00hr0x00date0x01mon0x01day0x04year0x09数据参数初始化xmark0x7531数据存储状态标志字节指针numtab0x0001数据存储区指针uplq0xCF高液位警戒高度,初始值downlq0x10低液位警戒高

59、度,初始值初始化过程中,调用A/D转换模块获得首次液位数据,同时将其显示,完成初始化工作表2:初始化参数及含义3.1.4 显示与A/D转换的数据处理系统中,显示输出的要求为压缩BCD码,而A/D转换输入的数据是8位16进制码,因此在实现显示之前需要编码的转换。对8位A/D转换器而言,其十六进制、相对满偏电压比率、相对电压幅值的关系对应如表3:十六进制二进制满刻度比率相对电压幅值Vref=2.5V高四位低四位高四位电压低四位电压F111115/1615/2564.8000.320E111014/1614/2564.4800.280D110113/1613/2564.1600.260C110012

60、/1612/2563.8400.240B101111/1611/2563.5200.220A101010/1610/2563.2000.200910019/169/2562.8800.180010008/168/2562.5600.160701117/167/2562.2400.140601106/166/2561.9200.120501015/165/2561.6000.100401004/164/2561.2800.080300113/163/2560.9600.060200102/162/2560.6400.040100011/161/2560.3200.020000000/160/25

61、60.0000.000表3:A/D转换幅值数据关系对照表综上,电压幅值与液位高度在数值上是相等的。为了通过LED直观显示液位高度,进行转换的思路如下:设输入8二进制数据为,的商即为以分米为单位的液位高度数据,余数为以厘米为单位的数据,由于显示位数仅为2位,最低位为分米,固使用“二舍三入”的办法保留分米单位的整数倍数据。为了将这个数据转换为为压缩BCD码,再将,得到的商左移四位(相当于乘以16)为压缩BCD码高四位,余数为压缩BCD码低四位,二者相加,就是最终的结果。3.1.5 显示模块的软件设计由于使用了静态锁存显示,需要对显示数据进行处理后进行锁存控制。硬件设计中使用了74LS273锁存数据它的特点是在ALE输入信号的下降沿到来时锁存信号,因此首先置控制引脚高电平,延迟几个时钟周期待信号稳定,P0口输出处理后的数据,同样延迟几个时钟周期待信号稳定,控制引脚置低电平,数据锁存,显示输出。3.1.6 A/D转换模块软件设计A/D转换的控制变量有两个,即adWR与adRD;上文中已说明了它的功能,故不再重复。该模块分为两个阶段,第一阶段是为A/D转换启动控制,通过adWR复位延迟置位完成。第二阶段是数据的提取过程,由于P0口做输入时的特性,首先软件上将P0口寄存器置为0xFF,延迟适当时间后adR

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!