《水塔水位控制课程设计.doc》由会员分享,可在线阅读,更多相关《水塔水位控制课程设计.doc(10页珍藏版)》请在三一办公上搜索。
1、 机械与车辆学院单片机课程设计实习报告(2011-2012学年第一学期)设计题目:水塔水位控制姓 名:严文韬学 号:090404041023班 级:09机械电子工程4班指导老师:王思卓设计时间:2011年11月28日2011年12月16日单片机课程设计考查评分表姓名严文韬学号090404041023班级09机械电子工程4班设计题目水塔水位控制考 查 项 目平时表现 (20)1、出勤率: 全勤 缺勤较少 缺勤较多 全缺2、进度: 较快 正常 较慢 没有按时完成硬件制作(20)布局焊接: 合理 较合理 基本合理 错误较多 原则性错误软件编程(20)1、程序编写框架:合理 较合理 基本合理 错误较多
2、 原则性错误2、程序编写过程:正确 较正确 基本正确 错漏较多功能调试 (10)系统调试结果:实现 基本实现 不能实现设计报告(15)1、硬件设计: 合理 较合理 基本合理 不合理2、软件设计: 合理 较合理 基本合理 不合理3、联调结果: 正确 较正确 基本正确 错漏较多4、过程体会: 属实 较属实 基本属实 不属实答辩(15)思路清晰,内容正确 思路较清晰,内容较正确 思路基本清晰,内容基本正确 思路较混乱,内容错漏较多总评优秀 良好 中等 及格 不及格指导教师: 2011 年 月 日目录一、课程设计的目的二、课程设计用的仪器和器件三、课程设计的具体内容1、总体报告 2、硬件设计 3、软件
3、流程和程序4、调试结果四、课程设计的体会和发生的问题五、参考文献一、课程设计的目的单片机原理及接口技术课程设计是单片机原理及接口技术课程与实验结束后的一门综合性实践课。课程设计所选题目水塔水位控制紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度,能充分发挥学生的能动性和想象力。通过电路设计、安装、调试等一系列环节的实施,提高学生的计算机控制应用系统的设计能力。二、课程设计用的仪器和器件1、塑料桶 一个(25-30cm) 2、塑料尺30cm 一个 3、微型水泵 一个 4、塑料管 2米 5、光电耦合器4N25 一个 6、12V微型继电器(TWTMP-53) 一个
4、 7、电路板(6*4cm)一块 8、薄铜片2cm*10cm *0.5mm 一块 9、其它:导线2米、二极管一个、PNP三极管一个、4.7K电阻 2个、300电阻2个,12针排针 1片。 10、电烙铁、焊锡、钳子、剪刀若干(各组共用)。三、课程设计的具体内容1、总体报告 水塔水位控制原理图见图,两条虚线表示正常工作情况下水位升降的上下限,在正常供水时,水位应控制在两条虚线代表的水位之间。B测量水位下限,C测量水位上限,A接+5V,B、C接单片机P1.0,P1.1并经电阻R接地。(1)在水塔无水或水位低于下限水位时,B、C为断开,B、C两点电位为零(低电平“0” ),需要水泵供水,单片机输出信号,
5、控制电机工作供水。(2)水位上升到B点,B接通,B点电位变为高电平“1”,C开关仍断开,C点仍为低电平,应维持现状水泵继续供水。(3)当水位上升到C点时,C接通。这时B、C均接通,B、C两点都为高电平,表示水塔水位已满,需水泵停止供水,单片机输出信号,控制电机断电停止供水。(4)由于供水使水塔水位开始下降,水位在降到B点之前,B点电位为高、C点电位为低,应维持供水状态不变。(5)当水位降到下限B点以下,B、C两点电平都为低时,单片机输出控制,回到(1)状态,使电机启动水泵供水。(6)供水系统出现故障时,自动报警。2、硬件设计(1)用80C51设计一个单片机最小控制系统。其中P1.0接水位下限传
6、感器,P1.1接水位上限传感器,P1.2输出经反相器后接光电耦合器,通过继电器控制水泵工作,P1.3输出经反相器后接LED,当出现故障时LED闪烁;P1.4输出经反相器后接蜂鸣器,当出现故障时报警。(2)用塑料尺、导线等设计一个水塔水位传感器。其中A电级置于水位10CM处,接5V电源的正极,B级置于水位15CM处,经4.7K下拉电阻接单片机的P1.0口,C电级置于水位的20CM处,经4.7K下拉电阻接单片机的P1.1口。(3)设计一个单片机至水泵的控制电路。要求单片机与水泵之间用反相器、光电耦合器和继电器控制,计算出LED限流电阻,接好继电器的续流二极管。Protel硬件原理图3、软件流程和程
7、序(1)根据功能要求画出控制程序流程图。(2)根据控制程序流程图编写80C51汇编语言或C51程序。#include/包含头文件sbit P1_0=P10;/定义各端口位置sbit P1_1=P11;sbit P1_2=P12;sbit P3_2=P32;sbit P3_3=P33;void delay1s();/定义延时1秒函数程序void delay1s()/编译延时1秒函数程序unsigned char i;for(i=0;i0x14;i+)TH1=0x3c;TL1=0xb0;TR1=1;while(!TF1);TF1=0;void main()/主程序while(1)if (P1_0=
8、0) if (P1_1=0)P1_2=0;P3_2=0;P3_3=0;delay1s();/调用延时1秒函数else P1_2=1;P3_2=0;P3_3=0;delay1s();/调用延时1秒函数if (P1_1=1)P1_2=1;P3_2=0;P3_3=0;elsedelay1s();/调用延时1秒函数if (P1_0=0)&(P1_1=1)/警报情况P3_2=1;/警报LED灯亮P3_3=1;/蜂鸣器响起4、调试结果1、首先在Kerl-uVision上单步调试,观察累加器寄存器存储器的运行之间能够正常运作(能够进行电机的启动,运作,停止等操作)。2、然后将程序下载到仿真仪上,进行模拟仿真
9、,检查程序工作是正常(P1.0端口和P1.1端口能控制P1.2端口)3、最后将模拟水塔、传感器、控制电路和水泵联成一个完整的系统,进行整机调试,观察系统工作,电机无法正常工作,电机能运作,但不受控制,组员的的其他电板也没法使系统正常运作,我们拿电表测试,找寻电板是否是焊接的问题,最终我们认为是电路板设计。四、课程设计的体会和发生的问题通过这次实习,我初步的了解基本的单片机原理及接口技术课程设计相关知识,首先在焊接时,我学习到基础的焊接技术,虽然是很基本的一门技术,但里面有很大的学问,我们焊接是要注意的事项很多,首先焊接是一定要注意人身安全,在焊接继电器和光耦那一部分尤为注意,一不小心就会出现问
10、题,使整个系统不能正常运作,所以焊接后要用电表测试一下各部件是否焊好,电路是否导通,还有千万要留意电线不能裸露,否则会很危险。如果电线整体外露,会使系统处在一个很不稳定的状态。绘制电路图,电路仿真那几方面没多大问题,能够达到预期效果。按照程序编写框架编写程序也正常,调试的结果也可以,P1.0端口和P1.1端口能控制P1.2端口,但当接入自己的电路板时电机不太能正常工作,后来再用老师的电路板测试,电机能正常运作且受控制,这说明了自己编写程序是没问题的,出错的是自己焊接的电路板,初步推测是电路中电阻过大,然后在三极管后并联一个电阻以减少电路中整体电阻,但情况并没有多大的改善,最后在老师的提示和参考,调整了电路板中器件位置,把三极管接到光耦后面,目的是减少整体电路的电阻,以达到驱动电动机的效果,经这样调整后电动机能够运行起来,但不太稳定。水塔水位课程设计出来的成品虽然还有待提高改善,但总体运行操作正常,除了电机一点点问题外,其他一切良好。参考文献单片机原理及接口技术课程设计大纲和时间安排单片机原理及接口技术课程设计任务书