单片机课程设计水位自动控制.doc

上传人:laozhun 文档编号:4144532 上传时间:2023-04-07 格式:DOC 页数:11 大小:329.50KB
返回 下载 相关 举报
单片机课程设计水位自动控制.doc_第1页
第1页 / 共11页
单片机课程设计水位自动控制.doc_第2页
第2页 / 共11页
单片机课程设计水位自动控制.doc_第3页
第3页 / 共11页
单片机课程设计水位自动控制.doc_第4页
第4页 / 共11页
单片机课程设计水位自动控制.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机课程设计水位自动控制.doc》由会员分享,可在线阅读,更多相关《单片机课程设计水位自动控制.doc(11页珍藏版)》请在三一办公上搜索。

1、河南机电高等专科学校电气工程系电子课程设计报告设计题目:水位自动控制 专业: 电机与电器 班级: 101 班 学号: 姓名: 指导教师: 设计时间: 2012-6-25 微控制器技术课程设计任务书设计题目: 水位自动控制 7 设计时间: 2012.6.72012.6.19 设计任务:在Proteus中画出原理图或使用实物,编制程序,实现以下功能:1、使用LED数码管显示当前水位;2、使用按键模拟水位开关;3、可以设定水位上、下限,到达或超过温度上限时,电机停止转动;到达或超过温度下限时,电机开始转动。背景资料:1、单片机原理与应用 2、检测技术3、计算机原理与接口技术进度安排:1、第一天,领取

2、题目,熟悉设计内容,分解设计步骤和任务;2、第2-3天,规划设计软硬件,编制程序流程、绘制硬件电路。3、第4-6天,动手制作硬件电路,或编写软件,并调试。4、第7天,中期检查。5、第9-10天,完善为完成内容,书写设计报告。6、第11天,提交设计报告,整理设计实物,等待答辩。7、第12天,设计答辩。题目:水位自动控制一、设计目的1、掌握51单片机的基本硬件结构及工作原理。2、熟悉关于51单片机系列的程序编写,并学会基本程序的设计。3、了解51系列单片机的有关控制系统的相关知识。4、学会将理论赋予实践,逐步掌握运用理论知识解决实际问题的方法。二、设计要求在Proteus中画出原理图或使用实物,编

3、制程序,实现以下功能:1、使用LED数码管显示当前水位;2、使用按键模拟水位开关;3、可以设定水位上、下限,到达或超过水位上限时,电机停止转动;到达或超过水位下限时,电机开始转动。4、设置声光报警系统,当水位过低或满水位时,相应报警指示灯闪烁,并发出报警声。三、方案设计与论证水位检测电路可以通过两个 51 单片机的管脚来感知水位的变化,产生不同的逻辑组合来控制是否进水或是停止进水。输出端可由一个端口来控制电机的运行状态,进而控制水泵的工作。方案一:设计采用 ADC0808 芯片。用 LED 灯来显示水位的高低。ADC0808 有 8 路模拟量的输入端口,本次设计只要用其中一个。通过 A/D 转

4、换为数字量作用于单片机,进而控制电机的运转。采用可调电阻器来控制模拟电信号的输入。通过对电阻器的调节来模拟输入量的变化。通过对比数字量来进行进行判断水位的高低。进而通过输出口对电机进行开关控制。方案二:本方案采用555电路进行控制,即当水位探测传感器探测到低水位时送一个低于1/3VCC的低电平给NE555芯片,555的输出即为高电平驱动水泵加水;当在正常的水位时候,送给NE555为1/3VCC-2/3VCC的电平,即保持前一个水泵不加水的状态;当水位居于高水位时,给NE555电路一个高电平,这时NE555输出电平翻转为低电平,不能驱动水泵,水泵停止加水。方案三:本方案采用单片机AT89C51作

5、为我们的控制芯片,主要工作过程是当高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红灯闪烁;当水位在正常范围内时,水泵加水;当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁。 本课程设计采用方案三,这个方案中使用了单片机处理,单片机技术是信息时代用于精密测量的一种新技术。此系统使用过程中采用稳压电路能够准确地把输入的电平送给单片机不会产生误判的情况,由于AT89C51单片机有四端口,20引脚能够非常方便地设计显示系统。四、设计原理和电路图如下1、系统原理当水位处于低水位的时候,传感器的低水位探测器没被+5V的电源导通进入稳压电路,经过处理在稳压电路

6、的输出端有一个高电平,送入单片机的P1.7口,输出的高电平进入单片机的P1口单片机经过分析,在P3.2口输出一低电平,驱动红灯闪烁,同时在P3.1口输出一低电平,驱动蜂鸣器报警;P3.0出来一个信号使三极管导通,使水泵加水;当水位处于正常范围内时,水泵加水,在P3.2引脚出来一个低电平,使红灯灭;当水位在高水位区时,传感器的低水位探测线被导通,经过处理在稳压电路的输出端有一个高电平,送入单片机的P1.0口,单片机经过分析,在P3.3引脚出来一个低电平,使黄灯亮,在P3.1口输出一低电平,驱动蜂鸣器报警;P3.0输出一个信号使三极管导通,使水泵停止加水。2、系统结构图图1 系统结构图采用单片机A

7、T89C51作为我们的控制芯片,主要工作过程是当高塔中的水在低水位时,水位探测传感器送给单片机一个高电平,然后单片机驱动水泵加水和显示系统使红灯闪烁,同时报警;当水位在正常范围内时,水泵加水 ,当水位在高水位时,单片机不能驱动水泵加水,黄灯闪烁,同时报警。3、水塔水位控制系统的硬件电路设计水塔水位控制系统的单片机选用AT89C51芯片,在Proteus 平台下进行硬件仿真。硬件电路设计分为水位检测、水位显示、声光报警、电机控制、振荡电路和复位电路几个部分。3.1 水位检测电路本检测电路采用DIPSW-8组开关来做水位监测触发。水位检测部分是用单片机P1.0P1.7 连接的8个按钮分别代表低水位

8、,水位1、水位2、水位3、水位4、水位5 ,水位6,和满水位。水位检测电路如图1 所示图2 水位检测电路3.2 水位显示电路采用一片LED数码管进行显示,由单片机P0.0P0.7和P2.0口输出段码,进行水位显示数字0 7分别代表低水位、水位1、水位2、水位3、水位4,水位5和水满时的水位标志。水位显示电路如图2 所示 图3 水位显示电路3.3电机控制电路加水时,电机正常工作。为确保水塔内不能没有水,所以在设计当中,当到达水位0 的时候就开始供水,电机工作。电机控制部分,采用了三极管放大来控制电机的工作,由单片机P3.0 口进行控制。电机控制电路如图4 所示。图4 电机控制电路3.4 振荡电路

9、和复位电路(见图6)图 5 振荡电路和复位电路3.5声光报警电路本电路采用不同颜色的发光二极管来表示不同的水位情况。即红灯D1亮表示是低水位状态,蜂鸣器报警;黄灯D2发亮,水泵停止加水,蜂鸣器报警。原理图如下图4-4:图6 声光报警电路4 软件程序设计4.1 系统主程序流程图系统主程序的功能主要是完成对单片机的初始化,设置警戒液位的上下限,实时显示液位值以及按键扫描等工作。主程序流程图如图4-1所示。开始CPU初始化参数设定是否有按键采样子程序显示实时液位数据处理子程序控制电机启停按键处理是否图7 系统主程序流程图4.2 编写C程序根据系统主程序流程图,在keil C51中编写相应程序,并检索

10、、编译。查找编写程序中的错误,并改正,最终得到正确的程序。并生成HEX文件。在仿真调试时使用。编写的C程序见附录2.五、元件清单表1 元件清单元件序号型号主要参数元件序号型号主要参数R1金属膜,0.25w10KQ1NPNPN2222C1CAP20pFLS1SPEAKER1VC2CAP20pFD1LED-RED2VC3CAP-ELEC10uFD2LED-YELLOW2VX1CRYSTALMMOTOR12V显示器7SEG-MPX2DSW1DIPSW-8六、硬件制作与调试 根据系统结构图与原件清单,设计电路图,在proteus软件里绘制电路图,并进行仿真调试检测程序及电路图中的错误,最终得到正确的电

11、路图。调试成功后电路运行情况:单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。按下低水位按钮时,在LED 显示器上显示“0”, 低水位报警,低水位报警指示灯红灯亮,蜂鸣器响,电机工作给水塔加水;按下水位1 按钮时,显示水位为“1 ”, 低水位报警指示灯红灯灭,电机工作给水塔加水;按下水位2 按钮时,显示水位为“2 ”;按下水位3 按钮时,显示水位为“3 ”;按下水位4 按钮时,显示水位为“4”,水塔控制工作正常运行;按下水位7 按钮时,显示水位为“7”,高水位报警,黄灯亮,蜂鸣器响,电机停止工作。总体电路图见附录一。七、设计总结该自动系统才用自带存

12、储空间的8051单片机芯片,造型袖珍,线路简单,运行效率高。与外部的联系小,减少了外部干扰对系统的运行影响,具有很好的稳定性。在内部干扰中,由于所有运算都有单片机芯片内部自己完成,减少了数据传输损耗的可能性,对数据的运算传输可靠性高。作为一名电器的大二学生,在即将就业之际,通过做这次课程设计是很有意义的。在做这次课程设计的过程中,为了让自己的设计更加完善,我感触最深的当属查阅大量的设计资料。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:proteus仿真、C语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的

13、又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。八、参考文献1陈海宴. 51单片机原理及其应用.

14、 北京:北京航空航天大学出版社, 2010.32何希才. 传感器及其应用实例. 北京:机械工业出版社, 2004.93李广弟. 单片机基础. 北京:北京航空航天大学出版社, 2007.64周澜景. 基于proteus电路及单片机系统设计与仿真. 北京:北京航空航天大学出版社 2006.55童诗白. 数字电子技术. 北京:高等教育出版社,2001.66百度网站. 7电子芯片质料网. 附录1 总体电路附录2 系统总程序#include#define uint unsigned int#define uchar unsigned charuchar code shuzu=0xc0,0xf9,0xa4

15、,0xb0,0x99,0x92,0x82,0xf8,0x80;uint n,m;/*延时程序*void delay()uint i,j;for(i=0;i12;i+)for(j=0;j120;j+);sbit k7=P17;sbit k6=P16;sbit k5=P15;sbit k4=P14;sbit k3=P13;sbit k2=P12;sbit k1=P11;sbit k0=P10;sbit dj=P30;sbit fmq=P31;sbit led1=P32;sbit led2=P33;/*主程序* void main() led1=0;led2=0;while(1) if(k6=1)dj=1;if(k7=0)n=0;if(k6=0)n=1;if(k5=0)n=2;if(k4=0)n=3;if(k3=0)n=4;if(k2=0)n=5;if(k1=0)n=6;if(k0=0) n=7;dj=0;P0=shuzun;if(k7=1) for(m=0;m10;m+) delay(); fmq=fmq; led1=led1; if(k0=0) for(m=0;m10;m+) delay(); fmq=fmq; led2=led2;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号