欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    基于AT89S52的压力测控系统设计.docx

    • 资源ID:9921221       资源大小:293KB        全文页数:11页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于AT89S52的压力测控系统设计.docx

    东北大学秦皇岛分校自动化工程系 过程控制系统 课程设计 设计题目:单片机压力测控系统设计 学生姓名:童思普专 业:测控技术与仪器班级学号:5080820指导教师:王军伟设计时间:2010.6.27-2010.7.9目录一、设计题目与设计任务11.设计题目:单片机压力测控系统设计12.设计任务1二、前言1三、主体设计11、系统设计12、系统框图23、设计思路24、压力传感器和A/D转换芯片选择3(1)压力传感器1210030 G3 S3(2)AD模数转换芯片ADC08094四、参考文献5五、结束语5六、完整程序5七、仿真结果8一、设计题目与设计任务1.设计题目:单片机压力测控系统设计 2.设计任务1、本设计是微机控制的制氧机压力测控系统。单片机系统通过压力传感器和检测比较器测得气缸内压力达到某一上限值(176 kPa)和下限值(64 kPa)时,单片机系统控制执行相应的动作(达到上限值时打开放气阀放气,达到下限值关闭放气阀进行充气)。如此反复循环,不断将氧气提供给需氧者。在此过程中若充气或放气10 s仍达不到设定值(176 kPa和64 kPa)则进行光报警。2、写出压力测量过程,绘制压力控制系统结构图。3、(1)系统硬件电路设计。 单片机采用89S52;选择适合上述测量范围的压力传感器,设计数据采集及信号调理电路,设计键盘显示电路及报警电路。 (2)编制压力测量程序。 二、前言 本设计为基于AT89S52单片机的气缸压力测量与控制系统,压力传感器选择1210030G3S,能够在0207kPa范围内有效测量气缸供氧系统的压力,并进行实时压力(LED)显示。单片机控制部分实现当压力超出上限值176kPa时,放气阀打开进行放气,当压力低于下限值64kPa时,放气阀关闭,气缸充气;压力在正常范围(64176kPa)时,压力改变不影响放气阀的状态。报警功能实现当压力超出设定的压力范围(64176kPa)10S时,发光二极管点亮进行报警。关键词:AT89S52单片机、1210030G3S型压力传感器、LED显示、报警。三、主体设计1、系统设计考虑到过程控制系统的一般组成及本次设计的任务要求,本设计主要由以下几部分组成:被控对象(气缸及附带的进气阀和放气阀)、压力传感器FT、A/D转换(ADC0808)、AT89S52单片机、LED显示、报警电路和放气阀驱动电路。2、系统框图基于AT89S52的压力测控系统3、设计思路 压力传感器(1210030G3S)测量气缸中的压力(0207kPa)输出电流信号(75150mA),经A/D模数转换(结果为0000000011111111即0255)后给单片机,单片机进行算法处理将传感器的输出信号和测量的压力对应起来并实时显示在LED上,当所测压力大于176kPa时,放气阀打开进行放气,当所测压力小于64kPa时,放气阀关闭,进气阀给气缸充气。此过程中若放气或充气10S任没达到正常的压力范围则进行1S报警。当然A/D转换的启停、压力大小的判断、10S延时都由单片机来控制。4、压力传感器和A/D转换芯片选择(1)压力传感器1210030 G3 S 网上查找了很多压力传感器,其中较为典型常用的是上海名动公司生产的MDPS系列和MDGA高精度绝压传感器,但是由于二者都不适合本次课程设计的压力范围(0200kPa),最终选择1210030G3S压力传感器,它的测压范围为30*6.895=207kPa,输出电流范围是75150mA,性能参数如下:典型应用电路如下:设计仿真时由于PROTEUS中没有传感器,因此用一个范围为75150分压电路代替传感器的输出电流,使的仿真得以进行。(2)AD模数转换芯片ADC0809ADC0809是目前广泛使用的逐位逼近型8位单片A/D转换芯片,片内含8 路模拟开关,可允许8路模拟量输入。主要由3部分组成:模拟输入选择部分、转换器部分、输出部分。ADC0809芯片为28引脚为双列直插式封装,ADC0809主要信号引脚功能说明如下:IN7IN0八路模拟量输入通道。ALE地址锁存允许信号。START转换启动信号。START=1转换启动。A、B、C地址线、 通道端口选择线。CLK时钟信号。ADC0809要求外接时钟频率为10kHz1.2MHz。通常使用频率为500KHz的时钟信号。EOC转换结束信号。EOC=1,转换结束。D7D0数据输出线。OE输出允许信号。OE=1,输出转换得到的数据。Vcc +5V电源。Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V)。ADC0809与MCS-51单片机的连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。转换数据的传送有定时传送方式、查询方式、中断方式这三种方式。A、B、C的值与被选择的通道之间的关系如下表11所示:表11 通道选择表 实际画图时由于PROTEUS中没有ADC0809,因此用ADC0808代替。ADC0808和ADC0809的使用接发相同,只是ADC0809的转换误差为1位,ADC0808为5位而已。四、参考文献1. 51单片机原理及应用基于Keil C与Proteus陈海宴 北京航空航天大学出版社。2. 单片机原理与接口技术第二版 马淑华等 北京邮电大学出版社。3. 微型计算机原理与接口技术第二版 冯博琴 吴宁 清华大学出版社。五、结束语 本次课程设计历时一周,除键盘电路外基本完成了所要求的设计任务。设计过程中参考了陈海宴老师编著的51单片机原理及应用基于Keil C与Proteus一书中数字电压表的设计。本设计的难点在于:考虑到现场传感器的气体压力测量与传感器输出是实时进行的,因此ADC0808的模数转换必须时刻进行,至少两次转换之间的时间间隔不能太长。但是如果一次转换完成后立即进行下一次转换,则对应的转换子程序就是一个死循环,这样的话就不能进行报警,因为无法取出10S之后的转换数据。考虑到这个问题之后再转换之程序中做一个0.1S的延时,这样每次转换大约耗时0.1S,转换子程序进行多少次转换通过主程序来控制,这样调用转换子程序100次之后就可以得到10S以后的转换结果,将转换结果和压力上下限比较以后就可以决定是否进行报警了。当然,这样做的局限是使得LED的显示不那么连续了。因此,进一步想办法解决这个问题是我们以后应该继续做的。 设计过程中老师和同学给了我很多支持和帮助,这里一并致谢!六、完整程序#include<reg51.h>#define uint unsigned int#define uchar unsigned charuchar code table=0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e;/七段共阴数码管编码表sbit START=P30;sbit EOC=P31; sbit OE=P32;sbit ONOFF=P33; /控制放气门开或关sbit ALARM=P34; /报警显示void delay(uint m) /LED显示延时子程序 while(m-);delay1(uint c) /循环间隔延时C毫秒子程序 uchar a,b; for( ;c>0;c-) for(b=142;b>0;b-) for(a=2;a>0;a-);void fun1(uint i) /AD转换及数据处理子程序 uint P; extern uint PP; /定义全局变量PP START=1; START=0; while(i>0) /fun1只执行i次 if(i>0) OE=1; /转换结束输出使能 P=P0; /AD转换结果赋给P P=P*1.0/255*207; /完成75150mA到0207kPa的转换 OE=0; /停止输出 P2=0xfe; /个位位选 P1=tableP%10; /个位段选 delay(500); /个位显示延时约1ms P2=0xfd; /十位位选 P1=tableP/10%10; /十位段选 delay(500); /十位显示延时约1ms P2=0xfb; /百位位选 P1=tableP/100%10; /百位段选 delay(500); /百位显示延时约1ms if(P>176)ONOFF=1; /打开放气阀 if(P<64)ONOFF=0; /打开放气阀 i=i-1; delay1(100); /每次转换后延时100ms(0.1s) START=1; /启动下一次转换 START=0; void main() /主程序 ONOFF=0; /初始时放气阀关闭 START=0; /初始时不进行AD转换 ALARM=0; /初始时不报警 OE=0; while(1) /死循环 fun1(1); /调用一次转换子程序 PP=P; /转换处理结果(压力值)给PP if(PP>176|PP<64) /判断压力是否超限 fun1(100); /压力超限则调用转换子程序100次,用时约0.1*100=10s PP=P; if(PP>176) /10s后压力任超出上限则进行报警 ALARM=1; delay1(1000); /报警显示延时1s if(PP<64) /10s后压力任超出下限则进行报警 ALARM=1; delay1(1000); /报警显示延时1s if(64<PP<176) /10s后压力正常则不进行报警 ALARM=0; delay1(1000); else if(64<PP<176)ALARM=0; /10s后压力正常则不报警 七、仿真结果正常压力范围,放气阀关闭压力超出上限,放气阀打开压力超出上限10S后仍未恢复正常报警9

    注意事项

    本文(基于AT89S52的压力测控系统设计.docx)为本站会员(rrsccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开