《单片机课程设计》报告_第1页
《单片机课程设计》报告_第2页
《单片机课程设计》报告_第3页
《单片机课程设计》报告_第4页
《单片机课程设计》报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 机械与车辆学院单片机课程设计报告(2013-2014学年第一学期) 课程设计题目: 水塔水位控制系统姓名: 学号: 班级: 指导老师: 职称: 时间: 成绩: 单片机课程设计考查评分表姓名学号班级 设计题目水塔水位控制考 查 项 目平时表现 (20)1、出勤率: 全勤 缺勤较少 缺勤较多 全缺2、进度: 较快 正常 较慢 没有按时完成硬件制作(20)布局焊接: 合理 较合理 基本合理 错误较多 原则性错误软件编程(20)1、程序编写框架:合理 较合理 基本合理 错误较多 原则性错误2、程序编写过程:正确 较正确 基本正确 错漏较多功能调试 (10)系统调试结果:实现 基本实现 不能实现设计报

2、告(15)1、硬件设计: 合理 较合理 基本合理 不合理2、软件设计: 合理 较合理 基本合理 不合理3、联调结果: 正确 较正确 基本正确 错漏较多4、过程体会: 属实 较属实 基本属实 不属实答辩(15)思路清晰,内容正确 思路较清晰,内容较正确 思路基本清晰,内容基本正确 思路较混乱,内容错漏较多总评优秀 良好 中等 及格 不及格指导教师: 吴明友 2014 年 1 月 3 日目录一、课程设计性质和目的3二、课程设计的内容及要求41、硬件设计42、软件设计43、功能要求:4三、课程设计的进度及安排5四、设计所需设备及材料5五、设计思路及原理分析6六、流程图及程序编写7(1)根据功能要求画

3、出控制程序流程图。8(2)根据控制程序流程图编写C51程序8七、调试运行101、软件测试:102、硬件测试:11八、结果及分析12九、心得体会13十、参考文献14十一、致谢14十二、附录15【1】整流器protel防真原理图:15【2】数字时钟16一、课程设计性质和目的单片机课程设计是单片机原理与接口技术课程与实验结束后的一门综合性实践课。设计一种基于单片机水塔水位检测控制系统。该系统能实现水位检测、电机故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus软件仿真。所选题目水塔水位控制紧密结合所学的主

4、要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度,能充分发挥学生的能动性和想象力。通过电路设计、安装、调试等一系列环节的实施,提高学生的单片机应用系统的设计能力。相信本次的设计一定能够给老百姓的生活带来方便,也一定会具有广阔的市场前景,一定能够使我们电子设计能力得到很好的锻炼,使我们的理论和现实生活联系起来!二、课程设计的内容及要求1、硬件设计 (1)用80C51设计一个单片机最小控制系统。其中P1.0接水位下限传感器,P1.1接水位上限传感器,P1.2输出经三极管和电阻后接光电耦合器,通过继电器控制水泵,P1.3输出接LED,当出现故障时LED闪烁;当出现故障时报警。(2

5、)用塑料尺、导线等设计一个水塔水位传感器。其中A电级置于水位10CM处,接5V电源的正极,B级置于水位15CM处,经4.7K下拉电阻接单片机的P1.0口,C电级置于水位的20CM处,经4.7K下拉电阻接单片机的P1.2口。(3)设计一个单片机至水泵的控制电路。要求单片机与水泵之间用反相器、光电耦合器和继电器控制,计算出LED限流电阻,接好继电器的续流二极管。 2、软件设计(1)根据功能要求画出控制程序流程图。 (2)根据控制程序流程图编写C51程序 3、功能要求: (1)水塔水位下降至下限水位时,启动水泵,水塔水位上升至上限水位则关闭水泵。 (2)水塔水位在上、下限水位之间时,水泵保持原状态。

6、(3)供水系统出现故障时,自动报警。表1 水塔水位信号状态表C(P1.1)B(P1.0)操作00电机运转01维持原状10故障报警11电机停转三、课程设计的进度及安排序号项              目时   间1布置课程设计任务、讲授焊接基本知识1天2水塔水位控制总体方案设计、仿真器使用1天3硬件设计和制作1天4硬件制作和调试1天5Protel99的使用1天6软件设计和软件调试1天7综合调试1天8整体调试1天9检测验收、写课程设计报告1天10答辩

7、1天四、设计所需设备及材料元件名 原理图 工作原理个数继电器线圈由电流产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁从而带动衔铁的动触点与静触点(常开触点)吸合。继电器一般有两股电路,为低压控制电路和高压工作电路。1光电藕合器光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。光耦的第1引脚接三极管的集电极,第5引脚接继电器,第2和第4引脚接地,第3和第6引脚悬空1PNP 三极管三极管是一种电流放大器件,但在实际使用中常常利用三极

8、管的电流放大作用,通过电阻转变为电压放大作用。基极接P1.2口,发射机接+5V电源,集电极接光耦第1引脚。1二极管单向导通,保护继电器;1电阻100欧5电阻47k2五、设计思路及原理分析水塔水位控制原理图见图1,图中两条虚线表示正常工作情况下水位升降的上下限,在正常供水时,水位应控制在两条虚线代表的水位之间。B测量水位下限,C测量水位上限,A接+5V,B、C接地。图1 水塔水位检测原理图 水塔无水或水位低于下限水位时,B、C为断开,B、C两点电位为零(低电平“0” ),需要水泵供水,单片机输出低电平,控制电机工作供水。水位上升到B点,B接通,B点电位变为高电平“1”,C开关仍断开,C点仍为低电

9、平,维持现状水泵继续供水。当水位上升到C点时,C接通。这时B、C均接通,B、C两点都为高电平,表示水塔水位已满,需水泵停止供水,单片机输出高电平,电机断电停止供水。水塔水位开始下降,水位在降到B点之前,B点电位为高、C点电位为低,单片机输出控制电平维持不变,仍为高。当水位降到B点以下,B、C两点电平都为低时,单片机输出控制电平又变低,水泵供水。六、流程图及程序编写(1)根据功能要求画出控制程序流程图。(2)根据控制程序流程图编写C51程序#include<reg51.h>sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;sbit P1_3=P13;

10、sbit P1_4=P14;void delay0_2s()unsigned char i;TMOD=0x01;for(i=0;i<4;i+)TH1=0x3C;TL1=0xB0;TR1=1;while(!TF1);TF1=0;void delay_1s()unsigned char i;for(i=0;i<5;i+)delay0_2s();void main()P1=0xf0;while(1)P1_3=0;if(P1_0=0)/Bif(P1_1=0)/CP1_2=0;delay_1s();elseP1_2=1;/电机P1_3=1;delay0_2s();P1_4=1;delay_1

11、s();elseif(P1_1=1)/CP1_2=1;delay_1s();elsedelay_1s();七、调试运行1、软件测试:运用Protul软件进行仿真检验。在元件库中找到所需要的元器件,把它们按照原理图的构想依次连接起来,反复检查线路会不会出错。待画完图,就可以开始仿真电路图了。给单片机导入预先编程好的程序“.hex”文件,点击仿真。仿真图可以运行,但是电机在B,C都为低电平的情况下没有运转。说明电路有部分地方短路或者断路了,观察仿真图中的电位情况也许可以找到问题的所在。经过多次的检查发现,各点的电位并没有像想象中的那样有什么不妥。现在就要搞清楚仿真中的元器件的所有主要参数是否和实际

12、的参数相符合。查看资料,对于继电器,它本身的线圈电阻是在400欧左右,在查看仿真中的元器件的参数,不难发现原始数据和实际相差很大,它给的是理想线圈,也就是没有内阻。这样就如预期的那样找到电机不转的原因了。原始数据没有进行改变;查找资料,得知光电耦合器的发光二极管的压降为1.151.5v,最大电流为60mA,电流传输比CTR为2070%。通过已知的条件求出每条线路上所需要的电阻大小。对各各元器件的初参数设置完毕,启动仿真,整体像想象中的那样正常工作!软件仿真结束,仿真图里的数值引用到实际电路的焊接中。2、硬件测试:焊接完整体的板件,开始测试板子电路是否能够完成所需要的功能。应为电路的原版是根据仿

13、真电路出来的,所以不一定能够一次性就完成设计。 对于板子上的器件来说,有两个是特别容易烧掉的,PNP三极管和4N25光电耦合器。因为它们的工作电压较低和工作电流很小,所以要特别的注意。虽然已经给了足够的保护还是不能太掉以轻心要是烧了就没有其他器件可以换了。首先,测试光电耦左边能否正常工作。把三极管的B极接于低电平,给予E极高电平,测试两管脚之间的电压降是多少。经测试三极管正常工作,可是光电耦合器的1,2管脚的电压异常偏高。断去电源,用万用表的测试端测试1,2管脚是否击穿,发现并没有完全短路,有可能是封装的时候没有装好。其次,测试光电耦合器右端是否能正常工作。给继电器加上12v的电压, 用导线短

14、接光电耦合器的4,5号管脚,继电器能发出啪啪声,也就是说明光电耦合器右端能够正常工作。再次,对整块板进行调试。给光电耦合器两边电路都通上电,给三极管的B端输入一个低电平,继电器不工作。说明光电耦合器无法工作。应当更换光电耦合器;换完光电耦合器后的检测。换完光电耦合器后进行整块板子的调试,给三极管B极一个低电平继电器能够工作。插到单片机上给一个周期性的低电平,继电器能够周期性的发出啪啪声,整体调试通过八、结果及分析调试:将光耦的第二引脚和第四引脚接地,PNP三极管的发射极接+5V电源。然后分别用光耦的第五引脚和+12V电源线接继电器的线圈两端,稍停片刻后,若能听到吧嗒一声,则证明光耦、继电器能够

15、正常工作,然后进行接铜片,用开发板防真,进行水泵实验,电路能够实现表一的真值表功能。硬件电路如下:九、心得体会结束为期两周的单片机课程设计,让我加深了对单片机的理解,由单片机控制系统可以应用到生活中的很多地方,解决生活中的一些简单的用电子控制的问题,使我意识到了单片机的重要性,两周以来,我们分别进行了课程设计的硬件部分的电路焊接和软件部分的电路图的设计和原理图的设计和制作,无论是硬件电路的焊接和软件的设计和仿真都需要我们认真的把每一部分的原理弄懂,并且要把他们连接起来,这个过程,要求我们要很有耐心和认真的心态。由于以前对单片机的理解不够深刻,使我在单片机课程设计的过程中遇到了很多困难,比如说p

16、rotues的仿真过程中,在调试出问题后,我虚心地请教同学,也得到了同学的热心帮忙,真正让我体会到了虚心使人进步这句话的深刻含义。十、参考文献1 王静霞 主编,单片机应用技术,电子工业出版社,2009.2 徐玮 主编,C51单片机高效入门,机械工业出版社,2006.3 张永枫 主编,单片机应用实训教程,清华大学出版社,20084 李常庆 主编,数字电子技术第三版,机械工业出版社,20085杨素行 主编.模拟电子技术简明教程,高等教育出版社,2010年十一、致谢感谢我们的吴明友老师,组员在这两个星期以来对我的辅导和帮助,在我工作过程中对我的支持和配合。十二、附录【1】整流器protel防真原理图

17、:【2】整流器protel防真波形图:【2】数字时钟#include<reg52.h>#define uchar unsigned char /定义无字符变量#define uint unsigned int/uchar SMG_duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /是数码管的段选位uchar SMG_wei=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; / 是数码管的位选位 sbit k1=P30; /位定义P3.0为启动按钮sbit k2=P31; /位定义P3.1复

18、位按钮sbit k3=P32; /位定义P3.2停止按钮sbit d1=P00; /位定义P0.0为LED灯控制端uint i,second,minute,n,x,b,c,a,flag1,flag2;void delay(uchar i); /延时函数void XSSHIZHONG(); /显示数字时钟void DingShi(); /用于定时分钟函数void delay5ms(); /按键的消抖5msvoid ShiZhong(); /时钟控制函数控制时钟的启动,复位,停止,设定设定的操作void main() TMOD=0x12; / 定时器1工作方式1和定时器0工作方式2 TH1=(65

19、536-50000)/256; / 定时时间为50MS 设初值 TL1=(65536-50000)%256; TR1=0; /开定时器1 EA=1; /开总中断 ET1=1; /开定时器T1允许位 EX1=1; / 开放外部中断0允许位 IT1=1; / 置外部中断为边沿(下降沿)触发方式 P2=0x00; /P2口为段选 P1=0xff; /P1口为位选 while(1) XSSHIZHONG();ShiZhong();void DingShiqing1() interrupt 3 /用定时器1 中断号为3 TH1=(65536-50000)/256; /定时时间为50MS TL1=(655

20、36-50000)%256; / i+; /if(i=2) /100ms到,即0.1秒,即0.1秒加1 i=0; n+; if(n=10)/1000ms时n清零 n=0; second+;if(second=60) / 60秒到时,分钟加1,秒钟清零 second=0; minute+;if(minute=60) / 60分钟到时,分钟清零 minute=0; void weidu1() interrupt 2 /外部中断1 unsigned int z; flag1=1; b=second; c=n; a+; if(a=60) a=0; for(z=0;z<40;z+) DingShi

21、();void delay(uchar i) unsigned char j,k; for(k=0;k<i;k+) for(j=0;j<255;j+);void XSSHIZHONG() P1=SMG_wei6; P2=SMG_duann; /显示时钟的0.1秒位 delay(2); P1=SMG_wei5; P2=0x40; / "-" delay(2); P1=SMG_wei3; P2=SMG_duansecond/10; /显示时钟的秒的十位 delay(2); P1=SMG_wei4; P2=SMG_duansecond%10; / 显示时钟的秒的个位 delay(2); P1=SMG_wei2; P2=0x40; / "-" delay(2); P1=SMG_wei0; P2=SMG_duanminute/10; / 显示时钟的分钟的十位 delay(2); P1=SMG_wei1; P2=SMG_duanminute%10; / 显示时钟的分钟的个位 delay(2); void DingShi() P1=SMG_wei6; P2=0x00; delay(2); P1=SMG_wei5; P2=0x00; delay(2); P1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论