为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机课程设计--基于单片机的水位控制系统设计

2018-01-04 12页 doc 100KB 30阅读

用户头像

is_212655

暂无简介

举报
单片机课程设计--基于单片机的水位控制系统设计单片机课程设计--基于单片机的水位控制系统设计 单片机原理及系统课程设计 评语: 考勤(10) 守纪(10) 过程(40) 设计报告(30) 答辩(10) 总成绩(100) 专 业: 电气工程及其自动化 班 级: 电气1004班 姓 名: 雷海燕 学 号: 201009334 指导教师: 于晓英 兰州交通大学自动化与电气工程学院 2013 年 3 月 7 日 单片机原理及系统课程设计报告 基于单片机的水位控制系统设计 摘要 本设计是采用AT89C51单片机为核心芯片,及其他相关硬件来实现的水位控制 ...
单片机课程设计--基于单片机的水位控制系统设计
单片机课程设计--基于单片机的水位控制系统设计 单片机原理及系统课程设计 评语: 考勤(10) 守纪(10) 过程(40) 设计(30) 答辩(10) 总成绩(100) 专 业: 电气工程及其自动化 班 级: 电气1004班 姓 名: 雷海燕 学 号: 201009334 指导教师: 于晓英 兰州交通大学自动化与电气工程学院 2013 年 3 月 7 日 单片机原理及系统课程设计报告 基于单片机的水位控制系统设计 摘要 本设计是采用AT89C51单片机为核心芯片,及其他相关硬件来实现的水位控制 系统,并用两位七段共阴LED显示器示水位高度,检测水位数据。当水位低于用户设 定的值时,系统会实施报警安全提示,并自动打开电机上水。当水位达到设定值时, 系统停止报警,并自动关闭电机。当水位高于另一设定值时,系统再次报警,电 机自动打开放水,直到水位正常,报警停止,电机自动关闭。 关键字:单片机,LED显示器,电机 Abstract This design uses AT89C51 chip microcomputer as the most important chip,and other related hardware to realize the water level control system,with the two-position,seven segment and common negative LED display to show the water level height,to check the water level data.When water level is under the user’s set point, the system will give an alarm and implement safe hint, and automatically open electric motor to provide water.When water level reaches the set point,system will stop giving an alarm,and automatically close down the electric motor.When water level is over the set point,system will give an alarm again and the electric motor will automatically open to turn on the water,until water level is normal,system will stop giving an alarm, and automatically close down the electric motor. Key words:single-chip microcomputer, LED display, electric motor 1 单片机原理及系统课程设计报告 1 引言 本设计对水箱的水位进行控制,主要为了避免水箱的“无水”和“溢水”现象,使水位保持在一定的范围内,同时也避免了对水资源的浪费。本设计利用了单片机来实现这一功能。这一小块芯片上集成了一个微型计算机的各个组成部分,它的诞生使众多自动化控制系统得以实现。让51单片机与数码显示连接可随时掌握水位高度,与电机相连实现自动给水排水功能。 2 设计及原理 1.1 设计原理 该水位控制系统由一片AT89C51单片机芯片,一块两位七段共阴LED显示器,一片电机驱动芯片1298,一个电机,8个高低排列符合物理顺序的按键,用来模拟水位的高低,每一个按键代10cm高的水位,当水位低于30cm时,系统会实施报警安全提示,并自动打开电机上水。当水位达到设定值时,系统停止报警,并自动关闭电机。但是当水位60cm时,系统也会报警,电机自动打开放水,直到水位正常,报警停止,电机自动关闭,使水位始终保持在30cm-60cm之间。同时数码管也会随时显示水位的高低数值。 1.2 设计方案 (1)硬件设计 系统电路是由按键输入电路,二极管、LED显示输出电路,晶振电路,及复位电路组成。选用一片AT89C51单片机,三个发光二极管,一块两位七段共阴LED显示器,一片电机驱动芯片1298,一个电机,8个高低排列符合物理顺序的按键,一个蜂鸣器。按键由P1口输入(P1.0为最高水位,P1.7为最低水位),显示器由P0口输出,P1口接报警装置,P2口接电机驱动装置。具体系统组成框图及电路原理设计图如下图所示: 晶振电路 LED显示输出 AT89C51 复位电路 报警装置 单片机 按键输入 电机驱动装置 图1 系统组成框图 2 单片机原理及系统课程设计报告 图2 电路原理整体设计图 图3 电机驱动电路 图4 按键输入电路 (2)软件设计 实验程序由C语言编写,keil C编译,proteus仿真实验电路。程序除主程序外,包含一个延时程序,一个显示子程序,一个蜂鸣器子程序。每个相邻的按键间相隔10cm高度的水位。0~20水位过低,蜂鸣器响起;30~50水位正常;60~80水位过高,蜂鸣器响;LED随时显示。蜂鸣器的响声是利用高低电平的反复交替使其震动而产生的。主程序是由9个if条件句组成,分别表示按键按下模拟不同水位时,蜂鸣器、数码管及发光二极管的不同反应。红灯表示水位过低,电机正转,进水;绿灯表示水位正常,电机停转;黄灯表示水位过高,电机反转,出水。 源程序见附录。 程序图及仿真调试如下图所示: 3 单片机原理及系统课程设计报告 开始 水位是否过低,Y 报警N Y水位是否过高,报警 电机转动,进水 电机转动,放水N 结束 图3 程序流程图 图4 系统仿真及调试图 正常水位 4 单片机原理及系统课程设计报告 图5系统仿真及调试图 高水位 图6 系统仿真及调试图 低水位 3 总结 本次课程设计的系统主要介绍了水体的液位检测控制,主要核心就是 单片机,利用和发光二极管来进行信号的输出显示按键模拟信号AT89C51LED, 输入,系统的结构简化具有良好的人机交互功能并设有液位报警,有问题立即, , 就能发现,通过自动调节控制液位并实现水体的液位报警,操作人员劳动强度小 该设计主要为了避免水箱的“无水”和“溢水”现象,使水位保持在一定的范围内,同时也避免了对水资源的浪费。同时运用对设计进行仿真,用proteuskeil 对语言进行编译,用对设计框图和程序流程图的绘画,还有对熟CCvisioword练掌握下编写的课程设计报告。 5 单片机原理及系统课程设计报告 参考文献 [1]谢自美.电子线路设计、实验与测试[M].华中科技大学出版社.2003. [2]冯建华. 基于单片机的控制系统研究,单片机学报[M].2007. [3]马忠梅,张凯等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社.2003. [4]秦获辉.科技英语(电子类).西安:西安电子科技大学出版社[M].2005. [5]李萍. AT80C51单片机原理、开发与应用实例[M].中国电力出版社.2008. 6 单片机原理及系统课程设计报告 附录 #include //0~30水位过低,40~50合适,60~80水位过高 #define ui unsigned int #define uc unsigned char uc flag; //水位是否蜂鸣器报警标志位 uc dang; //水位高度的档次 uc shuiwei,geshuiwei,shishuiwei; uc code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71}; sbit red=P2^0; sbit green=P2^1; sbit yellow=P2^2; sbit wei1=P2^3; sbit wei2=P2^4; sbit motor1=P2^5; sbit motor2=P2^6; sbit bee=P2^7; void delay(ui a) //延时程序 { ui i,j; for(i=a;i>0;i--) for(j=110;j>0;j--); } void display(uc dang) //LED显示器的子程序 { shuiwei=dang*10; geshuiwei=shuiwei%10; shishuiwei=shuiwei/10; wei2=1; wei1=0; P0=table[shishuiwei]; delay(1); wei1=1; wei2=0; P0=table[geshuiwei]; delay(1); } 7 单片机原理及系统课程设计报告 void fengmingqi() //蜂鸣器的子程序 { if(flag==1) { bee=~bee; delay(1); } if(flag==2) { bee=~bee; delay(2); } display(dang); } void main() //主程序 { while(1) //0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03;0x01,0x00 { if(P1==0xff) //最低水位 { dang=0; display(dang); green=1;yellow=1;red=0; //红灯表示水位过低 motor1=1; motor2=0; //电机正转,进水 flag=1; while(P1==0xff)fengmingqi(); } if(P1==0x7f)//1 { dang=1; display(dang); green=1;yellow=1;red=0; //红灯表示水位过低 motor1=1; motor2=0; //电机正转,进水 flag=1; while(P1==0x7f)fengmingqi(); } if(P1==0x3f)//2 { 8 单片机原理及系统课程设计报告 dang=2; display(dang); green=1;yellow=1;red=0; //红灯表示水位过低 motor1=1; motor2=0; //电机正转,进水 flag=1; while(P1==0x3f)fengmingqi(); } if(P1==0x1f)//3 { dang=3; display(dang); green=0;yellow=1;red=1; //绿灯表示水位正常 motor1=0; motor2=0; //电机停转 flag=0; while(P1==0x1f)fengmingqi(); } if(P1==0x0f)//4 { dang=4; display(dang); green=0;yellow=1;red=1; //绿灯表示水位正常 motor1=0; motor2=0; //电机停转 flag=0; while(P1==0x0f)fengmingqi(); } if(P1==0x07)//5 { dang=5; display(dang); green=0;yellow=1;red=1; //绿灯表示水位正常 motor1=0; motor2=0; //电机停转 flag=0; while(P1==0x07)fengmingqi(); } if(P1==0x03)//6 { dang=6; display(dang); green=1;yellow=0;red=1; //黄灯表示水位过高 motor1=0; motor2=0; //电机反转,出水 flag=2; while(P1==0x03)fengmingqi(); 9 单片机原理及系统课程设计报告 } if(P1==0x01)//7 { dang=7; display(dang); green=1;yellow=0;red=1; //黄灯表示水位过高 motor1=0; motor2=0; //电机反转,出水 flag=2; while(P1==0x01)fengmingqi(); } if(P1==0x00)//8 { dang=8; display(dang); green=1;yellow=0;red=1; //黄灯表示水位过高 motor1=0; motor2=0; //电机反转,出水 flag=2; while(P1==0x00)fengmingqi(); } } } 10
/
本文档为【单片机课程设计--基于单片机的水位控制系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索