日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]單片機(jī)不僅可以用于溫度測(cè)量,也可以用來測(cè)量氣壓這類非電信號(hào),就要用到氣壓傳感器。氣壓傳感器的原理是將氣壓信息轉(zhuǎn)換為電流或者電壓輸出,轉(zhuǎn)換后的電壓或者電流常為模擬信號(hào),因此還必須進(jìn)行A/D轉(zhuǎn)換,以滿足單片機(jī)的接口需要。在學(xué)習(xí)了溫度傳感器的是使用后,結(jié)合MPX4105氣壓傳感器,學(xué)習(xí)了數(shù)字氣壓機(jī)的設(shè)計(jì)。

單片機(jī)不僅可以用于溫度測(cè)量,也可以用來測(cè)量氣壓這類非電信號(hào),就要用到氣壓傳感器。氣壓傳感器的原理是將氣壓信息轉(zhuǎn)換為電流或者電壓輸出,轉(zhuǎn)換后的電壓或者電流常為模擬信號(hào),因此還必須進(jìn)行A/D轉(zhuǎn)換,以滿足單片機(jī)的接口需要。在學(xué)習(xí)了溫度傳感器的是使用后,結(jié)合MPX4105氣壓傳感器,學(xué)習(xí)了數(shù)字氣壓機(jī)的設(shè)計(jì)。

主要器件:

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

2、 MPX4105集成壓力傳感器。

3、 電壓/頻率轉(zhuǎn)換器為L(zhǎng)M331高精度V/F轉(zhuǎn)換芯片。

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

試驗(yàn)流程圖:

 

試驗(yàn)電路圖:

 

試驗(yàn)程序代碼:

//DigAirPress.h程序

#ifndef _DIGAIRPRESS_H // 防止DigAirPress.h被重復(fù)引用

#define _DIGAIRPRESS_H

#include // 引用標(biāo)準(zhǔn)庫的頭文件

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define K 2000 // K為V/F轉(zhuǎn)換增益常數(shù)

uchar PressVal; // 氣壓值

uchar count; // 計(jì)數(shù)器

#endif

// DigAirPress.c程序

#include "DigAirPress.h"

void display();

/* 定時(shí)器0中斷 */

void timer0() interrupt 1 using 1

{

uint x,y;

uint fo;

ET0 = 0; // 關(guān)閉定時(shí)器0中斷

count++;

if (count == 10) // 500ms

{

TR1 = 0; // 停止計(jì)數(shù)器1

count = 0;

x = TH1;

y = TL1;

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

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

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

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

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

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

display();

/* 計(jì)數(shù)器1清0 */

TH1 = 0;

TL1 = 0;

}

/* 重置TH0和TL0 */

TH0 = -50000/256;

TL0 = -50000%256;

ET0 = 1; // 打開定時(shí)器0中斷

TR1 = 1; // 啟動(dòng)計(jì)數(shù)器1

return;

}

/* 主程序 */

void main(void)

{

EA = 1;

ET0 = 1; // 打開定時(shí)器0中斷

/* 設(shè)置T1為16位計(jì)數(shù)器,T0為16位定時(shí)器 */

TMOD = 0x51;

/* 定時(shí)器0為50ms定時(shí) */

TH0 = -50000/256;

TL0 = -50000%256;

/* 定時(shí)器1從0開始計(jì)數(shù) */

TH1 = 0;

TL1 = 0;

TR0 = 1; // 啟動(dòng)定時(shí)器0

TR1 = 1; // 啟動(dòng)計(jì)數(shù)器1

count = 0;

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

while (1);

}

void display(void)

{

//本例中略去

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉