新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機對熱敏電阻的溫度測量

        基于AVR單片機對熱敏電阻的溫度測量

        作者: 時間:2013-12-07 來源:網絡 收藏
        基于AVR單片機對熱敏電阻的溫度測量

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

        5 結 語
        筆者應用該方法已設計出一款溫度計,在范圍-10~80℃時,分辨率達到0.1℃,誤差在0.5℃以內。本文充分利用了AVR的捕獲功能,使得電路簡潔,成本低廉。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安阳县| 渭南市| 潞城市| 资阳市| 洛隆县| 巴南区| 平度市| 北流市| 临沂市| 尼玛县| 新余市| 子洲县| 德化县| 都江堰市| 甘德县| 勃利县| 蒙城县| 上思县| 都匀市| 垦利县| 金湖县| 包头市| 河北省| 乌拉特前旗| 鄂伦春自治旗| 萨迦县| 固始县| 包头市| 昆明市| 上栗县| 连南| 柘荣县| 灵石县| 永平县| 滨海县| 乐昌市| 临泽县| 如东县| 沭阳县| 中江县| 仁寿县|