基于单片机的水塔水位控制系统设计及仿真_第1页
基于单片机的水塔水位控制系统设计及仿真_第2页
基于单片机的水塔水位控制系统设计及仿真_第3页
基于单片机的水塔水位控制系统设计及仿真_第4页
基于单片机的水塔水位控制系统设计及仿真_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-大学毕业论文基于单片机的水塔水位控制系统设计及仿真学 院 信息电子技术专 业 通信工程班 级 12级2班学 籍 号 姓 名 方鹏指导教师 周经国佳 木 斯 大 学2016年6月10日. z-摘 要 随着社会的进步,生产工艺和生产技术的开展,人们对液位检测提出了更高的要求。由于新型电子技术、微电子技术和微型计算机被广泛的应用,单片机控制系统以其控制精度高,性能稳定可靠,设置操作方便,造价低等诸多特点,被应用到液位系统的控制中来。 单片微机在许多过程控制设备和产品中都得到广泛的应用。由于其体积小,价格低,具有逻辑判断、定时计数、程序控制等多种功能,在各个领域、各个行业都得到了广泛应用。本文介绍了

2、以LM型液位传感器,A/D转换芯片ADC0809,以及AT89C51单片机作为主控元件的液位检测系统的设计方法。通过软件和硬件的联合调试,实现了在一定围对水位的调节,动态显示出水位结果,实现报警,完全实现了任务书上的要求。关键词:液位检测;A/D转换;LM型液位传感器;超限报警AbstractAs society advances, thedevelopmentofproductionprocesses and productiontechnologies,thedetectionofthelevelcontrol system have a higher demand. New electr

3、onictechnologyofmicroelectronics technologyand miniatureputers iswidely used. Single chip control systemtoset up operationswithhigh control accuracy, reliable performance, convenient,low cost,is applied to the level contral.This article describes theLM-typeliquid level sensorand A / Dconversion chip

4、 ADC0809, and AT89C51 microcontrollerasthemain control ponentof theliquid level detectionsystemdesign methods. This article respectively from theliquid level detection, A/D converter, Digital display, Limit alarm and severalaspects ofthehardwarecircuit have conduct a more detailed description. Then

5、the A/Dconversion process, Digital tubedisplay program, Limit alarm procedures haveafairly detailed, and using a flow chartfor further e*planation.Throughjointdebuggingofsoftware and hardware, The basic realization oftheregulationonthelevelwithin a certain rangeofliquid level regulation, Dynamically

6、showsthelevelresults, Achieve alarm, Entirely Achieve therequirements ofthemission statement.Keywords:theliquid level detection, A/D converter, lm-typeliquid level sensor, limit alarm. z-目 录摘要.iAbstract.ii第1章 绪论.11.1 液位检测系统的概况.11.2 国外研究动态.11.3 本次毕业设计的意义.21.4 本次毕业设计的任务.2第2章 硬件电路设计.42.1 硬件电路工作原.42.2 硬

7、件电路设计.4 系统总体设计框图.4 核心芯片的介绍.52.3 硬件电路各模块设.10 电源电路设计.10 单片机最小系统电路设计.10 显示电路设计.11 液位传感器的接口电路设计.132.3.5 AT89C51与ADC0809的接口电路设计.13 报警电路设计.152.4 硬件电路总结.15第3章 软件设计.173.1 AT89C51的I/O口应用.173.1.1 P0口的信号输入.173.1.2 P1口的信号输入.173.1.3 P2口的信号输入.173.1.4 P3口的信号输入.183.2 软件模块设计.19 主程序的设计.193.2.2 A/D转换的设计.20 显示子程序的设计.21

8、 报警子程序的设计.243.3 软件设计总结.25第4章 联机调试.264.1 仿真电路调试.264.2 硬件电路调试.274.3 硬件电路调试出现的问题及解决方法.284.4 软件程序调试.284.5 软件程序调试出现的问题及解决方法.294.6 联机调试总结.29第5章 结论.25致.26参考文献.27附录1.28附录2.30附录3.31附录4.32附录5.33. z-第1章 绪论 随着人们生活水平和工业标准的提高,液位的检测越来越受到人们重视,检测的精度和实时性要求也越来越高,另外还要求系统能提供对液位的自动控制功能。今后液位的监测和控制系统的研究将是一个重要的课题。1.1 液位检测系统

9、的概况在日常生产和生活中经常遇到液位的检测和控制问题。尤其在许多工业生产系统中,需要对系统的液位或物料位进展检测和控制,特别是对具有腐蚀性的液体液位的测量,传统的电极法是采用差位分布电极,通过给电脉冲来检测液面,电极长期浸泡在液体中,极易被腐蚀、电解、失去灵敏性,因而对测试设备的抗腐蚀性要求较高。LM型液压传感器采用316L不锈钢膜片及PVC塑料螺纹头相结合,可测量水、其它液体及气体液位。LM型液压传感器采用拥有专利技术的低本钱不锈钢传感器,其安装在PVC塑料过程接头。监控工程实施方便、迅速、易做到实时控制,而且测量精度又能到达工业实用的要求,所以有广泛的应用前景。为了降低工人的劳动强度,改善

10、工人的工作环境,节省财力、物力,防止资源的浪费,特别是对一些具有高温、高压、低温、低压、有辐射性、毒性、易挥发易爆等液体,就要对液位进展检测,而且液位的检测显得尤为重要。今后液位的监测和控制系统的研究将是一个重要的课题。1.2 国外研究动态在当今社会经济高速增长的同时,水在人们的生活、生产中起着重要的作用。一旦出现缺水,轻则给人们生活带来极大的不便,重则出现造成严重的生产事故并造成不可挽救的经济损失。液面检测和控制技术的要求也越来越严格。为了解决生产中的测量问题,一方面是新测量原理的采用,新的仪器仪表水平的开展,扩大了检测方法,而另一方面需要对电脑化和智能化方向开展。近年来,微电子技术的开展使

11、得水塔液位检测技术已经彻底改变。新的应用程序级的检测原理和电子元件,这样可以更好地判断正变得越来越小型化,尤其是小场液位开关光纤液位计的快速开展,没有移动部件,因此,准确的测量,可以控制。同时,液位检测和控制也正朝着智能化的方向开展,在衡量微处理技术水平的领域被广泛应用,实现故障诊断和报警等功能,提高了测量精度,可靠性,平安性,性别和多功能。在应用设计水平和定时应尽量到达液位检测系统的准确测量,以改善恶劣环境性下的准确和可靠地在恶劣的环境中。1.3 本次毕业设计的意义目前,市面上进展液位测量的仪表种类繁多,但是同时具有测量、监控、数据记录及处理的液位测量装置并不多。在*些工业控制系统中,数据的

12、测量这一根本功能已不能满足现代工业的要求,往往需要对大批数据进展记录,对其进展后期处理分析,实现过失控制、工艺改善、资源优化等一系列工作。在液位测量这一领域中,如江河湖海、城市用水等方面,大量数据长时间,多网点的采集记录分析具有普遍的意义。液位的变化分析,有助于人们进一步对自然环境、天气变化甚至是灾害预警提供可靠的支持。单片机在许多过程控制设备和产品中都得到广泛的应用。由于其体积小,价格低,具有逻辑判断、定时计数、程序控制等多种功能,在各个领域、各个行业都得到了广泛应用。不仅有常用的8位机,而且4位单片机和16位单片机也得到了普及,随着过程控制精度要求的增加和运算速度的增快,单片机得到了进一步

13、的应用。1.4 本次毕业设计的任务本文的主要任务是以单片机为主控制器,开发一个基于液位传感器的液位监控系统,可测量并显示液位高度。设定最高液位和最低液位,当液位高于最高液位或低于最低液位时发出报警信号,提醒工作人员液位信息。研究设计容包括:1液位检测的根本原理与方法;2液位检测系统的整体方案设计;3模数转换电路的设计;4显示电路设计;5系统软件流程设计;6电源电路的设计;7PCB布线及硬件抗干扰设计。设计完成之后提供一个可以应用于一般工业的液位检测及显示系统的设计方案,测量围和测量精度满足一般工业应用需要。通过毕业设计的整个过程,可以综合运用传感器、单片机、电子电路和程序设计等方面的知识,锻炼

14、和提高科研的能力。第2章 硬件电路设计2.1 硬件电路工作原理该系统以AT89C51作为核心控制部件,外加传感器,一片A/D转换芯片和数码管来完成系统的预期任务,即液位的检测、显示和超限报警。传感器实现液位信号到电压信号的转换,再由8位A/D转换芯片ADC0809将模拟信号转换为数字信号,实现液位信息的输入,AT89C51从ADC0809读取液位信息后进展数据处理和超限判断,随后将处理过的数据输出到数码管显示,设置最高液位和最低液位,假设液位超限则由单片机报警1。2.2 硬件电路设计 系统总体设计框图电源传感器A/D转换AT89C51报警LED驱动数码管图21 系统总体设计框图图2-1各局部功

15、能:(1) 电源局部提供+5V电压供系统各局部使用。(2) LM传感器实现液位信息到电压信号的转换。3ADC0809将传感器输出的电压信号经A/D转换后送到单片机。4AT89C51为处理器,实现液位信息的接收、数据处理、和输出到数码管。5蜂鸣器局部在单片机检测到液位超限是由单片机驱动LED灯亮灭报警。6单片机对液位数据处理后输出,数码管显示。 核心芯片的介绍1单片机AT89C51单片机应用系统的根本构成:EPROMRAMI/O扩展ROMRAMI/O图22 单片机应用系统的根本构成AT89C51主要参数:表21 AT89C51主要参数型号存储器定时器I/O串行口中断速度MH其他特点E2PROMR

16、OMRAM89C514K1282321624低电压 AT89C51含 E2PROM电可编闪速存储器。有两级或三级程序存储器系统,防止E2PROM中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存储器E2PROM容量可达20K字节。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案2。 AT

17、89C51主要特性:与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,全静态工作:0HZ-24HZ,三级程序存储器锁定8位CPU;振荡频率1.2-12MHz;128个字节的片数据存储器片RAM;21个专用存放器;4KB的片程序存储器;8位并行I/O口P0,P1,P2,P3;一个全双工串行I/O口;2个16位定时器/计数器;5个中断源,分为2个优先级。 I/O口引脚:P0口,双向8位三态I/O口,此口为地址总线低8位及数据总线分时复用;P1口,8位准双向I/O口P2口,8位准双向I/O口,与地址总线高8位复用;P3口,8位准双向I/O口,双功能复用。2A/D转换器ADC08

18、09ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进展A/D转换。A/D转换芯片ADC0809为8路模拟信号的分时采集,片有8路模拟选通开关,以及相应的通道抵抗锁存用译码电路,其转换时间为100s左右。ADC0809的部构造:图23 ADC0809的部逻辑构造图图2-3中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进展转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进展锁存和译码,其译码输出用于通

19、道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连, 图24 ADC0809的通道选择表 图25ADC0809引脚图ADC0809功能介绍:分辨率为8位;最大不可调误差小于1LSB;单一+5V供电,模拟输入围05V;具有锁存控制的8路模拟开关;可锁存三态输出,输出与TTL兼容;功耗为15mw;不必进展零点和满度调整;转换速度取决芯片的始终频率,它的时钟为10kHZ1.2MHZ.当时钟为500KHZ,转换速度为100us。ADC0809的原理ADC0809是一款8位AD转换器,数据获取的关键局部是它的8位模/数转换器。这个局部主要由N位逐次逼近存放器SAR,D/A转换

20、器,比拟器,置数选择电路组成。转换过程如下:选选置数电路置SAR的最高位为“1,其余位为“0,经D/A转换器转换成的模拟电压Uo与输入模拟电压Ui在电压比拟器进展比拟,假设Ui大于等于Uo,则保存最高位“1,假设Ui小于Uo,则最高位为“0。置次高位为“1,低位全为“0,按上述步骤进展转换,比拟,判断。重复此过程,直到确定SAR的最低位的值取“1,还是“0为止。此时,SAR容就是对应的输入模拟电压转换后的数字量。3LM型液压传感器LM系列液压传感器采用316L不锈钢膜片及PVC塑料螺纹头相结合,可测量水、其它液体及气体液位。LM系列液压传感器采用拥有专利技术的低本钱不锈钢传感器安装在PVC塑料

21、过程接头。该设计可使传感器具有多种外形,方便客户应用于需要高性能、小尺寸的压力和真空系统。传感器标准输出为0.54.5V,供电为5V。特点:螺纹接口式,-2085工作温度围,0.1%非线性,3.0%总误差,固态构造应用: 灌溉系统,RV和船舶水位保持,蓄水和水循环系统,小型罐体液位,冷却器&蒸气冷凝设备类型: 表压量程: 01,2,5,15,30,50,150(psi)准确度: 5%(5Psi)输出: 0.54.5V电气连接: 电缆工作温度: -3585供电电源: 5VDC图27LM系列液压传感器特点: 低本钱,微量程最正确量程1Psi15Psi,适于OEM客户批量应用。典型应用: 灌溉,RV

22、和船用液位,水存储和水回收系统,小罐体液位,冷凝器,蒸发冷却塔图28 LM传感器尺寸外形图 图29 LM传感器电气连接图2.3 硬件电路各模块设计 电源电路设计 系统供电为市电AC220v,经变压器TR1降为交流6v,经整流桥堆BR1整流后得到脉动直流电压6v,再经三端稳压器LM7805得到VCC(+5v) ,图210 电源电路图2-10系统供电为市电AC220v,经变压器TR1降为交流6v,经整流桥堆BR1整流后得到脉动直流电压6v,再经三端稳压器LM7805得到VCC(+5v) ,其中电解电容C4、C6、起滤波作用,C5、C7是旁路电容,起抑制干扰的作用3。2.3.2 单片机最小系统电路设

23、计复位电路,就是 利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,当你进展完了一个题目的计算后肯定是要清零的是吧!或者你输入错误,计算失误时都 要进展清零操作。以便回到原始状态,重新进展计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进展复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进展。篡位电路都 是比拟简单的大都是只有电阻和电容组合就可以办到了。再复杂点就有三极管等等配合程序来进展了。RST:复位输入。在单片机工作期间,当此引脚上出现连接2个机器周期的高电平时可实现复位操作。复位电路除了具有上电复位功能外,还可通

24、过复位键迫使RESET为高电平。当系统通电时,RESET引脚获得高电平,随着电容的充电,RESET引脚的高电平将逐渐下降。RESET的高电平只有保持足够的时间2个机械周期,单片机才可以进展复位操作 。时钟电路采用12MHz的晶振,因为ADC0809的工作时钟最高允许值为12MHz,单片机ALE管脚2分频后为500KHz,可以作为ADC0809转换器的时钟信号CLK。*TAL1:反向放大振荡器的输入及部时钟工作电路的输入。*TAL2:来自反向振荡器的输出。*TAL1脚是部反相放大器的输入端,而*TAL2脚是该放大器的输出端。在晶体振荡中,晶体工作于根本响应模式,它作为一个感抗与外部电容形成并联谐

25、振,使正反应放大器维持震荡。所选电容为瓷片电容22PF,因为22PF对于工作于1MHZ以上的晶振都能获得良好的效果4。图211 单片机最小系统电路 显示电路设计图212 显示电路本设计图2-12由P1口控制七段发光二极管亮或灭,使用共阴极8段数码管,由图2.9可知,要使七段显示器的*一段亮,则应该是与该段相连的段选存放器即P1口的*位线输出为1。假设使*段熄灭,则必须输出0。例如要显示数字4。则应使P1口的P1.7-P1.0输出为11100110B,假设用一个字节表示该输出值,即字形代码为66H,依此类推,可以得到09一共10个十进制数的字形代码依次为3FH,06H,5BH,4FH,66H,6

26、DH,7DH,07H,7FH,6FH。本设计由P2.0,P2.1,P2.2,P2.3做位选,以控制哪一位七段数码管显示,例如,要求第一位数码管显示,则应设置P2.0为“1,P2.1,P2.2,P2.3为“0。PNP型三极管9012起到增加驱动电流的目的。电阻R12R19控制通过数码管的电流,R20R23控制通过三极管9012的电流,R4R11为单片机P1口的上拉电阻5。图213 电位器RV1与ADC0809接口 液位传感器的接口电路设计设计图2-13所选LM型液位传感器能够根据不同的液位产生不同的电压,电压值大小围为0.54.5V,且能够便于远距离传输。由于芯片ADC0809的输入为05V的电

27、压,仿真时需要将输入信号转换为电压信号,为此外接一电位器R=1k,把电压转换成05V电压。在设计中,把电位器的1,3脚接+5V电压和地线,调节滑钮2能够很好的得到05V电压,因此可以用电位器模拟液位传感器。2.3.5 AT89C51与ADC0809的接口电路设计如图2-14 ADC0809与AT89C51相连接,ADC0809中的START与ALE相连通,ALE地址锁存允许信号,对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开场进展A/D转换;在A/D转换期间,START应保持 低电平。当ALE

28、上升沿时,ALE锁存数据,A/D转换截止,当ALE下降沿时,START低电平,ALE低电平,不锁存,A/D转换开场。P2.4,P2.5,P2.6,P2.7分别控制CLK,START和ALE,EOC,OE信号,其控制A/D转换的开场和截止。CLK使用AT89C51部时钟信号。ADDA,ADDB,ADDC相连通接地,信号输入为000,表示输入通道选择为IN0口。8位数据信号线2-12-8与单片机的P1.0P1.7相连,实现ADC0809与AT89C51的数据传输。Vref参考电源参考电压用来与输入的模拟信号进展比拟,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=0

29、V)。图214 AT89C51与ADC0809的接口电路 报警电路设计 图215 报警电路图2-15电路的P3.0,P3.1作为高位和低位的报警控制线,通过设置上下液位报警线来实现报警功能。如果当前液位高于设置的高位报警线时,P3.0置低电平,高位报警灯亮。如果当前液位低于于设置的低位报警线时,P3.1置低电平,低位报警灯亮。如果当前液位低于设置的高位液位且高于低位液位时,高位报警灯和低位报警灯灭6。2.4硬件电路总结在本章中主要讲述了硬件电路的构造,电路原理和局部芯片的功能,要想确定与单片机相连的芯片,首先要看你想拿它来做什么,如果是采集信号的话,还要看你采集的是那种信号,如果是音频信号,则

30、可以选择一些音频解码芯片,如AD1836;如果是采集视频信号,就要选择视频解码芯片,如ADV7171。总之要根据前端的信号类型选择相应的芯片,许多传感器的作用就是采集外部的各种信号。 芯片确定好后,进展引脚相连主要看两大方面的:一是控制接口,即单片机通过此接口实现对芯片的存放器设置,实现芯片的各种功能。常见的控制接口是串行控制接口,有的支持SPI,有的支持I2C;二是数据通信接口,即用于单片机和芯片之间的数据传输,把采集的数据通过这个接口发给单片机,这个接口有串行的也有并行。一般引脚连接在芯片手册中会有一个推荐电路,可以去参考根据电路组成情况分成六个电路模块,分别介绍了各个电路模块的工作原理和

31、功能,掌握了更多的根本硬件电路设计原理如图2-16及其工作特点。图2-17PCB封装图,为做PCB板做准备。下面是电路的图片7。图216 电路原理图图217 PCB封装图第3章 软件设计3.1AT89C51的I/O口应用AT89C51共有P0,P1,P2,P3,4个8位的并行双向I/O口。各个I/O口实现不同的功能,详细情况如下。3.1.1 P0口的信号输入在程序中将P0口做为段选口使用,显示十位数字的段选信号,下例为显示十位数字的指令:MOV DPTR,*TABLE ;取段码表首址。MOV A,LED_2 ;取显示的十位数字。MOVC A,A+DPTR ;取段码。MOV P0,A ;输出段码

32、的显示。TABLE: DB 3FH,06H,5BH,4FH,66H ;共阴极数码管表DB 6DH,7DH,07H,7FH,6FH3.1.2 P1口的信号输入在程序中将P0口作为输入口,用来读A/D转换值。设计中,要求选通通道0,并把转化后得到数字量存入部RAM的35H单元中,下例为把转化后的数字量存入部RAM中的指令:CLR P2.5, ;SRART置0,MOV A,P1 ;MOV R7,AMOV 35H,R73.1.3 P2口的信号输入P2.0,P2.1,P2.2,P2.3做数码管的位选信号用,要哪个数码管亮,则置相应位高电平,就可将其选中。例如要求显示第一个数码管,端口设置指令为:CLR

33、P2.0CLR P2.1CLR P2.2CLR P2.3 P2.4,P2.5,P2.6,P2.7作为通用I/O口使用,与ADC0809连接。P2.4作为A/D转换的CLK信号,P2.5作为开场A/D转换的启动信号,P2.6作为查询A/D转换是否完成的判断信号,P2.7作为输出A/D转换的数字量允许信号。下例为P2.4,P2.5,P2.6,P2.7作为通用I/O口使用的指令:CLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.73.1.4 P3口的信号输入P3.0、P3.1、P3.7作为通用I/O口使用,与LED灯和蜂鸣器相连,输出报警信号,如果当前液位

34、高于设置的高位报警线时,P3.0置低电平,高位报警灯亮。如果当前液位低于于设置的低位报警线时,P3.1置低电平,低位报警灯亮。如果当前液位低于设置的高位液位且高于低位液位时,高位报警灯和低位报警灯灭。H_ALM BIT P3.0L_ALM BIT P3.1LALM: CLR L_ALM ;低位报警 SETB TR1 CLR FLAGLJMP PROCHALM: CLR H_ALM ;高位报警SETB TR1 SETB FLAG LJMP PROC3.2软件模块设计 主程序的设计系统分为初始化,A/D转换,十进制转换,LED显示,电机控制和报警电路。因此整个程序需要包含上述六个子程序。流程图如图

35、3-1:图31 主程序流程图3.2.2 A/D转换的设计ADC0809芯片实现A/D转换的时间为0.1ms左右,A/D转换后得到的数字量应及时传送到单片机进展处理,流程图如图3-2。OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开场进展A/D转换;在A/D转换期间,START应保持 低电平。本信号有时简写为ST。CLK时钟信号。ADC0809的部没

36、有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。EOC转换完毕信号。EOC=0,正在进展转换;EOC=1,转换完毕。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。CLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7CLR STSETB STCLR ST ;启动转换JNB EOC,$ ;等待输出结果SETB OE ;允许输出MOV ADC,P1 ;读取A/D转换结果CLR OE ;关闭输出MOV A,ADC ;将A/D转换结果转换成BCD码图32 A/D转换程序流程图 显示子程序的设计

37、设计中采用动态扫描法,实现四位数码管的数值显示,并显示小数点。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时

38、间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低8。通过逐次选通P2.0,P2.1 ,P2.2,P2.3依次送十进制的相应字段码给P1口,并延时5ms完成显示。流程图如图3-3显示程序:MOV LED_0,*00HMOV LED_1,*00HMOV LED_2,*00HMOV LED_3,*00HMOV DPTR,*TABLE ;送段码表首地址DISP: MOV A,LED_2 MOVC A,A+DPTROR

39、L A,*80H ;显示小数点MOV BUFFER+2,A ;送显示缓存 CLR P2.1 MOV P0,A LCALL DELAY SETB P2.1SETB P2.0 MOV A,LED_1 MOVC A,A+DPTR CLR P2.0 MOV P0,A LCALL DELAY RETDELAY: MOV R6,*10 ;延时5ms图33 显示子程序流程图 报警子程序的设计本电路的P3.0,P3.1作为高位和低位的报警控制线,通过设置上下液位报警线来实现报警功能。本设计要求为:液位在小于1.26米时低位报警灯亮进展低位报警,液位在1.53米时灯都不亮,液位在大于4米时高位报警灯亮进展高位报

40、警,流程图如图3-4。报警程序:MOV H_TEMP,*153 ;204/255=0.6 高于80%报警MOV L_TEMP,*77 ;77/255=0.3 低于30%报警MOV A,ADC ;将A/D转换结果转换成BCD码 SUBB A,L_TEMP ;判断是否低于下限 JC LALM MOV A,H_TEMP MOV R0,ADC SUBB A,R0 ;判断是否高于上限 JC HALM CLR TR1 LJMP PROCLALM: CLR L_ALM ;低位报警 SETB TR1 CLR FLAG LJMP PROCHALM: CLR H_ALM ;高位报警 SETB TR1 SETB F

41、LAG LJMP PROC 图3-43.3软件设计总结在本章中主要讲述了软件设计的一些情况,对软件的一些功能进展了解释,根据程序组成情况分成六个程序模块,分别介绍了各个程序模块的工作原理和功能,对局部程序进展了简单的注释,通过流程图直观的表现出各个模块的作用及程序运行过程。在本次的软件设计中,运用Keil进展编程,将编辑好的程序进展编译,查看是否语法错误,如果没有错误,设置晶振频率,编译生成.He*文件,进展仿真。在此过程中,我收益良多,熟悉了单片机汇编语言的使用,对单片机的编程有了进一步的理解,通过和同学的交流,学会了很多以前自己不能解决的问题9。第4章 调试4.1仿真电路调试在仿真程序过模块编程,用Proteus软件与Keil软件相结合进展调试,调试程序见附录4(1)建立工程文件 点击菜单project,选择new project: 然后选择要保存的路径,输入工程文件的名字,比方保存到论文目录里,工程文件的名字为yang.uv2. 这时会弹出一个对话框,选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有要求你的51核的单片机,这里选AT89C51。这时要新建一个源程序文件,建立一个汇编文件,输入编写好的程序。保存。选择要保存的路径,在文件名里输入文件名,注意一定要输入扩展名,这里有汇编语言,文件名为:yang.asm。(2). 调试程序

温馨提示

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

评论

0/150

提交评论