单片机课程设计--水位计设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机课程设计课题:水位计设计系别:电气与电子工程系专业:电气工程及其自动化姓名:学号:指导老师:郑州大学2013年01月11日一、设计目的随着社会的发展,科技的进步以及人们生活水平的逐步提高,各种方便与生活的自动控制系统开始进入了我们的生活,单片机作为微型计算机发展的一个重要分支,具有高可靠性、高性能价格比、低电压、低功耗等优势,以其为核心的自动控制系统赢得了广泛的应用。水位计是供水系统中常用的设备,单片机的水位计控制系统使供水设备的水位保持在相应位置以满足用户对用水系统的需要.本设计的目的是用单片机设计一个控制系统对水位进行自动控制.水位计控制系统的研究对于提高供水系统的自动化水平,提高工作效率有重要意义.二、设计要求该课程设计给出以AT89C51单片机为核心器件的水塔水位检测控制系统仿真设计,实现水位的检测控制、处理和报警等功能,本设计要求:1、设计一自动水位控制器,使其具有均匀水流流出。当水位降到一定程度时开始注水;2、当水位升到一定水位时,停止注水,开始放水,要求给出信号。三、总体设计3.1总体框图该方案以单片机为核心,配以一定的外围电路和软件,以实现水位控制的功能。在此水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。工作正常情况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。它由硬件部分和软件部分组成。硬件部分由七大部分构成:80C51应用系统,水位采样系统,电机抽水系统,报警系统,锁存器,EOROM,时钟系统。软件部分是用汇编语言编写的汇编程序,烧写入单片机中用于控制整个系统自动工作。系统设计方案的硬件电路设计框图如下图1所示图1总体框图3.2工作原理单片机水塔水位控制原理如图2所示,图中虚线表示容许水位变化的上下线,在正常情况下,应保持水位在虚线范围之内。其中A棒处于下限水位,C棒处于上限水位,B棒在上下水位之间。A棒接+5V电源,B棒和C棒各通过一个电阻与地相连。水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制之目的。供水时,水位上升,当达到上限时,由于水的导电作用,B和C棒连通+5V。因此,b和c两端均为1状态,这时应停止电机和水泵的工作,不再给水塔供水。当水位处于上下限之间时,B棒与A棒导通。因C棒不能与A棒导通,b端为1状态,c端为0状态。这时,无论是电机已在带动水泵给水塔加水,水位在不断上升;或者是电机没有工作,用水使水位在不断下降。都应继续维持原有的工作状态。当水位降到下限时,B和C棒都不能与A棒导电,因此,b和c两端均为0状态。这时应启动电机,带动水泵工作,给水塔供水。80C51应用系统水位采样电机抽水系统报警系统时钟系统锁存器EPROM图2水塔水位控制原理图3.3主程序框图程序是整个系统软件部分的核心,主程序流程图如下图3所示。YYNNY图3水位计控制程序主程序图四、各部分电路设计4.1设计方案本设计为一个实际应用系统的水塔水位控制部分。在此水塔水位控制系统中,检测信号来自插入水中的3个金属棒,以感知水位变化情况。工作正常情+5VbcCBA开始为检查水位做准备P1.0=0?P1.0=0?P1.1=1?停机P1.2=1P1.1=0?报警P1.3=0停机P1.2=1等待启动电机P1.2=1况下,应保持水位在某一范围内,当水位变化发生故障的时候,及时关断电机电源,发出声、光报警信号。在仿真和模拟中我们用了两个点位代表了三个金属棒的工作情况,不过用手动操作来控制水位变化让单片机感应,其中用开关1代表了b(P1.0)金属棒,开关2(P1.1)代替了c金属棒,当开关1闭合时代表处于低水位,开关2闭合时代表处于高水位。1.方案一:使用80C51单片机。由于80C51内部ROM不够用,因此需外扩展ROM,作为程序存储器。本系统采用2732构成4KB的外扩展程序存储器。74LS373作为地址锁存器。方案二:直接使用AT89S51单片机,由于AT89S51内部有ROM,因此不需要外扩ROM了,但是模拟上无法改正也没物品改了,就只是用大内存模拟了下。2.两个水位信号由P1.0和P1.1输入,这两个信号共有四种组合状态,分别为00态、01态、10态和11态。如图3至图6所示.其中00态表示电机运转,01态表示维持原状,10状态正常情况下是不可能发生的,但在设计中应该考虑到,并作为一种故障状态,11态表示电机停转。3.控制信号由P1.2输出,去控制电机,并串联一个发光二极管,用来显示电机的运转与否。4.由P1.3输出报警信号,驱动一支发光二极管和一只喇叭进行声光报警。表4P1.0和P1.1工作状态表c(P1.1)b(P1.0)操作00电机运转01维持原状10故障报警11电机停转4.2时钟控制电路图5时钟控制电路在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度就快,同时对存储器的速度也高。4.3手动水位控制电路和报警电路为了便于水位检测,在实际仿真过程中用一个两位的拨码开关模拟b、c端的状态,从而实现水位状态的四种组合,如图6至图9所示。正电极接P1.0和P1.1口,每个负电极分别通过电阻接地,将单片机的P1.0口接开关1,P1.1口接开关2。单片机通过负电极重复采集检测水位,当缺水时(此时两个开关均置12U5:A74LS0434U5:B74LS04D3LED-RED56U5:C74LS041312U5:D74LS04+88.8kRPM+12VD1LED-GREENQ1NPN图6手动水位控制电路及报警电路0),电机必须带动水泵抽水;若水位在正常范围内,检测信号为高电平,此时开关1置1,开关2置0;当水位过高时,检测信号为高电平,此时开关1和开关2都置1,单片机检测到P1.0和P1.1为高电平后,立即停机。为了避免系统发生故障时,水位失去控制造成严重后果,在超出和低于警戒线水位时,报警电路产生光电报警。单片机P1.2为启动电机命令输出端口,通过反相器与电机相连,P1.2为低电平时电机运转,否则,电机停转;电机故障报警由单片机的P1.0和P1.1口控制,当P1.1为高电平,P1.0为低电平时,表示产生故障则P1.3为低电平,报警灯亮,同时喇叭响。出转现故障时,电机也停止转动不再抽水和不再放水,就需要工作人员去检查设备来解决问题出现在哪。4.4扩展程序图为了便于系统扩展,存放大容量应用程序,系统设计扩展一片程序存储器2732,用于存放源程序代码,因只扩展一片存储器,片选端OE接地。74LS373用于地址锁存,地址锁存信号ALE接锁存器的LE端,通过软件设置实现地址和数据信息的传输。此时程序存储器变成4KB。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373A08A17A26A35A44A53A62A71A823A922A1019A1121CE18OE/VPP20D09D110D211D313D414D515D616D717U32732图7程序内存扩展图4.5程序ORG0000HAJMPLOOPORG0100HLOOP:ORLP1,#03H;为检查水位状态做准备MOVA,P1JNBACC.0,ONE;p1.0=0则转移JBACC.1,TWO;p1.1=1则转移BACK:LCALLYANSHI;延时AJMPLOOPONE:JNBACC.1,THREE;p1.1=0转移CLR93H;p1.3=0,启动报警装置SETB92H;p1.2=1,停止电机FOUR:SJMPFOURTHREE:CLR92H;启动电机AJMPBACKTWO:SETB92H;停止电机AJMPBACKORG8030H;延时2秒YANSHI:MOVR3,#19HLOOP3:MOVR1,#85HLOOP1:MOVR2,#0FAHLOOP2:DJNZR2,LOOP2DJNZR1,LOOP1DJNZR3,LOOP3RETEND五、整体电路图用于仿真的整体电路图如下图8所示(附录一):XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274LS373A08A17A26A35A44A53A62A71A823A922A1019A1121CE18OE/VPP20D09D110D211D313D414D515D616D717U32732X1R24kC110uF12U5:A74LS0434U5:B74LS04D3LED-RED+5V56U5:C74LS041312U5:D74LS04+88.8kRPM+12VD1LED-GREEN1213U4:A74HCT4066图8整体电路图六、仿真及调试刚开始调试时,由于对编程不太熟悉,程序是东拼西凑出来的,编译总是有错误,无法仿真,然后就不得不看单片机书重新写程序,写了好多遍,改了好多遍仿真终于出来了,但是在烧程序过程中还是有错误,不过好在人多,最后在同学的帮助下终于把程序烧进去了。仿真时是用手控制开关的关断来代表水位,工作过程就是表4的过程。仿真效果参看附录一。七、设计总结本次课程设计,我实现了基于单片机的水位控制系统的设计和模拟仿真,完成了此课程设计的全部要求,即硬软件设计,口接线、存储器扩展、设计报告等。在课程设计过程中,我遇到了好多问题,例如,虽然说上学期认真地学习了单片机课程,但由于没有实际操作过,运用起来变得有些生疏,通过跟老师和同学请教自己不懂的技巧,我深刻地认识到师生间的交流与同学之间的相互协作也是很重要的,有时候很多问题自己解决不了,但在老师与周围同学的帮助下很快就解决了。再加上这次做课程设计对Proteus和keil的使用,更是让我学到了两个新的软件,使我对上述两种软件更加熟悉,用起来更得心应手,在做实物过程中更是体会到了分工合作的重要性,我们查资料,然后我们一起仿真学习软件,她主要查资料,我负责摸索做实物,刚开焊板子不能很好用电烙铁,电烙铁头很快黑了也无法焊了,后来在同学的知道下和自己的探索下终于能很好的运用电烙铁了,但是芯片太小操作起来也总是出错,总是把引脚弄弯,最糟糕的是把芯片弄断了,最后只能再买一套物品,第二次焊接起来比较顺手就是连线太多好起来补容易拉线,而且比较乱,现在终于焊好了,而且也帮她焊好了板子,由于有了经验,在引导她焊板子的过程就容易多了,她在我的帮助下很快完成了焊板子。焊板子虽然

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功