《单片机原理及应用技术》课程设计
题目: 水位检测系统
姓名:
学院:
专业:
班级:
学号:
年 月 日
一、 绪论
水位控制在日常生活及工业领域中应用相当广泛,如作为城市、乡村生活用水储备,太阳能热水器储水设备等,又比如水塔、地下水、水站等情况下的水位控制。而以往水位的检测是由人工完成的,值班人员全天候对水位的变化进行监测,然后进行后续的操作。很显然上述重复性的工作无论是从人员、时间、还是资金上都将造成很大的浪费。同时也容易造成差错。
目前大多数住宅小区采用人工加水的方式,当水用完时,需要人工开启水泵加水,十分不方便。以至于水用完之前不知道水量的多少,等到用完了才知道没有水,如果急需用水,那就十分麻烦了,要等到加完水后才能用水;加水过程中还要时刻关注水位是否溢出。以上的问题都在期待一种简单、经济的水位控制系统的诞生。
本文采用所学的知识,设计以单片机水位采集系统。主要实现以下功能: (1)自动检测水箱液位,并采用数码管显示。 (2)当液位过高或过低时报警。
本文采用单片机系统控制,监测储水罐的水位变化,在储水罐内部放置自制的水位传感器来检测水位。单片机内编程控制数码管。传感器检测到水位时,单片机就控制数码管显示相应的数值。且在水位过高或过低时报警。
二、 总体方案设计
2.1利用自制水位监测装置实现
本水位监测报警器使用低压交流电源就可以对水位进行监测,用数码管显示并发出报警。主要采用单片机AT89C51芯片,将控制程序写进单片机中,使其发挥相应的功能再加上、数码管、电阻、电容这些器件组成一个简单而灵敏的监测报警电路,操作简单接通电源即可工作。因为电路采用单片机技术,所以本水位监测报警器还具有电路简易、耗能低、准确性高的特点。
2.2方案总结
本设计当中采用的水位检测传感器简单易做,经济实惠。成本低且能达到想
要的效果。
三、 硬件电路设计
3.1单片机的选择
AT89系列单片机在我国得到了极其广泛的应用。由于AT89C52具有强大的功能,可以使我的设计更方便也更人性化。而且它很好的兼容MCS-51系列单片机的指令系统和引脚功能。它片内还含有Flash Memory,Flash Memory是一种电擦除和电写入的闪速存储器,记为FPEROM在系统开发过程中可以很容易地进行程序修改,使开发和调试更为简单。
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,256字节片内数据存储器(00H -7FH为片内RAM,80H-FFH为特殊功能寄存器SFR),32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
3.2系统硬件设计框图及原理图
水位检测头 电源 单片机 AT89C51 指示灯报警 数码管显示
图3.1系统硬件设计框图
水位检测报警系统硬件设计框图如图3.1所示。它包括单片机电源水位检测传感器、指示灯报警、水位显示。本设计中用铜丝作为水位检测传感器适当调整铜丝的长度,可自行设置水位的范围。利用单片机,将控制程序写进单片机中,
经过对输入口信号的分析,在单片机的输出端口给出相应的信号。自行设定报警数值,若到达指定数值则蜂鸣器报警LED灯亮。
本设计采用AT89C52的P1.0-P1.6作为我们水位的信号输入口,单通过软件的控制不断的检测P0端口的输入电平,一旦发现探针电平与主探针电平同为高电平时,则执行相应的控制程序,从P1输出不同的信号来告知水位情况,不同水位数码管会显示不同的数字,当数码管显示为1时低水位报警,电机启动,当数码管显示6到达最高水位,电机关闭。
3.2.1 晶振电路
本次设计用到的是内部振荡方式,这种方式下在X1和X2两端跨接石英晶体及两个电容,如下图所示,这样就和内部的反响放大器构成稳定的自己振荡器。电容C1和C2通常取30pF可稳定频率并对正当频率有微调作用。
图3.2 晶振电路
3.2.2 复位电路
复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题 而且调整 RC常数改变延时会令驱动能力变差。
图3.3 复位电路
3.3.3水位检测及总电路
接5V交流电源,高电平与低电平交替发出,防止水被电解,由于腐蚀问题,
采取交流电源,这样腐蚀会很慢,一般这种监测装置最少也能用几年,到时候正好检修,所以完全可以用在现实检测中。
当水位为1时,数码管显示水位1,以此类推共分为六个挡位。当检测到1水位时报警灯亮,水位过低报警,当水位为6时,水位过高报警。
图3.4 总电路
四、 软件设计 是否检测到第一档水位 开始 程序初始化 是 否 是否检测到第二档水位 显示器显示, 指示灯亮 是 显示器显示 否