新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量

基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量

作者: 時(shí)間:2013-12-07 來(lái)源:網(wǎng)絡(luò) 收藏
基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量

4 軟件設(shè)計(jì)
基于ATmage88捕獲中斷測(cè)溫程序流程圖如圖5所示,包括主程序流程圖,捕獲中斷流程圖和定時(shí)溢出中斷流程圖。基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量
ATmage88定時(shí)器初始化涉及TCCR1B,TIMSK1控制寄存器的配置,介紹如下: 基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量
ICNC1:輸入捕捉噪聲抑制器,“1”啟用;
ICES1:捕捉觸發(fā)沿選擇,“1”上升沿,“0”下降沿;
CS1[2:0]:時(shí)鐘選擇,有多種預(yù)分頻時(shí)鐘可供選擇;
ICIE1:T/C1輸入捕捉中斷使能;
TOIE1:T/C1溢出中斷使能。
定時(shí)器T1初始化代碼如下(AVR-GCC):
基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量
其中宏定義Tp=0;Tt=1;需要定義數(shù)組:
uint16_t timeL[2],timeH[2],counter[2]
當(dāng)測(cè)量時(shí)間超過(guò)定時(shí)器最長(zhǎng)計(jì)時(shí)時(shí),定時(shí)器會(huì)溢出,定時(shí)器T1溢出中斷函數(shù)代碼如下: 基于AVR單片機(jī)對(duì)熱敏電阻的溫度測(cè)量
最后通過(guò)查表法就可以得到測(cè)量的溫度。查表溫度間隔一般為1℃,如果忽略1℃以內(nèi)的非線性誤差,可以將兩攝氏度之間取線性計(jì)算,這樣可以得到0.1℃的分辨率。

5 結(jié) 語(yǔ)
筆者應(yīng)用該方法已設(shè)計(jì)出一款溫度計(jì),在范圍-10~80℃時(shí),分辨率達(dá)到0.1℃,誤差在0.5℃以內(nèi)。本文充分利用了AVR的捕獲功能,使得電路簡(jiǎn)潔,成本低廉。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉