课程设计报告基于AT89C51单片机的水位控制系统设计.docx
- 文档编号:27028623
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:24
- 大小:494.67KB
课程设计报告基于AT89C51单片机的水位控制系统设计.docx
《课程设计报告基于AT89C51单片机的水位控制系统设计.docx》由会员分享,可在线阅读,更多相关《课程设计报告基于AT89C51单片机的水位控制系统设计.docx(24页珍藏版)》请在冰豆网上搜索。
课程设计报告基于AT89C51单片机的水位控制系统设计
课程设计
课程名称
嵌入式系统课程设计
题目名称
专业班级
2012级电子信息科学与技术(?
)班
学生姓名
学号
指导教师
二○一五年五月三十一日
项目
权重
分值
具体要求
得分
文献阅读与调查论证
0.20
100
能独立查阅文献和从事其它调研活动;有收集、加工各种信息的能力
设计质量
0.30
100
设计合理、功能齐备,程序运行正常,实验数据准确可靠;有较强的实际动手能力
论文撰写质量
0.20
100
设计说明书完全符合规范化要求,用A4复印纸打印成文
学习态度
0.20
100
学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务
学术水平与创新
0.10
100
设计有创意,有一定的学术水平或实用价值
总分
评语:
存在问题:
等级:
指导教师:
年月日
分工协作说明
课题名称
学生姓名
学号
所做的工作
DS18B20数字温度计的的设计
最后总结调试。
由所有组员共同完成
目录
摘要1
一引言3
二设计方法和原理4
(一)水塔水位的控制原理4
(二)总体设计方案4
三硬件设计5
(一)硬件设计方案5
(二)主芯片AT89C515
(三)光报警及显示电路6
(四)键盘连接电路6
(五)复位电路7
(六)晶振电路8
四软件设计9
(四)程序流程图及其分析9
五系统仿真及实际调试10
(一)元器件清单10
(二)系统调试及仿真10
六总结13
致谢13
附录一源代码15
摘要
水箱水位控制系统研究背景:
在工农业生产中,常常需要控制液体水位。
随着国家工业的迅速发展,水位控制技术被广泛应用到石油、化工、医药、食品等各行各业中。
低温液体(液氧、液氮、液氩、液化天然气及液体二氧化碳等)得到广泛的应用,作为贮存低温液体的容器要保证能承受其载荷;在发电厂、炼钢厂中,保持正常的锅炉汽包水位、除氧器水位、汽轮机凝气器水位、高、低压加热器水位等,是设备安全运行的保证;在教学与科学研究中,也经常碰到需要进行水位控制的实验装置。
水箱水位控制系统研究意义 :
大型水箱是很多公司生产过程中必不可少的部件,它的性能和工作质量的优良不仅仅对生产有着巨大的影响,而且也关系着生产的安全。
在过去,大量的对水箱操作是由相应的人员进行操作的,这样的人工方式带来了很大的弊端,比如水位的控制,时刻监控水箱的环境,夜间的监控等等,操作员稍有疏忽,或者简易的监则器件损坏,将带来无法弥补的损失,更严重的会危机到生产人员的人身安全等。
所以,对水箱控制,如果能够使用精密的而且完全会严格按照生产规定运行的自动化系统,可以最大限度的避免事故的几率,同时也能节省资源并能有效提高生产效率。
从水资源节约方面考虑,以往的人工控制在很多情况下,造成资源不必要的浪费,大部分原因是水箱内部水位没有及时的反馈信息到操作员,从而使控制上有一定的延迟,从而造成了水量过多或者没能及时补水而导致资源的浪费或生产出现异常。
而对水箱水位的监控以及自动化的引入可以很好的改善补水过多和及时补水的情况,可以很好的节约资源有效的降低成本。
单片机,一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生使众多自动化控制系统得以实现。
80C51以它功能强大,设计简单,制造廉价,支持指令集较多。
所以应用到众多嵌入式系统开发中。
因此,基于80C51单片机的水箱水位控制系统研究有着重要的意义。
水位控制一般指对某一水位进行控制调节,使其达到所要求的控制精度。
液体的水位自动控制,是近年来新开发的一项新技术,它是微型计算机软件、硬件、自动控制等几项技术紧密结合的产物,工程作业采用的是微机控制和原有的仪表控制,危机控制有以下明显优势:
1)直观而集中的显示运行参数,能显示水位状态。
2)在运行中可以随时方便的修改各种各样的运行参数的控制值,并修改系统的控制参数,可以方便的改变水位的上限、下限。
3)具有水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修改运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性。
综合以上的种种优点可以预见采用计算机控制系统是行业的大势所趋。
单片机在一块芯片上集成了一片微型计算机所需的CPU、存储器、输入、输出等部件。
单片机自问世以来,性能不断提高和完善,体积小、速度快、功耗低的特点使它的应用领域日益广泛。
一般工业控制系统的工作环境差,干扰强,利用单片机控制就能克服这些缺点,因此单片机在控制领域得到广泛的应用,使用单片机控制水箱水位是很好的选择。
水箱水位控制系统国内外研究现状 :
目前,水箱控制系统已不仅仅局限于大型的电厂、煤炭、钢铁等大型企业领域,它以自身的自动化控制系统的安全优势,已经慢慢深入到一些民用水箱产品。
但是目前阶段,它的成本还很高。
比如把一台纯手工家用水箱设计成自动化控制的水箱,从硬件的设计和铺设,对于民用化产品实施的性价比较高。
因此大规模的使用仍受到经济上的限制。
但是,从长远来看,随着自动化技术的改进和硬件成本的降低,以及人们对资源浪费的重视。
水箱控制系统仍然有大规模推广的前景。
我国仍然处于生产型发展中国家,所有几乎在能源相关的所有领域中,水箱是比不可少的部件,即使是发达国家也不例外。
它性能的优良与否关系直接关系到企业的生产安全和效益。
随着我国嵌入式技术的发展,我国控制系统技术已经达到国际水平,但是在中小型企业以及民用产品,大量的水箱控制任然通过专职的人员进行控制。
随着我国单片机开发技术的逐渐成熟,以及单片机生产成本的下降,基于单片机的水箱控制系统应用到中小型以及民用产品有着交大的发展空间。
而且越来越多的水箱生产厂商开始聘用单片机开发人员和电路设计人员,将控制系统成为水箱设计的一部分,以提高自身产品的安全性能和科技含量来提高产品在市场中的竞争力。
一些发达国家在单片机新型系统研究、制造和应用上,已经积累了很多的经验,奠定了基础,进入了国际市场。
我国在新型测控装置与系统研究、制造、应用和经验上,与其他发达国家相比还存在差距,但是我国研究人员已经克服很多困难,并在不断摸索中前进,有望在相关领域赶上甚至超越发达国家的技术水平,这是发展趋势。
水箱水位控制系统研究发展方向:
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。
所以,它的魔力不仅是在现在,在将来将会有更多的 人来接受它、使用它。
据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。
特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。
所以,学习单片机在我国是有着广阔前景的。
一引言
(一)设计目的
在工农业生产中,常常需要测量液体液位。
随着国家工业的迅速发展,液位测量技术被广泛应用到石油、化工、医药、食品等各行各业中。
低温液体(液氧、液氮、液氩、液化天然气及液体二氧化碳等)得到广泛的应用,作为贮存低温液体的容器要保证能承受其载荷;在发电厂、炼钢厂中,保持正常的锅炉汽包水位、除氧器水位、汽轮机凝气器水位、高、低压加热器水位等,是设备安全运行的保证,因此一个安全合适的水位系统是很必要的。
(二)设计要求
利用单片机设计一个水位控制系统,要求用开关来模拟水位的状态,当设定完水位后,系统根据水位情况控制电磁阀的开启和关断。
具体要求如下:
1、设计单片机工作系统电路。
2、通过键盘设置其预定水位,根据水位不同控制电机的旋转。
3、利用Proteus进行仿真。
(三)设计方法
本设计是采用AT89C51单片机为核心芯片,及其相关硬件来实现的水体液位控制系统,采用八个键盘来模拟水位,CPU循环检键盘输入状态,并用3位七段LED显示示液位高度,检测液位数据,实施报警安全提示,当水体液位低于用户设定的值时,系统自动打开泵上水,当水位到达设定值时,系统自动打开排水泵
二设计方法和原理
(一)水塔水位的控制原理
单片机水塔水位控制原理如图l所示,图中的虚线表示允许水位变化的上、下限位置。
在正常情况下.水位应控制在虚线范围之内。
为此,在水塔内的不同高度处,安装固定不变的3根金属棒A、B、C。
用以反映水位变化的情况。
其中,A棒在下限水位.B棒在上、下限水位之间,C棒在上限水位(底端靠近水池底部.不能过低,要保证有足够大的流水量)。
水塔由电机带动水泵供水。
单片机控制电机转动,随着供水,水位不断上升.当水位上升到上限水位时,由于水的导电作用。
使B、C棒均与+5V连通。
因此B、C两端的电压都为+5V,即为“l”状态,此时应停止电机和水泵工作,不再向水塔注水;随着水量的减少,当水位处于上、下限之间时。
B棒和A棒导通.而C棒不能与A棒导通,B端为“1”状态。
C端为“0”状态。
此时电机带动水泵给水塔注水,使水位上升,或是电机不工作,水位不断下降,都应继续维持原有工作状态;当水位处于下限位置以下时,B、C棒均不能与A棒导通,B、C均为“0”状态。
此时应启动电机转动,带动水泵给水塔注水,然后重复原来的过程,这就是简单的水位控制原理。
图1水位控制原理
(二)总体设计方案
系统的原理是采用8个按钮进行水位检测,在现场的3个不同的位置,由下至上测量水体的液位值。
并把这八个液位状态通过模数转换器传到单片机中(在本系统中采用开关的打开与闭合来模拟),在通过3位七段LED显示器显示出液位的八种状态并通过LED灯报警提示。
当水位过低(在1水位)时灯就会变亮,当水位较高(在7水位时)等也会变亮,用来让用户察觉。
在水位过高和过低时电磁阀都会自动的抽水或排水,其具体的抽水和排水位置可以设定,此系统中采用的是7水位和1水位
三硬件设计
(一)硬件设计方案
系统方案设计液位控制是利用把液位的利用来管进行模拟,再通过AT89C51把输出状态直接接到单片机的I/O接口,单片机经过运算控制,输出数字信号,输出接口接LED进行显示,实现液位的报警和键盘的显示与控制。
由下图可观察到水位由键盘控制输入以后,通过AT89C51单片机的运算控制,在通过LED进行显示,通过报警装置进行报警,报警显示之后再通过对阀门的开启实现对水体的液位进行调节控制,阀门的驱动设备是电动机。
图2即是液位控制系统。
图2水位控制系统分析
(二)主芯片AT89C51
本系统采用AT89C51作为主要芯片,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式系统提供了一种灵活性高且价廉的方案。
在本系统设计中采用AT89C51作为主要的芯片,它具有P0、P1、P2、P3四个I/O口,每个口又有8个接口,32个接口可以满足外接电路的需要,更方便的显示系统。
本设计中采用了单片机AT89C51的P0、P1、P3口,分别完成了显示和控制以及报警功能的实现。
下图为单片机AT89C51的引脚图。
图3AT89C51引脚图
(三)光报警及显示电路
图4所示为系统的光报警及显示电路,三段LED数码管于单片机的P0-P7口相连,同时排阻的把根线也连在单片机的P0口上,作为上拉电阻。
图4光报警及显示电路
(四)键盘连接电路
键盘连接电路如图5所示,八个键盘k1-k8分别与单片机的p1口的p1-p7相连,这八个键盘的按下与否用来模拟的是水位的高低,k1键代表水位最低点,k8键代表的是水位最高点,当k1键按下时,指示灯亮,电机正转,开始加水,一直加水至水位7(即7键按下时),电机开始停止转动,并反向转动抽水,水位开始降低,直至到达3水位,灯亮电机开始自动加水,加水水位可以由用户自己设定,本系统中采取的是3水位便开始加水,7水位开始抽水。
本系统采用的是独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。
它软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。
图5键盘连接电路
(五)复位电路
系统的复位电路如图6所示。
复位电路中上端于单片机的复位引脚相连,下面与与EA端相连,要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则EA端必须保持低电平(接到GND端)。
然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存EA端的状态。
当EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。
其复位电路部分用来对系统进行复位操作,末端与单片机的复位相连,按下复位键,当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
图6复位电路
(六)晶振电路
晶体振荡电路的两个端口分别连接在单片机的XTAL1和XTAL2上。
晶振电路的作用是为本系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振电路通常与锁相环电路配合使用,以提供系统所需的时钟频率。
如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
图7晶振电路
四软件设计
(四)程序流程图及其分析
水位检测是通过7个按钮进行水位检测的,当水位到检测位置其输出端口就向单片机输出低电平。
由上至下的第一个位置为水位上限报警线,即当水位高于此位置时,开水阀控制系统就会自动报警,提醒工作人员注意,加水电磁阀有可能出故障;第二个位置是自动停止加水线,即当水位高于此位置时,控制系统会自动关闭加水电磁阀,停止加水;第三个位置是自动加水线,即当水位低于此位置时,控制系统会自动接通加水电磁阀,开始加水;第四个位置是水位下限报警线,即当水位低于此位置时,控制系统就会自动报警,提醒工作人员。
本设计的一个较大的优点是可以设置多个水位,既用户可根据自己需要设定加水时的水位。
根据所分析的该系统的具体功能,可以画出该系统的流程图,流程图应该尽量力求简便,而且从中可以较容易的看出设计者的目的,充分的了解所需设计的系统的功能,从而根据流程图编写程序。
图8水位控制流程图
五系统仿真及实际调试
(一)元器件清单
7SEG-COM-CAT-GRN
LED数码管
AT89C1
单片机
BUTTON
按钮
CAP
电容
G2RL-1A-CF-DC5
继电器
2N6609
三极管
CAP-ELEC
陶瓷电容
CRYSTAL
31兆晶振
LED-RED
发光二极管
MOTOR
电机
RES
电阻
RESPACK-8
排阻
(二)系统调试及仿真
将所有的硬件按照上面所说的方法连接起来,将源程序在keilc中生成.hex文件,放在在proteus中连接好的电路图中,运行,则可得到正确的结果。
如下图所示该仿真验证的过程为,首先按开始按,然后按下按键开关K1,这时数码管显示为1,代表此时水位过低,电磁阀会自动排水。
按开始按,然后依次按下按键开关K2,K3,K4,K5,K6,这时数码管显示为2,3,4,5,6,表示此时水位处于正常,不偏高也不偏低。
如下图所示为当水位正常时,数码管显示为2,4,6。
如下图所示,该仿真验证的过程为,首先按开始按,然后按下按键开关K7,这时数码管显示为7,代表此时水位过高,电磁阀会自动抽水。
六总结
设计过程中我遇到了很多的困难,因为知识是不连贯的,所以需要准备很多方面的知识去融合,去联系。
由于在学习的时候更注重的是书面上的东西,而本次课程设计更多的是锻炼了我的动手动脑能力,让我有机会把课上学习的知识转化为可以在实际生产生活中应用的技术。
本次课程设计的系统主要介绍了水体的液位检测控制,介绍了AT89C51单片机和其它一些单片机在液位控制系统中的应用,介绍了它们的引脚和在系统中的电路图,利用LED来进行信号的输出显示,我设计的硬件系统的结构简化,系统精度高,具有良好的人机交互功能,并设有液位报警,有问题立即就能发现。
通过自动调节控制液位并实现水体的液位报警。
液位控制在设定值上正常运行不需要人工干预,操作人员劳动强度小。
通过本次课程设计,我了解到自己的知识应该充分利用在实践上,在实践中把书本上的知识固化成自己的能力。
在设计系统的时候也有很多的想法,但是有一些想法被否定了,最终完成设计的时候优先考虑了在课程上学习到的知识,并且和单片机、电子电路的知识结合起来。
这次设计之后,我感觉到自己在自动化专业上的学习应该还有很长的路走,自动化是一个很有前途的行业,它涉及了生产生活的多个方面,对人们的影响可想而知,所以,学好自动化专业的知识不仅仅是对自己能力提升和自我价值的实现,更是一件很有意义,可以让自己有所感触,有所收获的事业。
致谢
大三下学期的学习即将结束,在本学期的最后一次作业中,我很荣幸能得到刘粉老师的指导和帮助,在这次课程设计中,忠诚感谢老师给了我精要的指导和珍贵的建议。
老师不仅给了我许多指导和建议,还耐心的指导我的设计写作。
感谢老师严格的治学态度和孜孜不倦的教导。
还要感谢同学对我的帮助。
本课程设计是在刘粉老师的精心指导下完成的。
在整个课题的设计、编写过程中,刘粉老师给予了细致的指导和帮助,使我能够点面结合,设计过程环环相扣。
在此,谨对她再致以衷心的感谢。
感谢我的父母,没有你们,就没有我的今天,你们的支持与鼓励,永远是支撑我前进的最大动力。
感谢身边所有的朋友与同学。
参考文献
[1]王思明.单片机原理及应用系统设计.科学出版社.2012.
[2]陈明荧.8051单片机课程设计实训教材.清华大学出版社.2004.
[3]丁明亮.单片机原理及应——基于Keilc与Proteus.北京航空航天大学出版社.2009-2.
[4]梅丽凤.单片机原理及接口技术.清华大学出版社.2006-8.
[5]郭勇,余小平,高嵩等.电子系统综合设计[M].北京:
北京大学出版社,2007﹒196
[6]公茂法,马宝甫,孙晨等.单片机人机接口实例[M].北京:
北京航空航天大学,2007﹒273
[7]姜学东,曲金龙.嵌入式系统控制系统研究[M].电力电子技术,2003﹒38
[8]陈建勇. MCS—51实用汇编子程序设计[M].哈尔滨工业大学出版社,2006﹒69
[9]康华光.电子技术基础(模拟部分)[M].高等教育出版社,2006﹒94
[10]杨辉先.单片机原理及应用[M].北京:
人民邮电出版社出版,2006﹒72
[11]张俊谟.单片机中级教程[M].北京:
北京航空航天大学出版,2000﹒70
[12]张毅刚,彭喜元,董继成.单片机原理及应用[M].北京:
高等教育出版社,2003﹒55
[13]李书旗,沈金荣.液位测量传感器系统的设计与实现[J].计算机测量与控制,2009, 17(11):
2131-2133
[14]钟晓强.基于单片机实现的液位控制器设计[J].现代电子技术,2009,32
(2):
51~53
[15]蔡黎.一种基于单片机的水位控制系统设计[J].仪器仪表用户,2007,14(4):
44~45
[16]陈霞,白小军.基于单片机的液位监控系统[J].武汉理工大学学报,2007,29(3):
3~5
[17]陈新昌,王万章,李祥付.单片机在水位控制中的应用[J].中国科技信息,2006, (24):
89-90,94
[18]彭军.传感器与检测技术[M].陕西:
西安电子科技大学出版社,2003﹒64
[19]余永权.单片机在控制系统中的应用[M].北京:
电子工业出版社,2003﹒27
[20]孙俪.工业水箱系统[M].北京:
中国电子出版社,2007﹒28
附录一源代码
#include
#defineucharunsignedchar/*以后定义的uchar都认为是unsignedchar*/
#defineuintunsignedint/*以后定义的uint都认为是unsignedint*/
sbitMOR=P2^7;/*电机正极为P2.7口*/
sbitMOT=P2^6;/*电机负极为P2.6口*/
sbitLED=P2^0;/*LED灯为P2.0口*/
codeuchartab[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};/*定义一个码存表*/
voiddelay(uintn)
{
while(n--);/*10ms的延时*/
}
voidLED_SHOW()
{
if(P1==0xfe)/*如果K8键按下*/
{
P0=tab[8];/*P0=0x7f*/
LED=0;/*LED为低电平*/
MOR=0;/*电机正极为低电平*/
MOT=1;/*电机负极为高电平*/
}
if(P1==0xfd)/*如果K7键按下*/
{
P0=tab[7];/*P0=0x07*/
LED=0;/*P2.0为低电平*/
MOR=0;/*电机正极为低电平*/
MOT=1;/*电机负极为高电平*/
}
if(P1==0xfb)/*如果K6键按下*/
{
P0=tab[6];/*P0=0x7d*/
LED=1;/*P2.0为高电平*/
MOR=1;/*电机正极为高电平*/
MOT=1;/*电机负极为高电平*/
}
if(P1==0xf7)/*如果K5键按下*/
{
P0=tab[5];/*P0=0x6d*/
LED=1;/*P2.0为高电平*/
MOR=1;/*电机正极为高电平*/
MOT=1;/*电机负极为高电平*/
}
if(P1==0xef)/*如果K4键按下*/
{
P0=tab[4];/*P0=0x66*/
LED=1;/*P2.0为高电平*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 基于 AT89C51 单片机 水位 控制系统 设计