熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MPX4105數字氣壓計設計

基于MPX4105數字氣壓計設計

作者: 時間:2016-11-18 來源:網絡 收藏
單片機不僅可以用于溫度測量,也可以用來測量氣壓這類非電信號,就要用到氣壓傳感器。氣壓傳感器的原理是將氣壓信息轉換為電流或者電壓輸出,轉換后的電壓或者電流常為模擬信號,因此還必須進行A/D轉換,以滿足單片機的接口需要。在學習了溫度傳感器的是使用后,結合MPX4105氣壓傳感器,學習了數字氣壓機的設計。

本文引用地址:http://www.bjwjmy.cn/article/201611/315964.htm

主要器件:

1、AT89C52單片機芯片,采集、控制、處理傳感器的氣壓信息。

2、MPX4105集成壓力傳感器。

3、電壓/頻率轉換器為LM331高精度V/F轉換芯片。

4、三端低電流線性穩(wěn)壓芯片MC78L05輸出穩(wěn)定的+5v電壓。

試驗流程圖:

試驗電路圖:

試驗程序代碼:

//DigAirPress.h程序

#ifndef_DIGAIRPRESS_H//防止DigAirPress.h被重復引用

#define_DIGAIRPRESS_H

#include //引用標準庫的頭文件

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define K 2000// K為V/F轉換增益常數

uchar PressVal;//氣壓值

uchar count;//計數器

#endif

// DigAirPress.c程序

#include "DigAirPress.h"

void display();

/*定時器0中斷*/

void timer0() interrupt 1 using 1

{

uint x,y;

uint fo;

ET0 = 0;//關閉定時器0中斷

count++;

if (count == 10)// 500ms

{

TR1 = 0;//停止計數器1

count = 0;

x = TH1;

y = TL1;

/*計算頻率值,由于是500ms所以需乘以2 */

fo = (x*256+y)*2;

/*根據推算出來的公式P=20fo/K+9計算氣壓值*/

PressVal = (uint)(20*(float)(fo)/K+9);

/*顯示函數,將計算出的PressVal值通過5位數碼管(4位數字和1位小數點)

顯示出來,顯示精度為0.1,即保留小數點后一位。此函數本例中略去。*/

display();

/*計數器1清0 */

TH1 = 0;

TL1 = 0;

}

/*重置TH0和TL0 */

TH0 = -50000/256;

TL0 = -50000%256;

ET0 = 1;//打開定時器0中斷

TR1 = 1;//啟動計數器1

return;

}

/*主程序*/

void main(void)

{

EA = 1;

ET0 = 1;//打開定時器0中斷

/*設置T1為16位計數器,T0為16位定時器*/

TMOD = 0x51;

/*定時器0為50ms定時*/

TH0 = -50000/256;

TL0 = -50000%256;

/*定時器1從0開始計數*/

TH1 = 0;

TL1 = 0;

TR0 = 1;//啟動定時器0

TR1 = 1;//啟動計數器1

count = 0;

/*開始無限循環(huán),等待中斷到來*/

while (1);

}

void display(void)

{

//本例中略去

}



關鍵詞: MPX4105數字氣壓

評論


技術專區(qū)

關閉