基于单片机的水位控制系统设计毕业论文分析.doc

上传人:牧羊曲112 文档编号:4958048 上传时间:2023-05-26 格式:DOC 页数:37 大小:1,024KB
返回 下载 相关 举报
基于单片机的水位控制系统设计毕业论文分析.doc_第1页
第1页 / 共37页
基于单片机的水位控制系统设计毕业论文分析.doc_第2页
第2页 / 共37页
基于单片机的水位控制系统设计毕业论文分析.doc_第3页
第3页 / 共37页
基于单片机的水位控制系统设计毕业论文分析.doc_第4页
第4页 / 共37页
基于单片机的水位控制系统设计毕业论文分析.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《基于单片机的水位控制系统设计毕业论文分析.doc》由会员分享,可在线阅读,更多相关《基于单片机的水位控制系统设计毕业论文分析.doc(37页珍藏版)》请在三一办公上搜索。

1、毕业论文(设计)题 目: 基于单片机的水位控制系统设计 系部名称: 专业班级: 学生姓名: 学 号: 指导教师: 教师职称: 20年月日摘 要传统的水位控制在生产中一直占有主导地位,但随着生产线的更新,不仅要求有更直观、准确、稳定的水位控制系统,同时还要求在降低生产设备的成本方面要求更新自动化程度和性价比高的水位控制系统。单片机控制系统以其控制精度高、性能稳定可靠、设置操作方便、造价低等特点被应用到水位系统的控制中。本系统采用单片机AT89C51为控制核心来实现水位的基本控制功能。系统由键盘、数码显示、A/D转换、传感器、电源和控制部分组成。本文以单片机端口的输出电平控制继电器的动作,实现电机

2、的启动或者停止,从而达到自动控制水位的目的。另外,系统可根据需要设定水位控制的高度,同时具备超限报警和故障报警功能,并辅以发光二极管显示相应水位的状态。关键字:AT89C51,A/D转换,水位控制,数码显示,传感器,故障报警Level control system based on microcomtrollerAbstractThe traditional water level control in production has been a dominant position, but with production line, not only the update demanding

3、 more direct, precise and stable water level control system, at the same time also requires the cost in reducing production equipment requirements update automation degree and cost-effective of water level control system. Single-chip microcomputer control system with its high control accuracy, relia

4、ble performance, convenient operation, low cost set to be applied to the liquid level system characteristics of the control.This system uses the microcontroller AT89C51 as the water level control core to realize the basic control functions. System by the keyboard, digital display, A / D conversion,

5、sensors, power and control components. In this paper, the output of microcontroller port level control relay operation, start or stop the motor, so as to achieve the purpose of automatic control of water level. In addition, the system may need to set the height of water level control, along with lim

6、it alarm and fault alarm function, supplemented by light-emitting diode displays the status of the corresponding level.Keywords:AT89C51 A / D conversion the water level control digital display sensor fault alarm目 录1 引言12 系统设计方案比较说明33 水位控制系统的原理和设计方案43.1 水位控制系统组成43.2 单片机系统组成及工作原理4 3.2.1 系统组成4 3.2.2 工作

7、原理53.3 控制方案的设计5 3.3.1 设计思路5 3.3.2 方案设计64 硬件设计84.1 单片机84.2 时钟电路94.3 电源电路114.4 传感器114.5 串行通信124.6 键盘电路134.7 水位显示电路134.8 A/D转换电路14 4.8.1 ADC0809的内部逻辑结构14 4.8.2 ADC0809的引脚图14 4.8.3 A/D转换电路原理图164.9 电机控制184.10 看门狗电路184.11 稳压电路204.12 报警电路215 软件设计225.1 程序设计流程图225.2 程序设计23 5.2.1 键盘程序23 5.2.2 A/D转换子程序24 5.2.3

8、 初始化程序24 5.2.4 运行状态下的程序24结 论26致 谢27参考文献28附录129附录2301 引言随着我国的国民经济与生活水平的发展,各个行业对自动化的需求也日益增加,为减少污染、节约资源,单片机的控制技术得到了广泛的应用。无论是在工业生产中,还是在其他行业,水都是人们生活中不可或缺的资源,大部分都会使用到水箱,水箱里的水位控制就是最重要的问题了,以前都会有专门的人看管,既浪费人力,又不能准确的判断水位高低。所以以单片机控制水箱的水位就得到了广泛应用。水位控制系统是以水位为被控参数的控制系统,它在工业生产的各个领域都有广泛的应用。在目前的过程控制领域中水位控制的研究引起了广泛的关注

9、,随着集成电路规模的日趋大型化、复杂化,各种复杂的液位控制系统已成为一个研究焦点。单片机是靠程序运行的,并且是可以修改的,通过不同的程序实现不同的功能。尤其是特殊的独特的一些功能,这是别的器件需要费很大的力气才能做到的,有些则是花大力气也很难做到的。为什么一点要用单片机呢,原因很简单,只因为单片机通过自己编写的程序便可以实现高智能、高效率以及高可靠性!现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统),而单片机是最典型、最广泛、最普及的嵌入式系统1。目前我国在单片机测控装置研究、生产、应用中,取得了很大的成绩,总结了很多经验,但是各行业仍处于发展期,经调查,更多科研研究在这方面开展的工

10、作更看重的是理论和算法,数年来这方面的研究的论文较多,但着重生产实际的很少。一些发达国家在单片机新型系统研究、制造和应用上,已积累了很多经验,奠定了基础,进入了国际市场。我国在新型测控装置与系统研究、制造、应用和经验上,与其他发达国家相比还存在差距,但是我国的研究人员已经克服很多困难,并在不断地摸索中前进,有望在相关领域赶上甚至超过发达国家的技术水平,这是发展趋势。 在工农业生产以及日常生活应用中,常常会需要对容器中的水位进行自动控制。比如自动控制冰箱、水池、水槽、锅炉等容器中的蓄水量,生活中抽水马桶的自动补水控制、自动电热水器、电开水机的自动进水控制等。虽然各种水位控制的技术要求不同、精度不

11、同,但是基本的控制原理可以归纳为一般的反馈控制方式,他们的主要区别在于检测水位的方式、反馈方式、以及控制器上的区别。 随着单片机和微机技术的不断发展,由PC机和多台单片机构成的多机向网络发展。单片机自问世以来,性能不断地提高和完善,体积小、速度快、功率低的特点使它的应用领域日益广泛。一般,工业控制系统的工作环境差,干扰性强,利用单片机控制就能克服这些缺点,因此单片机在控制领域得到广泛的应用,使用单片机控制液体的水位是个很好的选择。基于51单片机的液位控制系统既满足系统精度的要求,同时具有可靠性2。不论社会经济如何飞速,水在人们的正常生活和生产中起着重要的作用。一旦断了水,轻则个人民带来极大地不

12、便,重则可能造成严重的生产事故及损伤,从而对供水系统提出了更高的要求,满足及时、准确、安全充足的供水。如果仍然使用人工的方式,劳动强度大,工作效率低,安全性难以保障,因此必须进行自动化控制系统的改造。从而实现提供足够的水量、平稳的水压的自动控制有设计低成本、高实用价值的控制器。一般工厂使用的水箱,体积都比较大,所以对水位的控制需求就相应的大了,而且随着工业上使用比较多,对水位的控制精度要求也高。由于自动化技术在矿企业的广泛应用,水位自动控制技术越来越频繁地进入到自动控制系统设计者的视线。2 系统设计方案比较说明对于水位进行控制的方式有很多,而应用较多的主要有两种,一种是简单的机械式控制装置控制

13、,一种是复杂的控制器控制方式。两种方式的实现如下:(1) 简单的接线式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。存在问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现(2) 复杂控制器控制方式。这种控制方式是通过安装在水泵出口管道上的压力传感器,把出口压力变成标准工业电信号的模拟信号,经过前置放大、多路切换、A/D变换成数字信号传送到单片机,经单片机运算和给定参量的比较,进行PID运算,得出调节参量来控制其输出电压变化,进而调节电机转速,以达到控制水箱水位的目的3。针对上述两种控制方式,以及设计需达到的性能要求

14、,这里选择第二种控制方式。最终形成的方案是,利用单片机为控制核心,设计一个对供水箱水位进行监控的系统。根据监控对象的特征,要求实时检测水箱的水位高度,并与开始预设值进行比较,由单片机控制固态继电器的开断进行水位的调整,最终达到液位的与设定值。检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水,检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水。现场实时显示测量值,从而实现对水箱水位的监控。3 水位控制系统的原理和设计方案3.1 水位控制系统组成系统采用单片机作为数字控制器的处理器,其中,由压力变送器传送来的电压信号经过A/D转换传送给单片机,然后由单片机控制电动执行机

15、构,具体结构如图3.1所示。 水位显示 P0 P2AT89C51P1 P3AT89C51P1 P3水压 模拟电压量水泵电磁阀传感器A/D转化器变化量 数字量 其他控制键盘电路 参数及控制 状态设定 图3.1水位控制原理框图3.2 单片机系统组成及工作原理本系统主要是由ATMEL公司生产的单片机AT89C51芯片为核心,加上一些外部原件,构成了硬件电路。AT89C51是一种带4K字节FLASH可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器,与标准的MCS-51指令集和输出管教相兼容。由于将多功能8位CPU和FLASH存储器组合在单个芯片中,所以AT89C51是一种高效的微控制器4。

16、3.2.1 系统组成本系统主要由AT89C51单片机、LED显示电路、报警电路、看门狗电路以及电机控制电路等部分组成。系统框图如图3.2所示。单片机AT89C51电机控制电路 采集水位 LED显示电路 报警电路图3.2 系统组成框图3.2.2 工作原理水位控制系统的基本原理是:基于单片机AT989C51实现的水位控制器,由键盘、数码显示、A/D转换、传感器,电源和控制部分等组成。工作过程如下:当水位发生变化时,引起连接在水箱底部的软管管内的水压发生变化,水压传感器在接收到软管内的水气压信号后,即把变化量转化成电压信号;该信号经过放大运算放大电路放大后变成幅度为0-5V的标准信号,送入A/D转换

17、器,A/D转换器把模拟信号变成数字信号量,由单片机进行实时数据采集,并进行处理,根据设定要求控制输出,同时数码管显示液位高度。通过键盘设置液位高、低和限定值以及强制报警器,该系统的控制特点是直观地显示水位高度,可任意控制水位高度5。3.3 控制方案的设计3.3.1 设计思路用单片机做水箱水位控制这个设计核心也是传感器,将信号送到单片机,单片机再将信号输出给电机,来完成设计的要求工作。判断是否要启动或者停止电机的运转以达到水位的控制,同时驱动显示电路显示当前水位的所处的状态。首先,电路获取信号,然后由单片机AT89C51对测得水位信号进行判断,根据判断的结果,单片机输出相应的控制信号控制继电器的

18、动作,进而控制电机的启动或者停止。当水箱的水位下降,达到下限时,需启动电机给水箱供水;当水箱的水位达到上限后,应该关闭电机,并采用不同色彩的发光二极管显示相应的水位。当系统出现故障时,报警电路工作6。 3.3.2 方案设计当水箱水位低时,启动M1、M2、给给水,水位上升到90%,停止M1。当水箱水位低(小于50%)时,同时起动M1、M2,当水位上升到50%以上70%一下时,M2停止运行,M1继续运行到水位上升到90%以上才停止工作。如下图3.3中,M1、M2为给水泵机组,LG、LD、LDD分别为水位高、水位低、水位低低浮球开关,当水位高(大于90%)时,LG闭合,当水位低(小于75%)时,LD

19、闭合,当水位低低(小于50%)时,LDD闭合7。图3.3 控制方案框图3.3.3 报警控制过程 当水位高于90开度的时候,由传感器经变送器发送信号,LG闭合,系统水位高报警。当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警。当水位低与50开度的时候,由传感器经由变送器发送信号,LDD闭合,系统水位低低报警。手动/自动模式转换控制如下:全自动模式下,系统自动判断水位的状况,选择不同工作状态。在手动的模式下,两台给水泵的运行控制可有人工自己操作7。此方案设计采用的是AT89C51芯片。AY89C51是高性能COMS8位单片机,片内含4K bytes的可反复擦写的只读存储

20、器(PEROM)和128 bytes的随机存取存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。4 硬件设计水位控制器的硬件主要包括由单片机、传感器(带变送器)、键盘电路、数码显示电力、A/D转换器和输出控制电路等。4.1 单片机单片机采用由ATMEL公司生产的双列40脚AT89C51芯片,芯片引脚如下图4.1所示。其中,P0口用于A/D转换和显示;P1口连接一个4*4的键盘;P2口用于控制电磁阀和水泵动作;P3口用于上、下限指示灯,报警指示灯以及用于读写控制和中断等8。图4.1 AT8

21、9C51引脚图1、单片机的工作过程单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的的全部任务,必须把要解决的问题编成一系列的指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件存储器中。存储器由许多存储单元(最小的存储单元)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分分配到了唯一一个

22、房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号成为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。4.2 时钟电路MCS-5

23、1单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。MCS-51单片机的时钟产生方式有两种:(1) 内部时钟反式利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部震荡电路便产生自激震荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激振荡器,如图4.2所示。晶体可在1.2-12MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12MHz频率的晶体主要是在高速串行通信

24、情况下才使用,对电容值没有严格的要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有少许影响。C1和C2可在20-100pF之间取值,一般去30pF左右。(2) 外部时钟方式本设计的单片机系统中,为了各单片机之间时钟信号的同步,应当引入唯一的合用外部振荡脉冲作为各自单片机的时钟。外部时钟方式中是把外部振荡信号直接接入XTAL1或XTAL2。由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端XTAL1应接地,如图4.3所示。由于XTAL2端得逻辑电平不是TTL的

25、,故还要接一上拉电阻。CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL2可不接地,如图4.4所示。图4.2 使用片内振荡电路的时钟电路图4.3 HMOS型单片机的外部时钟电路图4.4 CHMOS型单片机的外部时钟电路4.3 电源电路在水位控制系统中,本单元为系统提供+5V的工作电源。从220V的交流电通过变压器转换为15V电压,然后经过整流桥、滤波后得到+5V的系统工作电源,如图4.5所示。图4.5 单片机的电源电路4.4 传感器传感器来自“感觉”一词。人们用视觉、听觉、嗅觉和触觉等器官感受外界的有关信息,如物体的大小、形状和颜色,感觉到的声音、气味等。在视觉情况下,绝不是靠眼睛本

26、身进行感觉,而是从眼睛进入的外界刺激信号通过神经传送到大脑,由大脑感知物体的大小和颜色,然后由大脑提供命令信号支配行动。听觉和嗅觉也完全一样。然而要是大脑受到这些刺激,首先必须有接受外界刺激的“五官”人的“五官”可以称之为传感器。它们的基本功能是首先接收外界的刺激信号然后产生作用于各种神经传送信号的能量,最后再传送大脑。传感器是一种能感受被测物体物理量并将其转化为便于传输或处理的电信号的装置,在现代科技领域中,传感器得到了广泛应用,各种信息的采集离不了各种传感器,传感器的基本功能在于能感受外界的各种“刺激”并作出迅速反映。本设计当中我们采用的水位探测传感器。传感器使用SY-9411L-D型变送

27、器,它内部含有1个压力传感器和相应的放大电路。压力传感器是美国SM公司生产的555-2型OEM压阻式压力传感器,其有全温度补偿及标定(0-70度),传感器经过特殊加工处理,用坚固的耐高温塑料外壳封装。其引脚分布如图6.1所示。1脚为信号输出(-);2脚为信号输出(-);3脚为激励电压;4脚为地;5脚为信号输出(+);6脚为信号输出(+)9。在水箱底部安装1根直径为5mm的软管,一端安装在水箱底部;另一端与传感器连接。水箱水位高度发生变化时,引起软管内水压变化,然后传感器把水压转换成电压信号,输送到A/D转化器。4.5 串行通信单片机要跟PC连接要用到串行通信,如4.7和4.8所示框图框图和系统

28、原理图10。PC机单片机 RS232 图4.7 单片机和PC连接框图 图4.8 串行通信原理图4.6 键盘电路P1口作为键盘电路,连接一个4*4键盘。结构如图4.9所示。图4.9 键盘电路4.7 水位显示电路显示电路如图4.10所示。图4.10 显示电路液位显示采用数码管动态显示,范围从0-999(单位可自定),选择的数码管是7段共阴极连接,型号是LDS18B20。在这里使用到了74HC244,它是一个8位的D触发器,在单片机系统中经常使用,可以作为地址数据总线扩展的锁存器,也可以作为普通的LED的驱动器件,由于单独使用HEF4511B七段译码驱动显示器来完成数码管的驱动显示,图4.10是显示

29、电路的原理图11。4.8 A/D转换电路4.8.1 ADC0809的内部逻辑结构A/D转化电路在控制器中起主导作用,用它将传感器输出的模拟电压信号转换为单片机能处理的数字量。该控制器采用CMOS工艺制造的逐步逼近式8位A/D转换器芯片ADC0809。在使用时可选择中断、查询和延时等待3种方法编制A/D转换程序。在接线时先经过运算放大器和分压电路把传感器输出的电流信号转换为电压信号,然后输入到A/D转换器。ADC0809是由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁存器

30、用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转化完的数据。4.8.2 ADC0809的引脚图ADC0809的引脚图如图4.12所示。ADC0809芯片为28引脚为双列直插式封装,对ADC0809主要信号引脚的功能说明如下:IN7-IN0模拟量输入通道ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器。START转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST12。图4.12 ADC0809引脚图A、 B、C地址线。通道端口选

31、择线,A为低地址,C为高地址,引脚图中为ADDA、ADDB和ADDC。其地址状态与通道对应关系表见4-1。CLK时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号 引脚。通常使用频率为500KHZ的时钟信号。EOC转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。D7-D0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高OE输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。Vc

32、c+5V电源。Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref+=+5V, Verf-=-5V)A/D转换器的主要技术指标分别是:分辨率和转换速率。分辨率表示输出数字量变化一个相邻数码所需输入模拟电压的变化量。ADC的转换速率就是能够重复进行数据转换的速度,即是每秒转换的次数。而完成一次A/D转换所需要的时间(包括稳定时间),就是转换速率的倒数。 ADC0809的内部逻辑结构图如4.13所示。表4-1为通道选择表。表4-1通道选择表 C B A 被选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1

33、0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7图4.13 ADC0809的内部逻辑结构图4.8.3 A/D转换电路原理图另外在设计过程中预留了串行口,供进一步开发使用。A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。A/D转换电路原理如图4.14所示。图4.14 A/D转换电路原理图确定A/D转换是否完成,通常采用以下三种方式。(1) 定时传送方式对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128uS,相当于6MHz的MCS-51单片

34、机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2) 查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确定转换是否完成,并接着进行数据传送。(3) 中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管采用上述哪种方式,只要一旦确定了转换完成,即可通过指令进行数据传送。首先送出口地址并以RD信号时有效,OE信号既有效,把转换数据送上数据总线,供单片机接受13。4.9 电机控制设计采用交流过零型固态继

35、电器,它有过零时开启,负载电流过零时关断的特性。它的最大接通、关断时间是半个电源周期,在负载上可得到一个完整的正弦波形。它相应地减少了对负载的冲击,而在相应的控制回路中产生的射频干扰也大大减少。当控制端输入低电平时,SSR导通,控制电动机开始工作上水;当控制端输入高电平时,SSR截止,电动机停止工作并停止上水。这样便可以实现对水箱水位的控制14,其控制电路图如图4.15所示。图4.15 电机控制电路图4.10 看门狗电路Watchdog(监控定时器)技术是一个与CPU构成闭合回路的定时器,是抗干扰和可靠性措施之一。在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰

36、,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watchdog)。看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,

37、这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。看门狗,又叫 watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时)WDT定时超过,就回给出一个复位信号到MC,是MCU复位。防止MCU死机。看门狗的作用就是防止程序发生死循环

38、,或者说程序跑飞15。工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。系统软件看门狗的设计思路:(1)看门狗定时器T0的设置。在初始化程序块中设置T0的工作方式,并开启中断和计数功能。系统Fosc=12 MHz,T0为16位计数器,最大计数值为(2的16次方)-1=65 535,T0输入计数频率是。Fosc/12,溢出周期为(65 535+1)1=65 536(s)。(2)计算主控程序循环一次的耗时。考虑系统各功能模块及其循环次数,本系统

39、主控制程序的运行时间约为16.6 ms。系统设置“看门狗”定时器T0定时30 ms(T0的初值为65536-30000=35536)。主控程序的每次循环都将刷新T0的初值。如程序进入“死循环”而T0的初值在30 ms内未被刷新,这时“看门狗”定时器T0将溢出并申请中断。(3)设计T0溢出所对应的中断服务程序。此子程序只须一条指令,即在T0对应的中断向量地址(000BH)写入“无条件转移”命令,把计算机拖回整个程序的第一行,对单片机重新进行初始化并获得正确的执行顺序。正常情况下,CPU在Watchdog“定时”到以前对它访问1次,定时器重新开始计时后Watchdog不起作用;如果发生“定时信号”

40、就会出现,从而引起系统复位。具体的实现电路如图4.15所示。图4.15看门狗电路电路图4.11 稳压电路本电路的主要作用是使从传感器输出的电平能够稳定地输入单片机中,主要由三极管的两极放大稳定电路组成,其工作过程是水位探测传感器把探测到的电信号送给R12,如果送入的是高电平则R11、Q5、D3、Q4导通把低于1.4V的低电平稳定地送给单片机。如果是低电平送给R12则R11、Q5、D3、Q4均不能导通二是R13导通将把高于1.4V的高电平稳定的送给单片机16。稳压电路的设计如下图4.16所示。图4.16 稳压电路4.12 报警电路当水位高于90开度的时候,由传感器经变送器发送信号。LG闭合,系统水位高报警,D6亮。当水位低于75开度的时候,由传感器经变送器发送信号,LD闭合,系统水位低报警,D7亮。当水位低于50开度的时候,由传感器经变送器发送信号,LDD闭合,系统水位低低报警,D8亮17。报警电路如图4.17所示。图4.17 报警电路图5 软件设计 开始5.1 程序设计流程图 设定上限、下限高度、预设初始值 启动A/D转换 测定值高于设定值 报警提示 关闭水泵 Y 报警提示开启水泵 N 测定值低于设定值 Y 测量值等于设定值关闭水泵停止供水 N Y

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号