新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 濕度傳感器HS1101在智能家居控制系統(tǒng)中的應(yīng)用

濕度傳感器HS1101在智能家居控制系統(tǒng)中的應(yīng)用

作者: 時間:2013-05-15 來源:網(wǎng)絡(luò) 收藏


3軟件設(shè)計

軟件設(shè)計主要完成對HSl 101在單位時間內(nèi)的頻率測量。軟件設(shè)計采用端口掃描方式,間隔8S開始測量,測量時間為1S。統(tǒng)計單位時間內(nèi)脈沖的個數(shù),與表3對照,確定濕度值的范圍,并將濕度值通過LCD顯示。為了保證測量精度,可以取3次以上測量數(shù)據(jù),求平均值后,作為最終送顯示數(shù)據(jù)。微處理器工作晶體選用12.000MHz。程序代碼采用嵌入式C語言編寫,經(jīng)在ADSl.2編譯環(huán)境中進行編譯后,移植到微處理器內(nèi)執(zhí)行。軟件主要測量代碼如下,并給出了詳細注釋。

Do

{

IODIR0=10DIROIRO&OXOfffffbf:

//p0.6設(shè)置成輸入

d0 //讀IO口寄存器

{ if((IOPIN0(10x06))==0x00000000)

break: //檢測0電平

} while(1);

Do

{ if((IOPIN0(10x06))!=Ox00000000)

break: //檢測l電平

}while(1);

fdat++: //累積1S時間內(nèi)脈沖個數(shù)

} while(pt8s%8==0); //間隔8S測量一次

fdat--;

time(1); //延時必須保留

if((fdat>6033)(fdat6187))rhb=90;

//將測量數(shù)值轉(zhuǎn)換為對應(yīng)百分比,1%一100%

if((fdat>6186)(fdat6331))rhb=80;

if((fdat>6330)(fdat6469))rhb=70;

if((fdat>6468)(fdat6601))rhb=60;

if((fdat>6600)(fdat6729))rhb=50;

if((fdat>6728)(fdat6854))rhb=40;

if((fdat>6853)(fdat6977))rhb=30;

if((fdat>6976)(fdat7101))rhb=20;

if((fdat>7100)(fdat7225))rhb=10;

if(fdat>7224)rhb=00:

lhb=fdat%100: //對測量數(shù)值取低兩位

time(1); //處理需要等待一段時間,否則lhb=0

if((rhb==60)(rhb==70)(rhb==90))lhb=lhb/

13: //對低兩位數(shù)值取個位,

else if(rhb==80)lhb=lhb/1 4;

else lhb=lhb/12;

time(1);

rhb=rhb+lhb; //將數(shù)據(jù)合成一起,送顯示

fdat=Ox00000000;//清0,為下次準備

}

4結(jié)語

由于HSll01采用獨特的電容式單元設(shè)計,具有響應(yīng)速度快、體積小、線性度好、較穩(wěn)定等優(yōu)點,我們將HSll01用在中,完成對空氣濕度的測量,經(jīng)長期應(yīng)用,性能達到了穩(wěn)定可靠,同時也實現(xiàn)了對低成本的要求。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉