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

下载本文档

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

文档简介

1、本设计简单,方便,采用了我们周围能所接触到的元器件,使电路看起来更简单;以单片机STC12C2052AD为核心控制水塔水位,利用简易的水位传感器进行水位信号采集,通过单片机对采集来的信号进行处理后,以便控制水泵工作。水位超出额定量的话该设计会发出警报,切用数码显示管现实水位的高度。本设计能替代人员在水塔附近站岗或者留寝的麻烦,对人力资源有一定的节省。关键词STC12C2052AD;水位传感器;水位控制;分压;AD转换目录摘 要 1目 录 2第一章 引言3第二章STC12C系列单片机特点及简介42.1 STC12C2052AD系列单片机简介42.2 STC12C2052AD单片机I/O口结构62

2、.3 AT89C51系列单片机简介7第三章硬件电路设计11113.2 显示电路12电源电路133.4 报警电路17第四章软件设计184.1 软件总体设计184.2 水位测量部分软件设计18编写程序22第五章 总电路图26结 论27参考文献28第一章 引言在全球电子工业的迅猛发展核电在产品市场日益激烈的大环境下我国电子产品发展趋势也从不符合实际的设计和发明电子产品,演变成了符合实际生活的发展需求。从成本高、体积大、电路不稳定、不切实际生活的应用、操作急难等劣势中逐渐得变成成本低、体积小、工作可靠性高、操作简单、维修方便等方面发展。本设计也合乎社会发展的需求,也吸取了这些新一类产品的优点所在,本设

3、计有电路简单,成本低,操作方便,维修简单即相对工作可靠性较高的优点。本设计重点落在电路的成本和操作维修方面。故对一些小家庭和小工厂及一些不需用极高的精度的场合使用极佳。本次设计中我着重于叙述单片机和传感器两个重要环节。因为在完整的水位控制器中单片机和传感器是非常重要的。我比较了AT89C51单片机和STC12C2052AD单片机的I/O接口,A/D转换器(这里STC89C51没有A/D转换器),等内部功能,悬着了性能比较好的单片机,传感器也是比较了一些始终现在流行的功能较好的,但成本较低的单片机。选择了各个优点突出的传感器。第二章 STC12C系列单片机特点及简介我在这次设计中考虑到成本和电路

4、的简结性,用了这个单片机为主要芯片单位。下面简单的介绍一下STC12C2052AD单片机和AT89C51单片机的I/O接口,管脚排列,单片机的中断系统和A/D转换寄存器。并以比较优点选择了优点比较突出的STC12C2052AD单片机。2.1 STC12C2052AD系列单片机简介STC12C2052系列单片机是单时钟/机器周期(1T)的兼容8051内核单片机,是高速/低功耗的新一代单片机,全新的流水线/精简指令集结构,这类单片机特有A/D转换功能。单片机的特点及主要性能:u 高速:1个时钟/机器周期,RISC型CPU内核,速度比普通的8051快12倍uu 低功耗设计:空闲模式,掉点模式(可有外

5、部中断唤醒)u 工作频率:035MHz,相当于普通8051:0450MHzu 时钟:外部晶体或内部RC震荡器可选u 512/1K/2K/3K/4K/5K片内Flash程序存储器,擦写次数10万次以上u 256字节片内RAM数据存储器u 芯片内E²PROM功能u ISP/IAP,在系统可编程u 8通道高精度8位ADCu 2个硬件16位定时器,兼容普通8051的定时器u 硬件看门狗u 高速SPI通信端口u 全双工异步串口,兼容8051串口u 先进的RISC精简指令集结构,兼容8051指令集,111条功能强大的指令,有12条指令只需要1个时钟就可以完成片内集成硬件乘法器STC12C2052

6、AD采用DIP40形式封装,如图2-1-1所示 图 2-1-1 STC12C2052AD管脚排列A/D及A/D转换控制寄存器:STC12C2052AD系列带A/D转换的单片机在P1口,有8路8为高精度高速A/D转换器,速度可达100KHz。P1.7-P1.0共8路电压输入型A/D,可做温度检测,电池电压检测,按键扫描,频谱检测等。上电复位后P1口为弱上拉型I/O口,可以通过软件设置将8路中的任意一路设为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。需作为A/D使用的口需先将其设置为高阻输入或开漏模式。在P1M0,P1M1中对相应的为进行设置。ADC_START:模数转换器转换启动控

7、制位,设置为“1”时,开始转换。ADC_FLAG:模数转换器结束标志位,当A/D转换完成后,ADC_FLAG=1。SPEED1,SPEED0:模数转换速度控制位ADC_POWER:ADC电源控制位。0:关闭ADC电源;1:给AD转换提供电源。启动AD转换时要打开AD电源,AD转换结束后关闭AD电源可降低功耗。2.2 STC12C2052AD单片机I/O口结构I/O配置STC12C2052AD系列单片机其所有的I/O口均可有软件配置成4种类型之一,如下表所示。4种类型分别为准双向口,推挽输出,仅为输入,开漏输出功能。每个口配置2个控制寄存器控制每个引脚输出类型。STC12C2052AD系列单片机

8、上电复位后为准双向口模式。P3M0(7:0)P3M1(7:0)I/O口模式00准双向口01推挽输出10仅为输入11开漏P1M0(7:0)P1M1(7:0)I/O口模式00准双向口01推挽输出10仅为输入11开漏2.3 AT89C51系列单片机简介AT89C51单片机特点及性能与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:图 2-4-1 AT89C51管脚排列VCC:供电

9、电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

10、0;   P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。    P3口:P3口管脚是8个带内部上拉电阻的

11、双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。  &

12、#160; RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 

13、  /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。    /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。    XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 

14、0;  XTAL2:来自反向振荡器的输出。  振荡器特性第三章 硬件电路设计传感器电路的简单定义信息处理技术取得的进展以及微处理器和计算机技术的高速发展,都需要在传感器的开发方面有相应的进展。微处理器现在已经在测量和控制系统中得到了广泛的应用。随着这些系统能力的增强,作为信息采集系统的前端单元,传感器的作用越来越重要。传感器已成为自动化系统和机器人技术中的关键部件,作为系统中的一个结构组成,其重要性变得越来越明显。传感器系统的性能主要取决于传感器,传感器把某种形式的能量转换成另一种形式的能量。有两类传感器:有源的和无源的。有源传感器能将一种能量形式直接转变成另一种

15、,不需要外接的能源或激励源。无源传感器不能直接转换能量形式,但它能控制从另一输入端输入的能量或激励能传感器承担将某个对象或过程的特定特性转换成数量的工作。其“对象”可以是固体、液体或气体(这里主要叙述液体传感器),而它们的状态可以是静态的,也可以是动态(即过程)的。对象特性被转换量化后可以通过多种方式检测。各种物理效应和工作机理被用于制作不同功能的传感器。传感器可以直接接触被测量对象,也可以不接触(这里讲述的是接处对象的传感器)。用于传感器的工作机制和效应类型不断增加,其包含的处理过程日益完善。可是这里我想叙述并进行详细介绍的是脉冲调制式红外发射接收器、电阻式传感器等。但是我在本次设计中应用的

16、是电阻史式传感器,这类传感器比脉冲调制式传感器电阻式传感器这个传感器是我们的指导老师教我们的是一种既实用切成本很低的民用式传感器,下面介绍其原理和电路图图3-1-4电阻式传感器电路如图3-1-4所示,已知U=5V,水的电阻R水=10K15K,当水槽中没有水的时候,P1.1获得一个电压值:U0=U·(R1+R2+R8)/(R0+R1+R9), 通过单片机AD转换,获得一个数字量。当水槽中的水浸没第一个分压电阻R8的时候,P1.1获得的电压值为:U1=U·R1+R2+R7+(R8R水)/R0+R1+R7+(R8R水)通过单片机AD转换,获得另一个数字量,以此类推,根据单片机获得

17、数字量的不同,通过软件编程让显示电路显示水位。注意由于水中介质的不同,水电阻的值也不同大约在1015K,所以在软件编程的时候要系统的考虑。3.2 显示电路用于显示的电路有很多种类,可以运用LCD 液晶显示、LED数码管显示或LED发光二极管显示。我们这次设计使用LED显示。置如图3-6所示。图 3-2-1 水位指示水位指示灯的设计很简单,把数码管接到单片机的P0.0到P.07然后在编程时在子程序里加上就可以了。我使用的是共阳极接法。 电源电路交流电网电压的波动和负载电流的变化都会使整流电源的输出电压和电流随之变动,因此要求较高的电子电路必须使用稳压电源。稳压电路稳压管并联稳压电路用一个稳压管和

18、负载并联的电路是最简单的稳压电路,见图3-3-1(a)。图中R是限流电阻。这个电路的输出电流很小,它的输出电压等于稳压管的稳定电压值V;。串联型稳压电路有放大和负反馈作用的串联型稳压电路是最常用的稳压电路。它的电路和框图见图3-3-1(b)、(c)。它是从取样电路(R3、R4)中检测出输出电压的变动,与基准电压(Vz)比较并经放大器(VT2)放大后加到调整管(VT1)上,使调整管两端的电压随着变化。开关型稳压电路近年来广泛应用的新型稳珏电源是开关型稳压电源。它的调整管工作在开关状态,本身功耗相小,所以有效率高、体积小等优点,但电路比较复杂。开关稳压电源从原理上分有很多种。 集成化稳压电路

19、60;   近年来已有大量集成稳压器产品问世,品种很多,结构也各不相同。目前用得较多的有三端集成稳压器,有输出正电压的CW7800系列和输出负电压的CW7900系列等产品。输出电流从01A一3A,输出电压有5V、6V、9V、12V、l5V、18V、24V等多种。这种集成稳压器只有三个端子,稳压电路的所有部分包括大功率调整管以及保护电路等都已集成在芯片内。使用时只要加上散热片后接到整流滤波电路后面就行了。外围元件少,稳压精度高,工作可靠,般不需调试。图3-3-1(c)是一个三端稳压器电路。图中C是主滤波电容,C1、C2是消除寄生振荡的电容,VD是为防止输入短路烧坏集成块而使用

20、的保护二极管。(a)(b)(c)图 3-3-1 稳压电路本设计电源采用集成稳压电路,原理图如图3-3-2所示。通过变压器把220V的交流电压转变为9V的交流电压,进而采用桥式整流电路将9V的交流电变为9V的单向脉动直流电压,然后通过高、低频滤波电路将电路中的交流滤除,然后通过稳压管7805的稳压和滤波电容滤波作用后,使电压成为+5V单向直流电提供给控制部分做电源,同时采用发光二极管为指示灯。通电时,二极管点亮说明电源工作正常。电路图如下所示:图3-3-2电源电路我在这次设计中用了两个水位报警器为参考,选择了用一个蜂鸣器和单片机就能组合成报警器的简单的报警系统,下面介绍石英报警器和蜂鸣器报警器的

21、优点及缺点。石英报警器利用报废的电子石英闹钟,制作水位报警器,其效果很好,也很实用。一般坏了的石英钟,它的闹铃电路还是好的,只需将石英钟机芯拆下、打开,在原闹铃开关触点位置上引两根导线,再接上金属针式探头,装好电池如图所示。当水位达到点时,闹铃电路通过水构成回路发出响亮的报警声。3-4-1石英报警器原理图蜂鸣器报警器当水箱中的水位达到系统控制量时,单片机中的软件系统会检测到此时对应的模拟电压值,该模拟电压量通过A/D转换,将模拟量转化为数字量,使P1.2为低电平,从而使蜂鸣器报警,防止水溢出。如图27所示。 图3-4-2蜂鸣器报警器原理图4.1 软件总体设计电路能够正常地工作,不仅取决于硬件电

22、路,而且,更取决于软件和硬件的结合。因此,我根据外围硬件电路连接方案,编写具体软件。本电路的软件程序很简单,运用循环、判断语句就可以完成软件的编写。图4-1 程序总流程图根据具体硬件连接以及设计思路,首先将流程图绘制出来作为变成的依据如图4-1所示。主程序通过调用水位控制子程序来实现软件控制的。这样设计是为了让程序井然有序方便模块化编程。4.2 水位测量部分软件设计水位测量部分软件设计说明电路中有四个输入端口,分别为高水位、中水位、低水位、蓄水输入接口,向单片机传输信号,本电路中规定输入信号为低电平即0时表示有水,输入信号为高电平即1时表示无水。因为有四个输入端口,它形成了16种不同的组合高水

23、位中水位低水位蓄水水塔状态水泵工作状态1111水满停止1110无效无效1101无效无效1100无效无效1011无效无效1010无效无效1001无效无效1000无效无效0111在高水位以下有程序流程决定0110无效无效0101无效无效0100无效无效0011在中水位以下有程序流程决定0010无效无效0001在低水位以下有程序流程决定0000无水运行表1 四路输入状态组合所示。我们仔细观察此真值表,可知对于本电路的有效状态只有5种状态,将其归纳为表格2。表格3是输入状态与指示灯的对应关系,在这里指示灯的亮灭,在程序中只要控制相应端口的高低电平即可(输出为0时表示亮,输出为1时表示灭)。因此,我们根

24、据表格2和表格3对其进行编程操作。高水位中水位低水位蓄水水塔状态水泵工作状态1111水满停止0111在高水位以下有程序流程决定0011在中水位以下有程序流程决定0001在低水位以下有程序流程决定0000无水运行表2与本设计相关的五种状态高水位中水位低水位蓄水高水位指示灯中水位指示灯低水位指示灯蓄水指示灯0000显4显3显2显11000灭灭显2显11100灭灭显2显11110灭灭灭显11111灭灭灭灭表3 指示灯与输入对应关系 水位测量部分软件设计水位控制子程序流程图如下图4-4所示。其流程图包含的编程思想是在循环当中套用判断,它的顺序是从高水位开始判断的。首先,程序先判断高水位,如果水塔是满的

25、,它就做出相应的处理(关闭水泵,水位指示灯全亮),然后再返回去判断高水位,如果始终处于高水位在此循环等待。如果不处于高水位,程序继续向下执行,判断是否为中水位,如果是,程序将仅关闭高水位指示灯,此时说明水位下降到中水位,然后再返回去判断高水位,如果始终处于中水位在此循环。如果不处于中水位,程序继续向下执行,判断是否为低水位,如果是,程序将仅关闭高水位、和中水位指示灯,此时说明水位下降到低水位然后再返回去判断高水位,如果始终处于低水位在此循环。如果不处于低水位程序继续向下执行,判断是否为蓄水,如果是,程序将关闭高水位、中水位和低水位指示灯并且启动水泵蓄水,此时说明水塔中没有水了,应该蓄水。然后再

26、返回去判断高水位,如果始终处于蓄水状态在此循环。本程序中的特点是,无论每一步程序都将返回到起始位置,重新从高水位开始执行。其好处是防止程序进入死循环,提高系统控制的可靠性。图4-2-1水位控制子程序流程图;*;* 水位控制器程序 *;* 采用STC12C2052AD单片机 *; ;* 程序编制:黄载渊 *;*2007年月18日星期五 *;*;* (自定义区) *;SMHCQEQUP1;数码显示缓冲区GZHCQREQU31H;红色光住显示缓冲区GZHCQGEQU32H;绿色光住显示缓冲区SBEQU;水泵BJEQU;水位报警GZXSGEQU;绿色光住显示位选端口GZXSREQU;红色光住显示位选端

27、口SMXSEQU;数码显示位选端口SWJCEQU;水位检测端口P3M0EQU0B1H;P3口工作状态设置P3M1EQU0B2HP1M0EQU091H;P1口工作状态设置P1M1EQU092H;P1口设置为A/D输入(P1MO=1,P1M1=1)AD_CNEQU0C5H;A/D转换控制寄存器AD_DAEQU0C6H;A/D转换结果寄存器;*(主程序)*;ORG0000HMOVP1M0,#10000000B;P1口设置MOVP1M1,#10000000B;P1口设置(P1.6/P1.5/P1.1/P1.2为A/D输入模式)CLR;*(水位判断子程序)*;SWPD:MOVAD_CN,#1110111

28、1B;执行左迅迹操作(设置P1.7口为A/D输入)LCALLADZHMOV50H,ACLRCSUBBA,#0F3H;如果没有水 转 SW0JNCSW0CLRCMOVA,50HSUBBA,#0E7HJNCSW1CLRCMOVA,50HSUBBA,#0E3HJNCSW2CLRCMOVA,50HSUBBA,#0DEHJNCSW3CLRCMOVA,50HSUBBA,#0DAHJNCSW4CLRCMOVA,50HSUBBA,#0D1HJNCSW5CLRCMOVA,50HSUBBA,#0C3HJNCSW6LJMPSW7;*(水位显示子程序)*;SW0:MOVSMHCQ,#1000000BLCALLYS3;

29、防止数码管显示时的抖动LCALLQBJ;没有水去报警LCALLKSB;开水泵LJMPSWPD;返回继续判断水位SW1:MOVSMHCQ,#1110110BLCALLYS3LCALLQBJLCALLKSBLJMPSWPDSW2:MOVSMHCQ,#0100001BLCALLYS3LCALLTBJLJMPSWPDSW3:MOVSMHCQ,#0100100BLCALLYS3LJMPSWPDSW4:MOVSMHCQ,#0010110BLCALLYS3LJMPSWPDSW5:MOVSMHCQ,#0001100BLCALLYS3LJMPSWPDSW6:MOVSMHCQ,#0001000BLCALLYS3LJMPSWPDSW7:MOVSMHC

温馨提示

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

评论

0/150

提交评论