基于单片机的液位控制系统设计的-毕业设计论文.doc

上传人:可****阿 文档编号:32460342 上传时间:2022-08-09 格式:DOC 页数:39 大小:419.04KB
返回 下载 相关 举报
基于单片机的液位控制系统设计的-毕业设计论文.doc_第1页
第1页 / 共39页
基于单片机的液位控制系统设计的-毕业设计论文.doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《基于单片机的液位控制系统设计的-毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的液位控制系统设计的-毕业设计论文.doc(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、摘 要本课题是基于单片机的液位控制系统的设计,使用在日常生活和工业应用中广泛应用的水塔作为被控装置,水塔液位和水压作为被控对象;本设计采用液位检测装置和电容式差压变送器对液位高度和压力进行实时检测并传送到单片机进行实时处理,从而使水塔水位自动保持在指定的范围。其中,液位控制系统的硬件电路主要包括水位和水压检测电路、A/D转换电路、键盘显示电路、报警电路、电机控制电路等五大局部;该系统使用电容式差压变送器对水塔水压进行检测并将检测到的信号送给A/D转换器,A/D转换器将对应的模拟电压信号转换成数字量传给单片机AT89C51进行处理,单片机将处理的结果通过数码管显示出来,并完成对排水、抽水电动机的

2、控制;在单片机进行实时处理的同时,可以通过按键对控制系统进行相应的功能切换。该系统各个局部的硬件电路采用C51语言编写控制程序,从而实现使用键盘调整被控参数水压的上、下限以及软件复位功能;利用四位一体共阴极数码管显示水压;通过逻辑代码到达对电机控制电路的控制,使电机在一定的条件下进行抽水或者排水操作;最终使被控对象被控制在指定的水位和水压范围内。在将系统的硬件电路设计和软件程序设计完成后,需要将硬件电路局部和软件程序局部结合起来进行液位控制系统的调试,如果发现问题,就需要找到适宜的解决方案,修改错误的局部;并且将这两者结合进行液位控制系统仿真结果的测试,观察实验的结果是否符合课题的设计要求,不

3、然修改不符合课题要求的局部,最终到达液位控制系统的课题目标。关键词:AT89C51单片机;A/D转换;液位控制仅供学习参考AbstractThis topic is the design of control system based on single-chip liquid level control, using the tower as a controlled device which is often seen in daily life and industrial application, the liquid level of the water tower and wate

4、r pressure as the object; this design uses the liquid level detection device and capacitive differential pressure transmitter to monitor the liquid level and pressure and real-time processing, so that the water level automatically keeps in the specified range. The hardware circuit of control system

5、mainly has five parts, which includes water pressure and liquid level detection, A/D converter, keyboard display circuit, alarm circuit, motor control and so on; the system uses capacitive differential pressure transmitter to detect the tower pressure and the detected signal is sended to the A/D con

6、verter; A/D converter will convert this analog voltage signals into digital signals which send to the AT89C51 single-chip, and the micro-controller processes the results, which can use the nixie tubes to display, and accomplish the control of drainage and pumping motor; At the same time of real-time

7、 processing in the SCM, the corresponding button can switch to different functions of the control system.Each part of the hardware circuit of the system uses C51 language to program, so as to realize the use of the keyboard to adjust the controlled parameters of upper and lower limit pressure; using

8、 one of LED to display the pressure, through the logic code to control the control circuit of the motor, the motor will pump or drain under a certain condition; ultimately the water pressure and water pressure will be controlled in a specified range.After the design of hardware circuit and software

9、program, debugging liquid level control system combining hardware with software part is needed; if errors are found, find the right solution, modify the wrong part; also this combination of liquid level control system simulation results need test, and observe the experimental results whether or not

10、these results are in conformity with the requirements of the project design; Otherwise, modifying the part that does not meet the requirements of the project, and ultimately the aim of liquid level control system will be achieved.Keywords: AT89C51 single chip micro-controller; A/D conversion;liquid

11、level control II 目 录摘 要IAbstractII第1章 绪论11.1 课题的意义11.2 国内外的研究动态21.3 课题的目的和预期目标3第2章 系统整体方案设计4第3章 硬件电路设计63.1 AT89C51单片机63.1.1 单片机的功能和特点63.1.2 时钟和复位电路83.2 水位检测电路和水压检测电路93.2.1 水压检测电路以及控制仪表93.2.2 水位检测电路103.3 A/D转换设计113.3.1 A/D转换器介绍113.3.2 A/D转换电路133.4 数码管显示和键盘电路143.4.1 键盘电路143.4.2 数码管显示电路153.5 报警电路173.6

12、电机控制18第4章 软件设计194.1 软件语言的选择194.2 系统主程序和初始化函数194.3 A/D转换和水压的数据处理204.4 延时处理214.5 键盘局部的软件设计244.5.1 按键去抖动244.5.2 按键功能实现264.6 显示局部的软件设计264.7 水位监测和报警电路的软件设计274.8 驱动电路的软件设计28第5章 系统调试与仿真结果295.1 系统调试295.2 仿真结果305.2.1 水压仿真测试305.2.2 水位仿真测试31第6章 结论32参 考 文 献33致 谢34附 录35 IV沈阳工业大学本科生毕业设计第1章 绪论1.1 课题的意义随着很多行业对液位控制的

13、需求日益增加,液位和液压控制技术正在不断开展。为了增加控制功能、提高生产效率,采用AT89C51单片机进行液位和液压的控制技术得到了广泛的应用。不管是在工业生产过程中,还是在农业和其他行业生产过程中,水塔都是生产生活中不可或缺的控制装置设备,所以水塔的液位控制就是我们面临的严峻问题之一。在我国液位技术需求迅猛上升之前,液位的控制需要人来进行看管,这不但降低了劳动生产率,而且还不能高效和精确地将水位和水压控制在一个指定的范围内。正因为这些各种方面的原因,所以采用单片机控制水塔的水位和水压的控制方案就到达了这一根本要求,并且解决了这一重要问题。液位控制作为过程控制研究领域重要的课题之一,它不仅在生

14、产生活中占有相当大的比例,而且人们对液位控制的需要和要求越来越多,多功能的液位控制系统就为了满足这一情况而进行设计的。多功能的液位控制相比较传统的机械液位控制系统有无可比较的优势;首先,多功能的液位控制系统在功能上比机械液位控制系统要多了不少,不仅是传统意义上的液位控制而已,还增加了水压的显示显示功能和键盘对液压的控制切换功能;其次,多功能的液位控制系统在控制速度上比机械液位控制系统要快了不少,机械液位控制系统依靠传统的机械杠杆进行移动产生位移会有一定的机械延迟,从而增加了滞后时间,然而采用单片机进行液位控制的系统使用了A/D转换器,采样频率相较于机械液位控制系统较高,可以对液位控制系统进行快

15、速控制;再次,机械液位控制系统需要进行零点值和满度值进行反复的调整1,而多功能的液位控制系统不用对其进行反复的调整,只要进行过零点调整,就无需进行反复设置;最后,多功能的液位控制系统无需人为手动的调整液位,直接通过控制电机到达控制液位的效果,相较于机械液位控制系统节省了劳动力本钱,同时提高了生成过程中控制的效率。多功能的液位控制系统将使用AT89C51单片机作为核心处理器,方便对整个液位控制系统的调度和操作,它具有一定的可靠性、稳定性和准确性。使用单片机实现多功能的液位控制系统不仅可以减少简单液位控制的控制本钱,而且可以提高用户的可操作性,方便用户对液位控制系统的控制。因此本课题采用AT89C

16、51单片机控制水塔的液位相比于以前的控制方式将会有更大的性能和控制操作的提升。目前,虽然市场上的液位控制系统种类繁多,但是掌握液位控制系统关键核心技术对我们有很多好处,有助于我们更有效率和平安地进行生产生活,而且,对液位变化进行分析并采集大量数据,找出数据经常变化的位置,这些数据将会帮助我们实现更加快速和稳定的控制系统。1.2 国内外的研究动态很多欧美的兴旺国家在液位控制系统的设计中,特别是液位控制系统,已经积累了很多的经验,具有坚实的根底,所以欧美的兴旺国家的液位控制系统迅速占领了国际市场。我国在液位控制系统的研究和制造上,与其他兴旺国家相比还存在一定差距;但是,我们国家的研究人员在液位控制

17、系统研究的道路上克服了许多未知困难,在探索中不断前进,希望在相关封锁的技术领域有所突破,甚至超过兴旺国家的控制技术水平使我国的液位控制技术领先于全世界。然而,在液位控制系统中,液位测量是液位控制技术非常重要的一项步骤,依据测量的工作原理,液位测量分为直读式液位测量、浮力式液位测量、电气式液位测量等。直读式液位测量是利用连通器的原理测量液位,浮力式液位测量利用浮力原理测量液位,分为恒浮力和变浮力两种2。电气式测量法测量液位是将液位的变化转换为某些电量的变化,从而实现液位检测;一般,把敏感元件做成的杆状电极置于被测物质中,那么电极的电气参数,随着液位的变化而变化;电气式测量液位又分为电极式、电容式

18、、电感式等3。除了液位测量以外,液压的测量也是液位控制技术不可缺少的局部,测量压力一般使用差压变送器,可以将420mA的电流远传到控制室,方便对控制装置的统一管理。国外兴旺国家的控制方式已经由集散控制系统开展到了现场总线技术,现场总线技术的开展使得自动化控制技术发生了变革。信息技术现在正融入到生产现场,新型的现场总线技术克服了系统封闭带来的缺陷,提高了信号测量准确度和传输精度,同时可以进行多种复杂的控制运算,提高系统的可靠性。不仅如此,现场总线技术还便于操作管理人员更好、更深入地了解生产现场和自动控制装置的运行状态。1.3 课题的目的和预期目标本课题是通过单片机作为系统核心到达控制液位的目的。

19、本设计采用液位检测装置和电容式差压变送器对液位高度和压力进行实时监控并进行实时处理,从而使水塔水位自动保持在指定的范围。其中,液位控制系统的硬件电路主要包括水位和水压检测电路、A/D转换电路、键盘显示电路、报警电路、电机控制电路等五大局部;该系统使用电容式差压变送器对水塔水压进行检测并将检测到的信号送给A/D转换器,A/D转换器将对应的模拟电压信号转换成数字量传给单片机AT89C51进行处理,单片机将处理的结果通过数码管显示出来,并完成对排水、抽水电动机的控制;在单片机进行实时处理的同时,可以通过按键对控制系统进行相应的功能切换。本设计的模型是基于水塔控制装置,以1m的水塔的液位和液压作为被控

20、对象,液位范围是(0-100cm),液压范围是(0-9980Pa),实现液位和液压被控制在指定的范围内。本系统的软件局部采用C51语言编写控制程序,从而实现使用键盘调整被控参数水压的上、下限以及软件复位功能;利用四位一体共阴极数码管显示水压;通过逻辑代码到达对电机控制电路的控制,使电机在一定的条件下进行抽水和排水操作;最终使被控对象被控制在指定的水位和水压范围内。本课题的水位控制技术采用液位传感器和压力传感器对液位高度和压力进行实时监控;预期目标是:当水位和压力超出规定范围时,系统能够自动调整水位和水压,使其落在规定的范围内;当水位和水压低于规定范围时,就控制水泵工作抽水,使水塔内的水位和水压

21、上升,到达规定高度。而到达不用人工专门去控制即可使水位保持在一定范围内的目的。第2章 系统整体方案设计在生产生活中有很多种方式可以对液位和液压进行控制,但是使用比较常见的有两种控制方式,一个是基于机械的简单控制方法,另一个是基于控制器的复杂控制方法。 现在介绍这两种控制方式的区别和原理。1基于机械的简单控制方法。可以使用的实现方式有浮标式、电极式等,基于机械的简单控制方式的优点是结构简单、本钱低。但是缺点也很明显,就是精度低、不能进行数据实时显示;另外,这种控制方式很容易引起误操作,且只能单独控制,不能与其他的计算机进行数据交换,难以实现数据的采集和数据的分析以及对数据处理后的控制4。图2-1

22、 单片机液位控制系统框图2基于控制器的复杂控制方法。基于控制器的复杂控制方法是通过安装在水塔下方安装差压变送器,把水塔底部的压力首先转换成变极距位移值的变化,然后再转换成电阻、电容等电量值的变化,再经过一些电路的处理,将这些电量值的变化转换成标准电压信号或者是电流信号,再经过多路切换、A/D转换器将模拟信号变换成数字信号送到单片机,然后单片机对数据进行运算和处理5,通过相应的逻辑实现单片机端口信号的变化,实现改变外围装置状态的变化,最终到达控制水塔液位和液压在指定范围内的目的。针对以上描述的两种控制方法,以及综合考虑本设计需要到达目的和要求。本设计选择第二种基于控制器的复杂控制方法进行液位和液

23、压的控制,并且对其加以改良。最终构成的控制方案如图2-1所示,本液位控制系统由单片机AT89C51、数码管显示器、报警器、键盘、变送器和其它根本外围装置组成。使用单片机作为液位控制系统的核心,设计出了一个对供水塔液位和液压进行实时监测的系统。实时检测水塔的液位高度和液压的变化,将来自传感器测量液压和液位的信号经过AD转换或者测量电路的处理后送到单片机再进行控制处理,由单片机控制外围装置,实现排水电机、抽水电机以及报警器等外围装置进行实时动作,到达对水塔的液位高度和液压的调整,最终到达水塔的液位高度和液压保持在要求的指定范围内。除此之外,本设计实时显示测量的液压值,从而实现对水塔水位的实时监测。

24、同时可以利用键盘输入需要控制液压的上、下限和实现其他的控制功能。第3章 硬件电路设计液位控制系统的硬件主要由AT89C51单片机,水位检测电路,水压检测传感器(使用变送器),报警电路,数码管显示电路,键盘输入电路,电动机控制电路,AD0809转换器等组成。下面对各局部硬件电路进行详细介绍。3.1 AT89C51单片机3.1.1 单片机的功能和特点单片机采用由ATMEL公司生产的双列40脚AT89C51芯片,芯片引脚如以下图3-1所示。其中,P0口用于A/D转换;P1口作为数码管的段选信号;P2口的低四位给数码管提供位选信号,高四位用于连接键盘;P3口用于控制水泵的动作,并且用于控制A/D转换的

25、启动和停止,控制报警器以及用于读取液位等。下面具体介绍各个接口的功能和特点。图3-1 AT89C51单片机引脚图P0口:单片机P0口有两种使用方式,第一种是作为通用的I/O口使用,用于传送单片机的输入输出数据,此时的输出可以得到缓存,输入的数据可以得到缓冲,保证了数据输入输出的可靠性6。第二种是连接外部的存储器,通过和单片机的P2口结合起来使用,单片机就可以访问外部存储设备的数据,可以对其进行读写操作7。P1口:单片机的P1口第一种使用方式和P0口一样;P1口的第二种使用方式是作为8751编程/校验用于ROM的低8位地址。P2口:单片机的P2口第一种使用方式和P1口一样;P2口的第二种使用方式

26、是和P0口结合起来使用,作为访问片外存储器的高8位地址中的数据。表3-1 AT89C51端口引脚的第二功能端口号第二功能P3.0RXD串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口:单片机P3口的第一种使用方式和P1口一样;第二种使用方式是作为第二功能使用,每一个引脚都有各自的功能,可以作为控制液位控制系统的外围装置使用,如表3-1所示。RST:复位引脚。当振荡器工作时,RST引脚出现两个机器周期以上高电平,

27、这些加到RST引脚的高电平会使AT89C51单片机复位。ALE/PROG:地址锁存引脚。ALE引脚配合单片机的P0口的第二种使用方式工作。在访问外部存储器时,单片机除了在P0口输出存储器的地址,还在ALE引脚上输出一个高电平;在没有访问外部存储器的情况下,单片机在ALE引脚输出1/6时钟频率的脉冲。PSEN:外部程序存储器的读选通引脚。EA/VPP:外部访问允许引脚。EA=1,访问片内存储器;EA=0,访问外部存储器。3.1.2 时钟和复位电路1.时钟电路如图3-2所示,左边的电路图是单片机的片内振荡电路输入线。XTAL1和XTAL2连接石英晶体和微调电容,同时连接单片机的片内振荡器的定时反响

28、回路。石英晶振起振后,在XTAL2线上输出一个3V左右的正弦波,以使单片机的片内OSC电路按晶振同频率自激振荡。电容C1和C2帮助起振,调节这两个电容的电容值以到达微调时钟频率的目的8。图3-2 复位电路及时钟电路(2) 复位电路复位电路可以分为上电复位和手动按键复位两种。单片机上电复位的原理是,在系统上电的一瞬间,利用电容两端的电压不能发生突变,在一上电的瞬间电容如同短路,加在RST引脚的电平是高电平,虽然时间很短,但足以让单片机复位9。手动按键复位的原理是,在系统正常工作的过程中可以手动触动按键使单片机复位。按下按键,5V的电压经过一个200欧姆的电阻分压后加到系统的RST上,手动按键按下

29、到抬起的过程足以使系统复位10。图3-2中网络标号RST连接单片机RST引脚,同时具有上述的两种功能。3.2 水位检测电路和水压检测电路3.2.1 水压检测电路以及控制仪表1. 电容式差压变送器简介该变送器采用差动电容作为检测元件,完全没有机械传动机构和机械调整装置,抗震性好、准确度高,静压误差小,其可靠性、稳定性都较高,仪表准确度为0.25-0.5级11。由于变送器采用集成放大器和现代电子工艺,参数调整通过电路完成,简单方便,且零点调整和量程调整互不影响。图3-3 电容式差压变送器实物图电容式差压变送器使用变极距的方法测量压力差,实物图如图3-3所示。它是将被测压力差引起的弹性元件的变形转变

30、成电容量的变化,通过测量电容量的变化,便可知道被测压力差大小。隔离膜片集成运放测量电路活动电极输入差压输出电流位移电压电容变化图3-4 电容式差压变送器原理图变送器原理如图3-4所示,从输入电压到电容变化是检测局部,从电容变化到输出电流是转换局部。由检测局部的差动电容膜盒把被测压力差转换成电容量的变化,经转换局部把电容量的变化转换为电压,再由运算放大器将电压转换成4-20mA标准信号输出。3.2.2 水位检测电路水位检测电路结合了电路和机械两个局部,其中电路局部如图3-5所示,主要是通过一个开关来检测水位的位置,当开关闭合时,说明水位到达指定的水位,对应单片机的P3.6或P3.7引脚检测的电压

31、是低电平;如果开关断开,说明水位没有到达指定的位置,对应单片机的P3.6或P3.7引脚检测的电压是高电平。图3-5 水位检测电路机械局部是根据水的浮力使浮球漂浮,从而使浮球产生位移,到达触碰开关,实现电路局部开关的开、闭两种状态;通过在液位控制装置上设置浮球的位置,可以得到想要液位范围,使水位保持指定的范围内。3.3 A/D转换设计3.3.1 A/D转换器介绍1. ADC0809转换器概述 A/D转换器是液位控制系统中最为重要的一个电子元件,它可以将模拟信号转换成数字信号,变成单片机可以处理的数字信息。本设计考虑到液位控制系统进行A/D转换的各种要求,决定采用ADC0809进行A/D转换电路局

32、部的设计,使用这种逐次逼近式A/D转换器转换速度比较图3-6 ADC0809引脚图快,造价本钱比较低,可以满足测量水压的要求;ADC0809使用起来也比较简单,可以进行多路的模拟信号的转换,通过改变模拟信号输入地址就可以实现这一功能;单片机只需要提供一个数据接收端口和少量的控制端口就可以对该芯片进行控制和接收信号。ADC0809的引脚图如图3-6所示。单片机可以通过对与其连接的ADC0809转换器的端口进行读取操作,通过ADC0809将输入的模拟数据,处理成数字信号输出,单片机就可以获得液位控制装置的水压数字量信号;单片机将这一数字量进行数学运算处理,可以得到一个水压值,经过这些步骤,后续的键

33、盘以及显示操作的功能才能被实现。ADC0809主要信号引脚的功能说明如下表3-1所示。表3-1 ADC0809引脚功能ADC0809引脚ADC0809引脚的功能IN7-IN0模拟电压输入线ALE地址锁存允许信号START转换启动线。上升沿,复位芯片;下降沿,开始转换ADDA、ADDB和ADDC信号输入地址线CLK时钟输入线。由外界提供频率为500KHz的时钟信号EOC转换结束信号。D7-D0数据输出线OE输出允许信号。控制输出转换的数据Vcc+5V电源Vref参考电压线2. A/D转换数据传送方式A/D转换器经过转换后,应及时把转换后的数据送到单片机的P0端口,单片机才能对这个数据继续进行处理

34、。所以知道ADC0809转换器何时完成A/D转换是非常重要的,单片机有3种方式判断A/D转换是否完成。(1) 定时传送方式任何一个ADC转换器的转换时间都有一个固定值,可以使单片机通过定时程序中断,到达这个固定时间值去取转换后的数据。(2) 查询方式AT89C51单片机通过不断地查询ADC0809的EOC引脚的状态就可以判断转换是否完成。(3) 中断方式将ADC0809的EOC引脚连接到单片机的P3口,让单片机的P3口以第二种使用方式工作,转换时间到会给单片机发送中断请求信号,以中断方式判断转换是否完成。3. ADC0809的工作过程首先输入3位地址ADDA、ADDB、ADDC,并使ALE=1

35、,将地址存入地址锁存器中。此地址经译码选通8路模拟输入线中的一个到比较器。START上升沿将逐次逼近存放器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行,直到A/D转换完成,EOC变为高电平,指示A/D转换结束,转换结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门翻开,转换结果的数字量输出到数据总线上12。3.3.2 A/D转换电路本设计的液位控制系统中的A/D转换器采用的是ADC0808,它与ADC0809的功能没有太大差异,使用ADC0808进行液位控制系统的仿真测试。图3-7 A/D转换电路ADC0808与AT89C51单片机的电路连接

36、图如图3-7所示,本设计使用的是查询方式;ADC0808的频率由一个外部脉冲源提供其所需要的500kHz;模拟输入通道选择IN0,所以ADDA,ADDB ADDC都是0,说明选择的输入通道是IN0;ALE接地,使000地址锁存起来;参考电压为+5V;数字量输出通道连接到单片机的P0口;开启A/D转换的引脚START连接单片机的P3.0,查询A/D转换是否完成使用到了EOC引脚,单片机的P3.1与其连接用于查询ADC0809的状态;OE引脚控制ADC0809转换器数据的输出,单片机的P3.2与其连接在一起用于获取来自ADC0809转换器的数字信号。3.4 数码管显示和键盘电路数码管显示电路和键盘

37、电路一起进行设计,数码管显示电路由四位一体共阳极数码管组成,分为动态显示和静态显示,为了系统的优化和省电,本设计采用动态显示。键盘电路采用常用的键盘电路设计,本设计使用独立式键盘设计,用以实现液位控制系统的用户操作功能。3.4.1 键盘电路图3-8 键盘电路键盘电路是液位控制系统中一个比较重要的组成局部,它不仅可以实现向该控制系统中的单片机发送命令的功能,而且还可以向该控制系统输入信号改变液位控制系统参数。键盘电路是人与液位控制系统进行交互的重要工具。结合液位控制系统设计的实际情况,故采用独立式键盘接口电路,而非矩阵式键盘设计。独立式键盘是将每一个独立的按键直接接到单片机指定的I/O口上,每个

38、按键连接单片机一个引脚,这是在液位控制系统使用键盘非常少才采用的设计方案。当键盘的按键按下时,需要向单片机发送一个信号,通知单片机用户按下了按键,需要单片机对该按键的功能进行响应。独立式键盘的信号检测是通过单片机指定的I/O口的状态变化实现的,通过如图3-8所示的键盘电路设计,可以使连接的单片机P2端口的高四位的状态发生变化。按下按键,这些接口的状态就变成了低电平;松开按键,这些接口的状态就变成了高电平;利用这一原理,就可以方便的编写程序实现相应的功能了。其中,MODE、ADD、SUBTRACT不仅是用来控制显示用的按键,主要功能是改变水塔被控水压的范围。可以通过ADD、SUBTRACT实现对

39、上下警戒水压的设置。具体来说,ADD、SUBTRACT分别实现数字的增一与减一,MODE、RESET那么作为模式选择和重置键。重置键会让液位控制系统回到初始化状态,模式选择键是选择水压上限还是水压下限。3.4.2 数码管显示电路本设计采用四位一体共阴极数码管。它的每一位发光段,分别是A-G段和DP段,分别按照字母顺序与单片机的P1口连接;每一位数码管1,2,3,4同样按照顺序与单片机的P2口的低四位连接。1. 数码管简介数码管是由发光二极管构成的发光显示元件。单片机将指定的数据进行处理后,将在与四位一体共阴极数码管连接的I/O上输出一些数字信号,用于驱动数码管中的发光二极管,使发光二极管发生亮

40、灭13。这些指定的数字信号需要在程序中进行编码,具体的编码详见本设计的软件局部。它的引脚以及与外部的连接如图3-9所示。数码管又分为两种显示方式,下面分别介绍共阴极和共阳极这两种方式。图3-9 数码管显示电路2. 数码管的显示方式数码管要正常显示就要使数码管的各个段的做出相应的亮灭,从而显示出待显示的数字。因此,根据单片机对它的驱动方式不同,可以分为以下两种方式工作。(1) 静态显示:静态显示是将数码管的每一个段选线都都连接到单片机的引脚上,由单片机对其驱动,控制其显示。静态驱动的优点是结构简单,但占用单片机的引脚多,能耗高,不利于高效使用单片机。(2) 动态显示:数码管的动态显示在单片机设计

41、中广泛应用。动态显示是将所有的数码管的8个段选线连接到单片机的同一个I/O口,通过位选线来控制哪一个数码管进行显示。在延时进行轮流的显示过程中,由于人的视觉短暂停留效应以及发光二极管的余晖效应,尽管各位的数码管不是同时点亮,但是给人的印象感觉就是显示了稳定数据14。动态显示可以到达和静态显示一样的效果,不仅功耗更低,而且还能节省大量的I/O端口。3.5 报警电路图3-10 蜂鸣器报警功能电路如图3-10所示,报警电路由三极管2N2219和蜂鸣器组成。蜂鸣器由2N2219驱动,进而实现报警功能。2N2219的集电极接电源+5V,基极通过一个电阻连接到P3.3口,射极接蜂鸣器,当P.3为低电平时,

42、2N2219截止,报警器不响,当P3.3为高电平时,2N2219导通,报警器发出响声。3.6 电机控制电机控制系统采用普通的电磁继电器,使用2N2219三极管放大电路对其进行驱动,如图3-11所示。继电器两端连接了一个1N4001二极管。原因是,线圈通电时,1N4001对驱动电路没有任何作用。当继电器线圈在断电的一瞬间会图3-11 电机控制电路产生一个很强的逆向电压,在继电器线圈两端反向并联1N4001就是用来抵抗这个逆向电压对2N2219的影响;如果不加1N4001反向二极管,逆向电压会直接作用在2N2219上,很容易将2N2219烧坏。当单片机的控制端P3.4输出高电平时,2N2219导通

43、,驱动电磁继电器的开关闭合,使抽水电动机开始工作;当单片机的控制端P3.4输出低电平时,2N2219截止,驱动电磁继电器的开关端口,使抽水电动机停止工作。这样便可以实现对液位控制系统水位和水压的控制。排水电机与之类似,只是受到P3.5端控制,其他与抽水电机相同,不再赘述。第4章 软件设计4.1 软件语言的选择本设计采用C51语言编写软件。C51不仅可以对单片机编程,而且还能对硬件控制系统进行高效开发,利用C51语言编写程序简便、易懂,相比较于汇编语言,使用C51编程有以下优点。1.不用写反复繁琐的指令,也不用记忆指令和考虑指令的使用2.存放器是由编译器自动管理,不用再人工考虑设置3.使用C51

44、编程可以是程序设计结构变得标准,程序分成函数结构化设计4.C51提供了许多标准的子程序,对数据处理起来方便5.避开了对跳转指令的直接处理,防止了程序过大出现不可预知的问题6.方便模块化的编程设计技术,易于程序的移植除了以上的优点外,C51编程对数据的是非常方便的,传统的汇编语言需要对二进制和十六进制数直接操作,这额外增加了设计的时间,所以使用C51编程可以使用人性化的十进制数,将十进制数定义为指定的数据类型即可,通过编译器自动转换成底层的二进制数。虽然C51有很多优点,但是也有一定的缺乏,汇编语言程序可以设计的结构清晰,方便单片机对指令的高效处理,C51编译后的程序重复度比直接编写的汇编语言程

45、序要高。综上所述,在比照了C51语言和汇编语言的优点以及缺点后,本设计采用C51编程,方便对液位控制系统软件设计的逻辑实现,同时也能够快速排查程序出现的问题。下面是液位控制系统各局部使用C51语言编程的软件设计。4.2 系统主程序和初始化函数液位控制系统的主程序包括系统初始化函数、按键函数、水位监测函数和电动机控制函数以及水压检测函数。液位控制系统的主程序的主要功能是完成液位控制系统参数的初始化,设置默认的警戒液位和液压的上下限,实时显示水压值以及键盘扫描等工作。程序流程框图如图4-1所示。系统的初始化函数主要是对水压的上、下限进行初始化赋值,并对其他的控制参数例如电机控制位、报警器控制位等进

46、行初始化设置。图4-1 主程序流程图4.3 A/D转换和水压的数据处理本设计采用的A/D 转换器分辨率是8 位逐次逼近型A/D 转换器,位数越高,分辨率越高。假设小于最小变化量的输入模拟电压的任何变化,将不会引起输出数字值的变化15。 而常用的8-bit 的ADC0809,假设是满刻度为5V的话,分辨率即为5V / 28 = 19.53mV。 程序如下:START=0; /启动A/D转换 OE=0;if(EOC=1) /查询0808转换结束信号 /这时D0-D7输出转换后的数据,CPU可以进行读取数据OE=1; temp=P0; /读取数据 temp=temp*1.0/255*500; tem

47、p=(temp-100)*25; OE=0; START=1; START=0; OE=0:禁止转换器的数据输出,为A/D转换做准备START=0;START=1;START=0;产生一个脉冲信号,启动A/D转换If(EOC=1):检测转换器是否进行A/D转换完成OE=1:允许A/D转换数据输出,并将数据传送给P0Temp=temp*1.0/255*500;OE=0:对输入的数字量0-255转换成对应的模拟量0到+5V。OE=0,禁止数据输出,防止在处理P0口数据过程中,输入P0口的数据发生变化。4.4 延时处理本设计的延时处理方案设计了两种,一种是以循环为主的延时设计,另一种是以定时器中断为核心进行计时,从而实现延时的效果;1. 通过循环进行延时处理程序如下:/延时子程序void delay(uint m)while(m-);2. 通过定时器进行延时处理 定时/计数器有两种用途:定时器和计数器。但一个定时/计数器T1或T0不能既做

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com