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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

51单片机压力传感器.docx

1、51单片机压力传感器一、设计题目与设计任务1.设计题目:单片机压力测控系统设计 2.设计任务1、本设计是微机控制的制氧机压力测控系统。单片机系统通过压力传感器和检测比较器测得气缸内压力达到某一上限值(176 kPa)和下限值(64 kPa)时,单片机系统控制执行相应的动作(达到上限值时打开放气阀放气,达到下限值关闭放气阀进行充气)。如此反复循环,不断将氧气提供给需氧者。在此过程中若充气或放气10 s仍达不到设定值(176 kPa和64 kPa)则进行光报警。2、写出压力测量过程,绘制压力控制系统结构图。3、(1)系统硬件电路设计。 单片机采用89S52;选择适合上述测量范围的压力传感器,设计数

2、据采集及信号调理电路,设计键盘显示电路及报警电路。 (2)编制压力测量程序。 二、前言 本设计为基于AT89S52单片机的气缸压力测量与控制系统,压力传感器选择1210030G3S,能够在0207kPa范围内有效测量气缸供氧系统的压力,并进行实时压力(LED)显示。单片机控制部分实现当压力超出上限值176kPa时,放气阀打开进行放气,当压力低于下限值64kPa时,放气阀关闭,气缸充气;压力在正常范围(64176kPa)时,压力改变不影响放气阀的状态。报警功能实现当压力超出设定的压力范围(64176kPa)10S时,发光二极管点亮进行报警。关键词:AT89S52单片机、1210030G3S型压力

3、传感器、LED显示、报警。三、主体设计1、系统设计考虑到过程控制系统的一般组成及本次设计的任务要求,本设计主要由以下几部分组成:被控对象(气缸及附带的进气阀和放气阀)、压力传感器FT、A/D转换(ADC0808)、AT89S52单片机、LED显示、报警电路和放气阀驱动电路。2、系统框图基于AT89S52的压力测控系统3、设计思路 压力传感器(1210030G3S)测量气缸中的压力(0207kPa)输出电流信号(75150mA),经A/D模数转换(结果为0000000011111111即0255)后给单片机,单片机进行算法处理将传感器的输出信号和测量的压力对应起来并实时显示在LED上,当所测压力

4、大于176kPa时,放气阀打开进行放气,当所测压力小于64kPa时,放气阀关闭,进气阀给气缸充气。此过程中若放气或充气10S任没达到正常的压力范围则进行1S报警。当然A/D转换的启停、压力大小的判断、10S延时都由单片机来控制。4、压力传感器和A/D转换芯片选择(1)压力传感器1210030 G3 S 网上查找了很多压力传感器,其中较为典型常用的是上海名动公司生产的MDPS系列和MDGA高精度绝压传感器,但是由于二者都不适合本次课程设计的压力范围(0200kPa),最终选择1210030G3S压力传感器,它的测压范围为30*6.895=207kPa,输出电流范围是75150mA,性能参数如下:

5、典型应用电路如下:设计仿真时由于PROTEUS中没有传感器,因此用一个范围为75150分压电路代替传感器的输出电流,使的仿真得以进行。(2)AD模数转换芯片ADC0809ADC0809是目前广泛使用的逐位逼近型8位单片A/D转换芯片,片内含8 路模拟开关,可允许8路模拟量输入。主要由3部分组成:模拟输入选择部分、转换器部分、输出部分。ADC0809芯片为28引脚为双列直插式封装,ADC0809主要信号引脚功能说明如下:IN7IN0八路模拟量输入通道。ALE地址锁存允许信号。START转换启动信号。START=1转换启动。A、B、C地址线、 通道端口选择线。CLK时钟信号。ADC0809要求外接

6、时钟频率为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 通道选择表

7、 实际画图时由于PROTEUS中没有ADC0809,因此用ADC0808代替。ADC0808和ADC0809的使用接发相同,只是ADC0809的转换误差为1位,ADC0808为5位而已。四、参考文献1. 51单片机原理及应用基于Keil C与Proteus陈海宴 北京航空航天大学出版社。2. 单片机原理与接口技术第二版 马淑华等 北京邮电大学出版社。3. 微型计算机原理与接口技术第二版 冯博琴 吴宁 清华大学出版社。五、结束语 本次课程设计历时一周,除键盘电路外基本完成了所要求的设计任务。设计过程中参考了陈海宴老师编著的51单片机原理及应用基于Keil C与Proteus一书中数字电压表的设计

8、。本设计的难点在于:考虑到现场传感器的气体压力测量与传感器输出是实时进行的,因此ADC0808的模数转换必须时刻进行,至少两次转换之间的时间间隔不能太长。但是如果一次转换完成后立即进行下一次转换,则对应的转换子程序就是一个死循环,这样的话就不能进行报警,因为无法取出10S之后的转换数据。考虑到这个问题之后再转换之程序中做一个0.1S的延时,这样每次转换大约耗时0.1S,转换子程序进行多少次转换通过主程序来控制,这样调用转换子程序100次之后就可以得到10S以后的转换结果,将转换结果和压力上下限比较以后就可以决定是否进行报警了。当然,这样做的局限是使得LED的显示不那么连续了。因此,进一步想办法

9、解决这个问题是我们以后应该继续做的。 设计过程中老师和同学给了我很多支持和帮助,这里一并致谢!六、完整程序#include#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; /

10、报警显示void delay(uint m) /LED显示延时子程序 while(m-);delay1(uint c) /循环间隔延时C毫秒子程序 uchar a,b; for( ;c0;c-) for(b=142;b0;b-) for(a=2;a0;a-);void fun1(uint i) /AD转换及数据处理子程序 uint P; extern uint PP; /定义全局变量PP START=1; START=0; while(i0) /fun1只执行i次 if(i0) OE=1; /转换结束输出使能 P=P0; /AD转换结果赋给P P=P*1.0/255*207; /完成75150

11、mA到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(P176)ONOFF=1; /打开放气阀 if(P176|PP176) /10s后压力任超出上限则进行报警 ALARM=1; delay1(1000); /报警显示延时1s if(PP64) /10s后压力任超出下限则进行报警 ALARM=1; delay1(1000); /报警显示延时1s if(64PP176) /10s后压力正常则不进行报警 ALARM=0; delay1(1000); else if(64PP176)ALARM=0; /10s后压力正常则不报警 七、仿真结果正常压力范围,放气阀关闭压力超出上限,放气阀打开压力超出上限10S后仍未恢复正常报警八、程序流程图

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

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