999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

運用KEILC分析HS1101濕度傳感器F-RH轉換算法

2008-04-12 00:00:00邱玉娟
現代電子技術 2008年24期

摘 要:針對在單片機濕度測量系統中,將濕度傳感器HS1101和555組成振蕩器的輸出計頻后,按技術手冊給定的頻率-濕度關系,為達到理想的轉換精度,設計了幾種將頻率轉換為濕度的算法以及實現該算法相應的C51源程序,在KEIL C軟件環境下,進行編譯并仿真運行,通過監視反匯編、性能分析等觀察窗口,對生成代碼長度、執行效率進行了具體分析比較,指出了在C51編程提高程序運行性能方面,應引起重視的算法和一些技術性問題。

關鍵詞:HS1101;F-RH轉換函數;轉換精度;KEILC;性能分析

中圖分類號:G712;TP212文獻標識碼:B文章編號:1004-373X(2008)24-184-03

Analysis of the Convertible Algorithm about HS1101 Humidity Sensor by KEILC

QIU Yujuan

(Jiangyin Polytechnic College,Jiangyin,214433,China)

Abstract:This article designs several algorithms of the conversion between frequency and humidity with reference to the fixed relation of the tow elements stated in the technical manual to achieve the desired accuracy of the conversion,and provides a realization of these types of algorithms corresponding C51 source program.These algorithms apply to the microcontroller humidity measurements system in which the frequency of the output of the oscillator consisted of humidity sensor and 555 is counted.Apart from it,through the adoption of software KEILC,after compiler and simulation,the length of Generation code,executive efficiency have been compared and analyzed specificly while surveillance of the observation window.And some technical problems about the efficienal processing of C51 which should be stressed on are also pointed out in the article.

Keywords:HS1101;F-RH transfer function;conversion accuracy;KEILC;performance analysis

1 引 言

HS1101法國HUMIREL電容式濕度傳感器,采用創新技術、穩定性好、精度高、外帶防護罩,抗靜電、防灰塵、并可抵抗氯氣、氨水等,可測的濕度測量范圍為1~99%RH,精度可達到±2%可應用于濕度變送器、濕度儀表、濕度控制器及其他場合,在測量溫度Tα=25℃,測量工作頻率為10 kHz,C-RH特性曲線如圖1,從特性曲線圖上可以看出,HS1101具有極好的線性輸出。

可以近似看成相對濕度值和電容值成比例,在一般應用中,都將其接入如圖2所示的555振蕩電路,當555為典型的CMOS類型時,可得如下多項式的反應方程式:

Fmes=F55(1.103 8-1.936 810-3×RH+

3.011 410-6×RH2-3.440 310-8×RH3)

同時實驗定點采樣可得下列濕度-輸出頻率F-RH關系表見表1。

表1 濕度-輸出頻率F-RH關系表

RH 0 10 20 30 40 50

F 7 351 7 224 7 100 6 976 6 8536 728

RH 60 70 80 90 100

F6 600 6 468 6 330 6 186 6 033

圖1 HS1101特性曲線

在單片機應用中,一般通過測量振蕩電路的頻率,然后根據此多項反應式將其轉換成濕度,再送出顯示或發送上位機的,故F-RH轉換程序是濕度測試系統的重要組成部分,該程序的算法關系到F-RH轉換精度、經編譯后的代碼長度以及執行效率,從而也直接影響了系統的性能,由于上述多項反應方程式較為復雜,將此直接作為單片機編程算法,生成的代碼長度過長,從實際應用出發,根據表1以及HS1101具有極好的線性輸出,又基于C語言語句結構直接支持分段函數的編程,故可將此特性曲線分段,在某一區間內近似為線性,基于此算法思想,本文設計了3種典型轉換程序,經KEIL C編譯后,實驗運行結果逐一分析如下:

圖2 濕敏電容構成的555振蕩電路

2 線性方程法

分析C-RH特性曲線,并根據F-RH表1進行描點,可發現F-RH近似于一條直線,取表格內兩組數據采用系數代入法可推出如下直線方程:

RH=588-0.8F (6 033

RH=588-0.08F (6 330

RH=586-0.08F (6 075≤F≤6 330)

調整后的F′-RH表格如表2所示:

表2 調整后的F-RH表格

RH 0 10 20 30 40 50

F 7 351 7 224 7 100 6 976 6 8536 728

F′010.020.029.939.749.7

RH 60 70 80 90 100

F 6 600 6 468 6 330 6 186 6 033

F′6070.579.691.1100

程序如下:

yfloat hs1101(void)

{float RH;

if(F>=6033F<=7351)

if(F>6330)RH=588-0.08*F;

else RH=586-0.08*F;

return RH;

}

為分析子函數的性能,將該函數HS1101()單獨加入主函數,經編譯后,在fsc=12 MHz,F=7 000 Hz時可通過DISASSEMBLY WINDOWN窗口(見圖3)可查出生成的代碼長度為984行,在PERFORMANCE ANALYZER WINDOW窗口下可以看到其運行平均執行時間為(見圖3)556 μs。

圖3 DISASSEMBLY WINDOWN窗口

3 分段等差法

由于線性方程法運行后產生的誤差較大,通過分析上表各10%濕度之區間頻率并不是等差的,權衡后,將各區間頻率差值逐一分析后,進行多次分段處理,可得近似轉換值F′如表3所示:

表3 轉換值F′

RH 0 10 20 30 40 50

F 7 351 7 224 7 100 6 976 6 8536 728

F′010.0203039.950

RH 60 70 80 90 100

F6 600 6 468 6 330 6 186 6 033

F′6069.679.690100

程序如下:

float hs1101(void)

{float RH;

if(F<=7351F>=6330)

if(F>7224)RH=(7351-F)/12.7;

else if(F>6600)RH=10+(7224-F)/12.4;

else if(F>6186)RH=60+(6600-F)/13.8;

else RH=90+(6186-F)/15.3;

return RH;

}

經編譯后,可通過DISASSEMBLY WINDOWN窗口(見圖4)可查出生成的代碼長度為977行,在PERFORMANCE ANALYZER WINDOW窗口下可以看到其運行平均執行時間為1 148 μs,盡管精度得到了改善,由于51系列單片機只支持8位數據的運算,但程序中多次用到實數計算,故必須調用浮點數運算程序包,所致代碼長度加長,執行時間也比線性方程法長。

4 查表等差法

將F-RH關系表直接作為二維數組,用測得頻率值frequency作為數組下標值,查表后確認落在某一RH區域,可采用下列公式計算:

RH=RHleft+Fright-frequency(Fright-Fleft)/10

其中,left,right 分別為區域下限值和上限值。

圖4 生成代碼

由于該程序精確跟蹤表格內每10%RH采樣點,故精度比較高,具體程序如下:

const unsigned int tab[2][11]={0,10,20,30,40,50,60,70,80,90,100,7351,7224,7100,6976,6853,6728,6600,6468,6330,6186,6033};

{float RH;

unsigned char i;

for(i=0;i<=10;i++)

if(F<=tab[1][i]F>tab[1][i+1])

{RH=tab[0][i]+(tab[1][i]-F)/((tab[0][i]-tab[0][i+1])/10);break;}//

return RH;

}

通過DISASSEMBLY WINDOWN窗口可看出生成的代碼長度為505行, ANALYZER WINDOW窗口(見圖5)下可以看到其運行平均時間為436 μs,該算法生成的代碼較少,盡管采用循環算法,執行的效率還是比較高。

圖5 代碼長度和運行時間

5 結 語

從上述3種算法程序編譯生成的代碼和運行性能來看,可得出如下結論:

(1) 對于HS1101傳感器,接入555振蕩電路后, F-RH反應方程式為復雜的多項式,由于51單片機運算能力的限制,程序編譯后所消耗的資源過多,故可根據實驗采樣,具體分析采樣數據的特點,將特性曲線分段,用近似線性的方法來處理。

(2) 由于51系列CPU為8位機,直接支持的是8位整數運算,凡涉及到浮點數的運算,都要調用浮點數運算函數。該函數的體積龐大,生成的機器代碼較長,并將占用大量的ROM,無論是從執行效率,還是合理利用存儲器出發,程序中應盡量精簡實數計算式。

(3) 在C51中,程序生成的代碼長度和執行效率不僅與C語言本身所采用的語句結構有關,更與51系列單片機本身的指令系統有關,故要提高C51程序的效率,在算法設計等環節必須綜合考慮單片機硬件支持條件。由于51系列CPU直接支持ROM查表指令,故當系統需要數值計算時,尤其對于在總字節小于127 B內的數據表,采用查表算法,用空間換時間,可以大幅度提高執行效率。

參考文獻

[1]徐愛均,彭秀華 .單片機高級語言C51Windows環境編程與應用.北京:電子工業出版社,2001.

[2]馬宗梅.單片機C語言應用程序設計.北京:北京航空航天大學出版社,2001.

[3]賴麒文.8051單片機C語言徹底應用.北京:科學出版社,2007.

[4]張永楓.單片機應用實訓教程.西安:西安電子科技大學出版社,2005.

[5]常君,李延.濕度傳感器HS1101在智能家居控制系統中的應用.電子測試,2007(12):71-73.

[6]梅麗鳳.單片機原理及接口技術.北京:清華大學出版社,2007.

[7]眭碧霞.單片機及其應用.2版.西安:西安電子科技大學出版社,2003.

[8]沈紅衛.單片機應用系統設計實例與分析.北京:北京航空航天大學出版社,2003.

[9]何立民.單片機應用技術選編(8).北京:北京航空航天大學出版社,2000.

[10]李廣弟.單片機基礎.北京:北京航空航天大學出版社,1994.

作者簡介 邱玉娟 女,1963年出生,江蘇江陰人,實驗師,本科。研究方向為單片機應用。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 国产99欧美精品久久精品久久| 国产激爽大片高清在线观看| 又猛又黄又爽无遮挡的视频网站| 国产欧美专区在线观看| 国产美女在线免费观看| 久久亚洲AⅤ无码精品午夜麻豆| 国产精品微拍| 久操线在视频在线观看| www亚洲精品| 亚洲成人网在线观看| 国产97色在线| 久久久久久尹人网香蕉| 毛片久久网站小视频| 福利视频一区| 国产精品丝袜在线| 国产99在线观看| 亚洲最新在线| 永久免费精品视频| 婷婷五月在线| 狂欢视频在线观看不卡| 国产成人高清精品免费| 亚洲天堂免费在线视频| 免费jjzz在在线播放国产| 亚洲综合久久成人AV| 日本a级免费| 国产一级裸网站| 爽爽影院十八禁在线观看| 国产精品手机在线播放| 国产区精品高清在线观看| 毛片在线看网站| 日本黄网在线观看| 成年免费在线观看| 伊人成人在线| 精品偷拍一区二区| 日本久久网站| 色一情一乱一伦一区二区三区小说| 国产在线一区视频| 97人人模人人爽人人喊小说| 欧美精品伊人久久| 人妻丰满熟妇AV无码区| 毛片久久网站小视频| 毛片a级毛片免费观看免下载| 亚洲AⅤ无码日韩AV无码网站| 一级一级一片免费| 免费国产一级 片内射老| 成年女人a毛片免费视频| 久久大香香蕉国产免费网站| 国产成人av一区二区三区| 色成人亚洲| 国产欧美日韩视频怡春院| 欧类av怡春院| 国产女人18毛片水真多1| 国产黑人在线| 亚洲无码高清一区| 国产成人精品高清在线| 国内熟女少妇一线天| 成人国产免费| 国产乱视频网站| 国产精品密蕾丝视频| 久久精品娱乐亚洲领先| 国产人碰人摸人爱免费视频| 99久久精品视香蕉蕉| 亚洲AⅤ波多系列中文字幕| 欧美成人手机在线观看网址| 亚洲精品少妇熟女| 国产91透明丝袜美腿在线| 成人在线亚洲| 91人妻在线视频| 国产一区成人| 激情综合网激情综合| 亚洲aaa视频| 国产99视频精品免费视频7 | 国产国语一级毛片| 日韩精品免费一线在线观看| 中文无码日韩精品| 青青草欧美| 日韩免费毛片| 国模沟沟一区二区三区| 欧美α片免费观看| 无码电影在线观看| 婷婷色在线视频| 在线日韩一区二区|