ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:187.19KB ,
资源ID:5759250      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5759250.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(液位监测系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

液位监测系统.docx

1、液位监测系统题目:液位监测系统 液位监测系统一、设计目的. 采用单片机、ADC0809、压力变送器为主要器件,设计水深检测系统;. 通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机课程的应用进一步的了解;. 掌握定时器、外部中断的设置和编程原理;. 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。二、设计要求1.压力变送器输出为4-20mA电流信号,通过转换电路把其转换为电压信号;2.处理模拟信号并显示其实际水的深度数值。三、设计器材器件个数器件个数STC89C521晶振(12M)1ADC0809122uf电容1直流电机11K电阻19012型三极管410K电阻1开关

2、110电阻14位数码管1470电阻1底座2液位变送器1四、设计方案及分析. 单片机最小系统电路单片机最小系统电路如图1所示,由主控器STC89C52、时钟电路和复位电路三部分组成。单片机STC89C52作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。图1 单片机最小系统. 时钟电路STC89C52 单片机芯片内部设有一个由反向放大器所构成的振荡器。19脚(XTAL1)为振荡器反相放大器和内部时钟发生电路的输入端,18脚(XTAL2)为振荡器反相放大器的输出端。在XTAL1和XTAL2引脚上外接定时元器件,内部振荡电

3、路就会产生自激振荡。本系统采用的定时元器件为石英晶体(晶振)和电容组成的并联谐振回路。晶振频率为12MHz,电容大小为33pF,时钟电路如图所示。图2 时钟电路(晶振). 复位电路STC89C52的复位是由外部的复位电路来实现的,复位电路通常采用上电复位和按钮复位两种方式,本设计采用的是最按钮复位电路,其电路图如图所示。图3 复位电路4数码管显示电路LED又称为数码管,它主要由8段发光二极管组成的不同组合,可以显示ag为数字和字符显示段,h段为小数点显示,通过ag为7个发光段的不同组合,可以显示09和AF共16个数字和字母。LED可以分为共阴极和共阳极两种结构。共阳极结构即把8个发光二极管阳极

4、连在一起。这种装入数码管中显示字形的数据称字形码,又称段选码。本设计用到的是LED显示器静态显示方式,其电路如图所示是发光二极管显示器(LED)的结构、工作原理及接口电路。图4 数码管电路五、问题分析与解决方法 问题1. 连接硬件电路时错将NPN三极管当作了PNP。问题2. 数码管显示太亮。问题3 刚连接好电路时数码管显示灯不亮,原因是接入的保护电阻本来是10而我们接的是10K的电阻,换了电阻后数码管就亮了。六、设计结果1.方案图2.总体电路原理图3.软件流程图4.软件设计 #include typedef unsigned char uint8;typedef unsigned int ui

5、nt16;typedef unsigned long uint32;uint8 a5;uint8 j=0;sbit eoc=P31;sbit oe=P30;sbit st=P32;sbit ADDR0=P20;sbit ADDR1=P21;sbit ADDR2=P22;sbit ADDR3=P23;sbit clock=P24;bit flag=0;code uint8 table=0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90;void delay() /延时子函数 uint8 i,K; for(i=1;i0;i-) for(K=10;

6、K0;K-);void diplay() switch(j) case 0: ADDR0=1;ADDR1=1;ADDR2=1;ADDR3=0; j+; P0=tablea0;delay(); /显示第一位数码管 break; case 1: ADDR0=1;ADDR1=1;ADDR2=0;ADDR3=1; j+; /显示第二位 P0=tablea1;delay(); break; case 2: ADDR0=1;ADDR1=0;ADDR2=1;ADDR3=1; j+; P0=tablea2;delay(); /显示第三位 break; case 3: ADDR0=0;ADDR1=1;ADDR2

7、=1;ADDR3=1; j+; P0=tablea3;delay(); /显示第四位 break; case 4: ADDR0=0;ADDR1=0;ADDR2=0;ADDR3=0; j=0; P0=tablea4;delay(); /显示第四位 break; default:break; void timer0() interrupt 1 flag=flag; clock=flag; main() uint16 temp=P1; TMOD=0x02; TL0=0xFF; TH0=0xFF; TR0=1; EA=1; ET0=1; while(1) st=0; /给start一个上升沿脉冲,将内

8、部所有寄存器清零 st=1; st=0; /给start一个下降沿脉冲,开启AD转换 while(!eoc) /转换结束标志 oe=1; /允许输出转换后的数据 temp=P1; /定义temp,用于表示从0809接收的数据 oe=0; a3=temp/1000; /ADC来的数据的各个位 a2=(temp/100)%10; a1=(temp/10)%10; a0=temp%10; diplay(); 七、设计体会与收获历经两个星期的单片机课程实习,我们对Keil软件,Proteus仿真软件更加熟练,对单片机的实际运用有了了解。我们的课程设计题目是液位测量,需要利用C51,以及0809芯片等器

9、件搭成仿真电路,通过改变电阻从而来改变液位,通过显示管显示出结果。通过这次实习,我学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!自我感觉,实习之前我对单片机的实际运用掌握的远远不够,对相关的软件也不是很熟练,对这次的课程设计更是摸不着头脑,不知道从哪下手,软件编程只会写它的一部分,不能将整体连接起来,对于硬件仿真,我也是一头雾水,就这样,我一边学一边做,我们组的组员也都耐心的给我讲解,葛浩给我讲了软件的调试,以及这两个软件的运用,李国强给我

10、分析了程序的功能,让我进一步对每条语句的功能有了更深的理解,在后期的硬件调试中,李欢给我说了我不懂的硬件问题,就这样,通过合作,通过学习,我又学到了很多东西。在后期的焊板子的过程中,这项看起来不需要多少技术的工作却是非常需要耐心和精力在两个星期后的今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结。 作为一名自动化专业的学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如

11、何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。同时,课程实习中的提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要

12、意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。每个小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的,在以后的学习工作中,我会积极锻炼自己的这种能力,让自己做的更好! 通过这次课程设计,我不仅仅是在知识上有丰富的收获,在团队合作上有更大的丰富经验。老师在我们团队分工上指出了很多。在实验中参考了一些书籍,但是设计和实际有很大的差距。最突出的是:设计好的电路,在模拟仿真中能够实现,但在连接实际电路中问题多多;就在四位七段数码管前接地时,我们通过计算估计出需要的电阻值 (8.712.3)欧姆,后来也在模拟实验中也调试了,发现只有在这个区间,四位七段数码管才能正

13、常工作。还有在使用三级管上也有收获,三极管有 npn 和 pnp 两种之分,还有再放大功能上同类的不同型号的放大值不同,通过实验法测得只有型号为9012的三极管符合要求。但是实际电路问题还有的,我用万用表测得有个功能管角也存在设置问题,后来查看程序发现初始化设置不完整,缺少高低电平的初始化。经过我们反复检查模拟电路和程序已经能很好的运行,实际电路还是有误差,这可能是实际电路中有的电阻值过大或电路中功率过大导致的。这次是课程设计我们从中的受益匪浅。本次历经两周的课程设计,我们做的是液位检测系统的设计,其中包括相关资料的查找,资料的整理,然后是电路仿真,硬件电路的焊接,C51程序的编写,调试等,本

14、次实验我主要负责硬件电路的焊接及写实验报告的工作,以前我对仿真软件protus不太熟悉,本次实验通过其他组员用该软件仿真我也对该软件的基本功能有了比较深得了解,在实验中也遇到许多问题,比如把保护电阻阻值接的太大导致数码管不亮,还有在连硬件电路时由于前几天做的比较慢所以连的比较粗心,错把NPN当作PNP连到了电路中导致显示结果与仿真结果不符合。虽然最后还是没能达到和仿真结果一样的结果但在实验中我学会了解决基本问题的能力;做什么事都应该认真的去做,这是走向社会也很实用的东西。通过这两个星期的课程设计,我们组主要做液位监测系统,我主要负责电路的设计、仿真、程序的调试。在电路的仿真中我学会了protu

15、es这个软件,它能仿真很多电路,只要能在它上面实现的电路,在实际电路中都能实现,只要哪里有错,我们直接在那上面改错既可以了,这样就节省了很多的器材。对于这个软件,我现在已经能很好的运用了。在程序的调试中,我们找了很多文献和资料,通过这学期对单片机的学习,我们已经能较好的掌握它,在实际中应用它,调试程序的keil软件我现在也已经能很好的应用它了。在电路的仿真中我发现了接数码管的限流电阻是有一定的限制范围的,值为(8.4-11.6)欧姆。还有我们在实际操作中也遇到了很多的问题。但总体而言,这次课程设计是我学会了很多东西,也学到了以后在工作单位中一定要讲究效率与工作业绩。八、参考文献1 彭介华编.电子技术课程设计指导M.北京:高等教育出版社,19972 张建华主编.数字电子技术M.第2版.北京:机械工业出版社,20003 常健生主编.检测与转换技术M.第3版.北京:机械工业出版社,20034 张毅刚主编.单片机原理及应用M.北京:高等教育出版社,20035 欧阳文主编.ATMEL89系列单片机的原理与开发实践M.北京:中国电力出版社,20076 李全利主编.单片机原理及技术-2版,高等教育出版社,2009.1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1