10105-煤矿井下通风涡街流量传感器(说明书+设计资料+proteus+物料清单)
功能描述:
本次设计传感器为矿用本质安全型,主要应用在煤矿井下,能工作在井下任何有爆炸性危险的场所。测量流量气体平均速度的范围在0—8m/s之间。
系统的基本工作流程如下:系统上电系统开始运行,涡街传感器开始工作,通过4-20mA的传输方式将信号通过ADC将模拟信号转换成为数字信号,将信号传输给单片机同过单片机处理计算,将当前的流速信号显示出来。系统为一个自动控制的系统,通过按键可以启动或者停止检测,使系统为待机状态。
资料摘要:
街流量计是基于卡门涡街原理而研制的速度式流量测量仪表,与传统的流量计相比,涡街流量计具有无可比拟的优点。由于流量这个参数受流体的工作条件影响,对其检测有相当的难度,为了满足现代工业中各种不同的场合和各种不同的测量目的,各种流量计量仪表就应运而生。由于涡街传感器使用精度高,系统工作稳定的特点广泛的应用与各个场合。本文针对涡街传感器的特点来设计一款煤矿井下通风涡街流量传感器。选择使用STC89C52单片机作为系统的主控芯片,AD745作为本次系统的模数转换芯片。数码管显示系统传感器数据,可以通过按键来控制流量计的启动停止以及流量阀值设定,如果流量超过设定值则发出光电报警信息。本文通过对系统对元器件选型、硬件电路设计、软件程序编写最后使用仿真软件Proteus仿真实现系统的功能。
资料包含:
1、详细设计说明书
2、原理图工程文件
3、仿真工程文件
4、源代码工程文件
5、原理讲解文档与PPT(赠送)
6、涡轮流量计的原理和模块化设计
7、元器件清单
8、原理图截图
#include "at89x51.h"
#include "intrins.h"
#define u8 unsigned char
#define u16 unsigned int
#define uchar unsigned char
#define uint unsigned int
sbit Max7221DIN = P2^7;
sbit Max7221CS = P2^6;
sbit Max7221CLK = P2^5;
sbit Max1241DOUT = P2^0;
sbit Max1241CS = P2^1;
sbit Max1241CLK = P2^2;
sbit LED_YELLOW = P3^1;
sbit LED_RED = P3^0;
unsigned int content,SET=1000;
unsigned char wei[4];
unsigned char a,b,c,d,e,f,g,h;
/*********************************************************************************/
/* Maxim-7219 Drive */
/*********************************************************************************/
void WriteMax7221(unsigned char Address,unsigned char Data)
{
unsigned char i;
Max7221CS = 0;
for (i=0;i<8;i++)
{
Max7221CLK = 0;
Max7221DIN = (Address&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7221CLK = 1;
_nop_();
_nop_();
}
for (i=0;i<8;i++)
{
Max7221CLK = 0;
Max7221DIN = (Data&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7221CLK = 1;
_nop_();
_nop_();
}
Max7221CS = 1;
}
void InitialMax7221(void)
{
WriteMax7221(0x0A,0x07); /*strength of the light*/
WriteMax7221(0x0a,0x07);
WriteMax7221(0x0B,0x03); /*Number of bit*/
WriteMax7221(0x0C,0x01); /*shutdown mode*/
WriteMax7221(0x09,0xFF); /*test mode*/
}
void small_pot(void)
{
WriteMax7221(0x01,a);
WriteMax7221(0x02,b);
WriteMax7221(0x03,c);
WriteMax7221(0x04,d);
WriteMax7221(0x05,e);
WriteMax7221(0x06,f);
WriteMax7221(0x07,g);
WriteMax7221(0x08,h);
}
void LedDisplay()
{
unsigned char i;
/*3456*/
wei[0]=content/1000;
wei[1]=content/100%10;
wei[2]=content/10%10+0x80;
wei[3]=content%10;
for(i=0;i<4;i++)
{
WriteMax7221((i+1),wei[i]);
}
}
/***************************************************************************/
int Max1241convent()
{
int getdata=0;
unsigned char i=0;
Max1241CLK=0;
Max1241CS=0;
_nop_();_nop_();_nop_();
while(Max1241DOUT==0);
Max1241CLK=1;_nop_();_nop_();
Max1241CLK=0;_nop_();_nop_();
for(i=0;i<12;i++)
{
Max1241CLK=1;_nop_();_nop_();
Max1241CLK=0;_nop_();_nop_();
getdata=getdata<<1;
getdata=getdata|Max1241DOUT;
}
Max1241CS=1;
return getdata;
}
void delay()
{
unsigned char i,j;
for(i=0;i<100;i++)
for(j=0;j<255;j++);
}
/***********************************************************************************************************
按键检测相关函数
***********************************************************************************************************/
//按键
sbit Key1=P1^6; //启动键
sbit Key2=P1^7; //加按键
sbit Key3=P3^2; //减按键
#define KEY_SET 1 //设置
#define KEY_ADD 2 //加
#define KEY_MINUS 3 //减
![请添加图片描述](https://i-blog.csdnimg.cn/direct/9074693659e845c3b89c62b9cf113f4e.png)