毕业论文水塔自动上水系统的设计.docx
《毕业论文水塔自动上水系统的设计.docx》由会员分享,可在线阅读,更多相关《毕业论文水塔自动上水系统的设计.docx(13页珍藏版)》请在冰豆网上搜索。
![毕业论文水塔自动上水系统的设计.docx](https://file1.bdocx.com/fileroot1/2022-12/1/eb7c36bc-b54d-4c27-b8b5-56fd88699ce1/eb7c36bc-b54d-4c27-b8b5-56fd88699ce11.gif)
毕业论文水塔自动上水系统的设计
毕业设计
课题水塔自动上水系统的设计
学生姓名学号专业电子信息工程班级
院(系)
指导教师职称
第一章绪论
1.1题目研究背景
今社会电子技术、计算机技术息信处理技术等正在发展,许多工业、农业也在逐步的智能化发展,在用水方面,它们不在是靠人工一天不停的检测来进行控制抽水供用,这样容易耗费大量的人力和物力,使用智化的水塔自动上水,它能在缺水时自动开使抽水补给所需的用水,节省了大量的时间、劳力和物力,也给人们在用水带来了更大的方便。
水塔的自动上水经历了继电式自动上水装置,晶体管自动上水装置,集成式自动上水装置,微处理器自动上水装置。
电继式采用了三个探测电极来检测水位的高低,使继电器开启或闭合来控制电机开停来达到控制水位的目地;晶体管自动上学装置用两只三极管的导通、管断,从而控制继电器达到控制水位的目的。
;集成式自动上水在以前的基础上晶体更加先进、灵敏可靠和耐用;微处理器采用了先进的高新技术来控制
现代的水塔水位自动控制系统应包括一切以计算机(单片机、PC机、工控机、系统机)为信息处理核心的检测设备。
因此,水塔水位自动控制系统包括了信息获取、信息传送、信息处理和信息输出等多个硬、软件环节。
从某种程度上来说,水塔水位自动控制系统的发展水平表现了一个国家的科技和设计水平。
1.2毕业设计题目研究意义
对于当今社会的发展,高楼越来越多,工厂也越来越多水塔自动上水的应用也越来越广泛,水塔自动上水系统的设计符合当今社会的需求,它的成本较低,多半在人的接受范围,使用起来也非常方便,没水时它能自动补充水,不需人长时间的监控着它。
它解决了高楼用水难的问题,有很大的实用性,同时也体现了它的社会价值。
第二章设计系统框图与工作原理
水塔自动水控制控制在日常生活及工业领域中应用相当广泛,比如水塔、地下水、水电站等情况下的水位控制。
自动检测水位的检测系统能根据水位变化的情况自动调节。
水塔自动上水控制采用单片机进行主控制,利用水的导电性测量水位的变化,把测量到的水位变化转换成相应的电信号,用单片机对接收到的信号进行数据处理,完成水位的检测、控制及故障报警等功能。
2.1工作原理
单片机采集红外传感器的信号不同的红外传感器的信号分别代表不同的水位高度,将红外传感器信号进行处理来识别不同的高度,控制LED灯亮表明在加水
1、用三个红外传感器放在高中低三个位置(红外对管,固定在万能板上);
2、三个位置都感应到物体说明,水是满的,三个位置都没有物体说明水是空的
3、如果中间位置和下面位置有物体说明有一半的水;
4、液晶屏显示水的位置(为0表示没有水,1表示水在最低位,2表示水在中间位,3表示水在最高位)
5、无水的时候,LED亮,表示自动在加水,水满了以后LED熄灭(表示自动加水的过程)
2.2系统结构框图
由于该系统一单片机为核心,配以一定的外围电路和软件,以实现水塔水位的控制功能,他有硬件部分和软件不分组成,系统设计方案的的结构框图如下图2.1所示。
图2.1水位控制系统原理框图
图2.1机构图
第三章系统硬件设计及说明
3.1硬件的基本组成
单片机89C52,30PF电容,10K电阻,220电阻。
主电路包括开关,电源等。
3.2单元模块设计
3.2.1单片机的概述
随着大规模,超大规模集成电路技术的发展和计算机微型化的需要,把微型计算机的基本功能部件:
中央处理器,存储器,输入/输出接口,定时器/计数器,中央系统等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机,这种集成电路芯片被称为单片微型计算机,简称“单片机”。
单片机也被称作“单片微控制器”,“微控制机”,“嵌入式微控制器”。
单片机一词最初是来源于“SingleChipMicrorcomputer”简称SCM。
随着SCM在技术上,体系结构上不断的扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。
国际上逐渐采用“MCU”(MicroControllerUnit)来替代他,形成了单片机界公认的.最终统一的名词。
为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。
在国内因为“单片机”一词以约定俗成,故而可继续沿用。
3.2.2单片机的基本结构
微型计算机由硬件系统和软件系统两大部分组成,一般把二者构成的系统称为微型计算机系统。
微型计算机的硬件主要是由CPU(运算器和控制器)、存储器、I/O接口和I/O设备组成,各组成部分之间通过地址总线AB(AddressBus)、数据总线DB(DataBus)、控制总线CB(ControlBus)联系在一起。
微型计算机的软件包括系统软件和应用软件两大类。
软件与硬件相辅相成,共同构成微型计算机系统,缺一不可。
图3.2所示。
图3.28052单片机内部结构图
MCS-52单片机内部包括以下部件:
●1、兼容MCS51指令系统
●2、8kB可反复擦写(大于1000次)FlashROM;
●3、32个双向I/O口;
●4、256x8bit内部RAM;
●5、3个16位可编程定时/计数器中断;
●6、时钟频率0-24MHz;
●7、2个串行中断,可编程UART串行通道;
●8、2个外部中断源,共8个中断源;
●9、2个读写中断口线,3级加密位;
●低功耗空闲和掉电模式,软件设置睡眠和唤醒功能
89C52的优点:
8Kflash,256BRAM,32个I/O接口,看门狗,三个十六位定时器/计数器,六个中断矢量、两级优先权,一个全双工的串行口,片上的振荡器和时钟电路(不懂,好像没有这些东西)。
另外,AT89S52设计了静态逻辑(不懂),可以将时钟频率降低到0Hz.用软件可以设置两种省电模式:
1.低电压空闲模式(Theidlemodel),cpu不在工作,但是RAM、定时器/计数器、串行口、中断系统一直工作;
2.2.电源睡眠模式(Thepower-downmodel)只保存RAM中的内容,但是停止振荡器,其他片上功能失效直到中断唤醒或硬件重启。
3.2.380C52的引脚
●VCC:
电源。
●GND:
地。
●P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻电平。
●P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TT逻辑电平。
●RST:
复位输入。
在晶振工作时,RST脚持续两个机器周期高电平将使单片机复位。
ALE/PROG:
地址锁存控制信号(ALE)在访问外部程序存储器时,锁存低8位地址的输出脉冲。
●PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
●EA/VPP:
访问外部程序存储器控制信号。
●XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
●XTAL2:
振荡器反相放大器的输出端。
3.3水位自动上水的设计
水位自动控制由五部分组成,即水位传感器,单片机,LCD液晶屏,水位装置。
3.3.1红外传感器电路
图3.2所示红外传感器的工作原理
传感器是一种能把物理量或化学量转变成便于利用的电信号的器件,红外传感器就是其中的一种。
随着现代科学技术的发展,红外线传感器的应用已经非常广泛.
3.3.2单片机最小电路
如图3.3所示
AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
3.3.3LCD1062液晶电路
如图所示
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别
1602LCD主要技术参数:
●显示容量:
16×2个字符
●芯片工作电压:
4.5—5.5V
●工作电流:
2.0mA(5.0V)
●模块最佳工作电压:
5.0V
●字符尺寸:
2.95×4.35(W×H)mm
引脚功能说明
●1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明
●1VSS电源地9D2数据
●2VDD电源正极10D3数据
●3VL液晶显示偏压11D4数据
●4RS数据/命令选择12D5数据
●5R/W读/写选择13D6数据
●6E使能信号14D7数据
●7D0数据15BLA背光源正极
●8D1数据16BLK背光源负极
表10-13:
引脚接口说明表
●第1脚:
VSS为地电源。
●第2脚:
VDD接5V正电源。
●第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对
●比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
●第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信
●号,当RS为高电平R/W为低电平时可以写入数据。
●第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
●第15脚:
背光源正极。
●第16脚:
背光源负极。
第4章系统元器件
4.1元件的选择
原因:
AT89C52本身兼有51的工能,可以反复擦写(100次);LCD1602 液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧;红外发光二极管在实验中可以不用实际的水,根据红外传感器信号进行处理来识别水位。
4.2元件清单
第5章结论
这次毕业设计花了差不多两个月的时间,深刻的体会了实践是实现真理的唯一目标,很多东西学了只有在自己做的时候才知道它真的用途在哪些方面。
在做毕业设计之前总认为我把自己该学的东西都学了,做毕业设计了才知道,很多东西需要边查找资料边学习的,知识是无穷的,不是自己把该学的都学了你的事就能做成。
刚开始做的时候看着题目觉得对它不陌生,因为老师在不久前的课题刚说了水塔。
虽然它对于我来说不陌生了,但是我把老师说的东西,做的笔记都看了感觉还是一点头绪都没有,这时才知道我学的东西多的片面。
做毕业设计之前必须给自己做好规划,多与指导老师交流和沟通,不懂的东西要及时询问;我们电子信息工程专业在做产品写毕业论文时要用到好多软件,要学会边做边学习,同时别忘了实践与理论相结合,这样才能更好的做好。
参考文献
1.赵建领,51单片机开发与应用技术详解[M]电子工业出版社2009
2.李响初,数字电路基础与应用机械工业出版社,2008
3.莫正康,电力电子应用技术机械工业出版社,2007
4.卢艳君,单片机原理与应用[M]机械工业出版社2008
5.吴丙申,卞祖富,模拟电路基础北京理工大学出版社,2007
6.李伟,苏伯贤,电子整机装配实训北京理工大学出版2010
附录
主程序文件
#include
#include"1602.h"
uchartable2[]="Welcometouse";
sbitD1=P3^7;//定义控制命令引脚
sbitD2=P3^6;//定义控制命令引脚
sbitD3=P3^5;//定义控制命令引脚
sbitLED=P1^6;//定义控制命令引脚
voidmain()
{
init();
spi(0,table2);
delay(2000);
while
(1)
{
if(!
(D1||D2||D3)){table1[14]='0';LED=0;}//0表示没有水,
if(!
D1&&D2&&D3)table1[14]='1';//1表示水1半,
if(!
D1&&D2&&!
D3)table1[14]='2';//2表示水在中间位,
if(D1&&D2&&D3){table1[14]='3';LED=1;}//3表示水在最高位)
spi(0,table);
spi(1,table1);
}
}
LCD1602液晶屏显示文件
#include
#defineucharunsignedchar//这里用"uchar"代替"unsignedchar","uchar"用来定义无符号字符型数(0~255)
#defineuintunsignedint//这里用"uint"代替"unsignedint","uint"用来定义无符号整型数(0~65535)
uchartable[]="Asystemofwater";//当前时间now
uchartable1[]="Waterlevel:
";//闹钟:
alarm
sbitlcden=P1^2;//定义控制命令引脚
sbitlcdrs=P1^0;
sbitlcdrw=P1^1;
ucharnum;
/********************************************************************
*名称:
delay()
*功能:
延时
*输入:
z
*输出:
无
***********************************************************************/
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/********************************************************************
*名称:
write_com()
*功能:
写指令
*输入:
com
*输出:
无
***********************************************************************/
voidwrite_com(ucharcom)
{
lcdrs=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
/********************************************************************
*名称:
write_data()
*功能:
写数据
*输入:
data
*输出:
无
***********************************************************************/
voidwrite_data(uchardate)
{
lcdrs=1;
P2=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
/********************************************************************
*名称:
init()
*功能:
1602液晶初始化
*输入:
无
*输出:
无
***********************************************************************/
voidinit()
{
lcden=0;
lcdrw=0;
write_com(0x38);//显示模式设置
write_com(0x0c);//显示开及光标设置
write_com(0x06);//显示光标移动设置,移动方式从左到右
write_com(0x01);//清屏
}
/********************************************************************
*名称:
main()
*功能:
英文字符显示
*输入:
无
*输出:
无
***********************************************************************/
voidspi(uchari,uchar*p)
{
ucharr;
if(i)
write_com(0x80+0x40);//定义第二行显示的地址
elsewrite_com(0x80);//定义第一行显示的地址
for(r=0;r<16;r++)
write_data(*(p+r));
}
致谢
在本次设计中非常的感谢我的指导老师细心的指导,让我在茫然中找到了设计的思维,能很好的完成自己的课题,在指导中,老师严谨的态度,渊博的知识是我学习的榜样,在这次毕业设计中也感谢身边朋友同学对我的支持,同时也感谢百忙中为我们论文进行审阅的老师。
资料仅供参考!
!
!