10100-基于单片机控制的数字气压计的设计与研究(原理图+仿真工程+源代码+详细介绍说明书)
功能描述:
本次系统设计一款数字气压计需要实现传感器数据的采集与运算。主要包括数据采集、数据处理等环节。在数据采集环节中,系统通过压力传感器监测压力,并将采集到的压力信号转换为数字信号,传输到单片机中进行处理和存储。在数据处理环节中,系统对采集到的压力信号进行数据处理和算法运算,以获得更加准确压力数据,并对其进行存储和显示。
资料摘要:
气压检测的设备在社会的发展过程中必不可少。中国地区也非常大,人们生活的海拔高度也不一样,海拔不同对于日常使用物品的要求不同。气压检测设备还可以检测汽车胎压、设备压力等,用处十分广泛。
本次设计是题目是基于单片机控制的数字压力计设计。针对上述问题进行研究,研制一款产品用于监测大气压力的装置。系统需要实现的功能有检测环境中气压大小,并实时的显示出来。本次系统需要使用到51系列单片机作为主控制芯片,ADC0808与MPX4115压力传感器作为气压检测模块,数码管作为显示单元。系统进行硬件设计、软件设计以及仿真模拟设计,确保系统实现功能的同时能够稳定运行。
最后通过使用仿真软件Proteus进行模拟,搭建仿真模拟电路图确保系统的功能实现,并测试硬件电路中的电气特性与稳定性,最终生成测试报告完成系统的功能设计验证,完成本次设计。
资料包含:
1、详细设计说明书-17775字
2、仿真工程文件
3、原理图工程文件
4、源代码工程文件
5、原理图截图、仿真截图
6、流程图
#include <reg51.H>
#include "intrins.h"
#define uint unsigned int
#define uchar unsigned char
#define OUTPORT P2
sbit EOC=P3^0;
sbit START=P3^1;
sbit pd =P1^7;
unsigned char dispbitcode[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f}; //位扫描
unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; //共阳数码管字段码
unsigned char dispbuf[4];
uint temp;
uchar getdata; //获取ADC转换回来的值
void delay_1ms(void) //12mhz delay 1.01ms
{
unsigned char x,y;
x=3;
while(x--)
{
y=40;
while(y--);
}
}
void delayms(int z)
{
int x,y;
for(x=z;z>0;z--)
{
for(y=114;y>0;y--);
}
}
void display(void) //数码管显示函数
{
char k;
for(k=0;k<4;k++)
{
P1 = dispbitcode[k];
P0 = dispcode[dispbuf[k]];
if(k==1) //加上数码管的dp小数点
P0&=0x7f;
delay_1ms();
}
}
unsigned int Adc0808()//unsigned char channel)
{
unsigned int uiResult;
//if(channel==0);
START=1; //启动AD转换。
START=0;
while(EOC==0); //等待转换结束。
uiResult=OUTPORT; //出入转换结果。
//uiResult=(uiResult*200)/51; //处理运算结果。
return uiResult;
}