新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于HT47系列RISC單片機的智能化儀表設計

        基于HT47系列RISC單片機的智能化儀表設計

        ——
        作者:茅力群 宋加仁 時間:2007-01-26 來源:《E代電子》 收藏

        ht47系列mcu是盛群(holtek)半導體公司近年推出的8位精簡指令系統(risc)單片機,它除了具有risc類單片機特有的指令數量少、易記憶、采用流水線式指令執行方式、運行速度快等優點外,其片內的兩通道r-f型a/d轉換電路,動態lcd液晶驅動電路以及軟件狗定時器等硬件資源,為設計小型乃至便攜式智能化儀器儀表提供了極大的方便,全部硬件由傳感器+ht47c20+液晶片+少量阻容元件構成。

        本文引用地址:http://www.104case.com/article/21498.htm

        圖1給出了ht47c20的兩通道r-f型a/d轉換電路的結構。


        圖1 ht47c20的兩通道r-f型a/d轉換電路

        圖中,timer a和timer b是兩個16 位可編程計數器,其計

        數初值可以由程序設定。timer a對系統時鐘(system clock)或系統時鐘4分頻信號(system clock/4)或實時時鐘的溢出信號(rtc output)計數;timer b對通道1或通道2的rc振蕩電路產生的脈沖信號計數。下面我們以利用通道1構成的溫度儀表為例,對其溫度測量原理和設計方法作一介紹。
        利用圖2可以清晰地說明r-f型a/d轉換過程:


        圖2 r-f型a/d轉換過程

        1.見圖2(a),timer b對參考電阻rs、參考電容cs組成的振蕩電路產生的振蕩脈沖計數,timer a對系統時鐘計數。通過置位有關特殊功能寄存器相關位可使 timer a、timer b同時啟動。timer b由初值0000h-ns計數到0000h(溢出);timer a由初值0000h計到m,兩者同時停止計數。ns的數值要保證timer b先溢出,這段時間即為閘門時間。

        2.見圖2(b),timer a初值改為0000h-m, timer b初值改為0000h。timer b對傳感器(ntc熱敏電阻)電阻rt、參考電容cs組成的振蕩電路產生的振蕩脈沖計數,timer a還是對系統時鐘計數。再次同時啟動,當timer a溢出時兩者同時停止計數且申請中斷。可以看出兩次計數的閘門時間相等,此時timer b的計數值為nt。

        從上述過程可以看出:ns·(1 /fs)=nt·(1/ft) 所以 nt=ns·ft/fs (1) 而 fs=1/(ks·rs·cs) ft=1/(kt·rt·cs)

        式中ks和kt是和電源電壓、環境溫度以及rscs或rtcs乘積有關的常數(一般取 1.9~2.3),此處可看作近似相等,故有:

        ft/fs=rs/rt

        將此式代入上述nt的表達式中,可得:

        nt=ns·rs/rt (2)

        從上文可知,ns是timer b在規定的閘門時間內對參考電阻rs、參考電容cs組成的振蕩電路產生的振蕩脈沖的計數值,和rs一樣,都是事先設定的常數。式(2)表示了計數值nt和傳感器電阻rt近似成反比,它們之間的關系如圖3(a)所示。


        圖3 (c)溫度θ和計算值nt的關系曲線

        熱敏電阻本身的電阻-溫度關系曲線如圖3(b)所示,通過圖形變換可以得到被測溫度和計數值nt之間的關系曲線如圖3(c)所示。

        用分段線性插值法對被測溫度和計數值nt之間的關系曲線進行處理,即可從計數值nt計算出對應的被測溫度。

        把圖4的q-nt關系曲線分成若干段,每段曲線用一段對應的折線來代替。相對于每一段折線,可求出q-n的線性函數: q = a· nt+b 式中:a為該段折線的斜率,b為截距。


        圖4 用分段線性插值法處理θ-nt 關系曲線

        值得指出的是,利用ht47c20片內的兩個通道r-f型a/d轉換電路作溫度測量,timer b對外部rc振蕩電路的兩次計數,使用同一個振蕩電容cs(即參考電容)。從式(2)可以看出:計數值nt和電容cs沒有直接關系,因此當電容量受環境溫度變化時不會影響測溫結果。這一點對提高儀器的系統測量精度是非常有意義的。

        圖5給出了利用ht47c20的片內r-f型a/d轉換電路構成溫度測量儀表的軟件流程。


        圖5 主程序和中斷服務程序的軟件流程

        ht47c20片內動態液晶顯示電路包含顯示緩沖區和驅動輸出電路兩部分。顯示緩沖區占用內部ram 40h~53h單元地址(在系統不使用液晶顯示電路時可作為普通ram單元使用),任何用間接尋址方式寫入顯示緩沖區的字形碼都將直接(經驅動輸出電路)使液晶顯示屏顯示相應的字符。圖6表示了顯示緩沖區的布局以及各存儲單元和芯片外部相關引腳的對應關系。


        圖6 顯示緩沖區布局及相關引腳

        從圖6可以看出,顯示緩沖區各存儲單元僅低4位有效,整個顯示電路經芯片內部掩膜選擇可外接20*2、20*3或19*4(即1/2duty、1/3duty或1/4duty)的c型液晶顯示器。


        圖 7 ht47c20構成的簡單儀表電路

        圖7是用ht47c20為核心部件構成的非常簡單的儀表硬件電路,圖中僅畫出一個測量通道in0,如果把另一個測量通道in1也利用起來,不需要增加外電路就可以同時測量兩路模擬量。可以看出其性價比非一般單片機電路可比。

        結語

        ht47系列除了ht47c20外,和它結構、功能相同的還有ht47c20l(掩膜/低功耗版),ht47r20(otp版)。值得指出的是盛群半導體公司最新推出的新品ht47c10在結構上作了不少簡化,如片內程序存儲器,數據存儲器容量,液晶顯示電路的驅動筆劃數量適當減少,r-f型a/d轉換通道減少為一個,但在某些應用場合其性價比卻更高一些。





        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 喀喇沁旗| 嘉鱼县| 平和县| 临猗县| 辰溪县| 辽中县| 福海县| 菏泽市| 宁陕县| 普洱| 万盛区| 阜平县| 泰安市| 贵港市| 曲松县| 贡嘎县| 高州市| 炉霍县| 金沙县| 水富县| 长宁县| 海口市| 利津县| 宁武县| 叶城县| 荔波县| 太康县| 景谷| 永川市| 和平区| 中山市| 门头沟区| 蕉岭县| 伊金霍洛旗| 葵青区| 来宾市| 张掖市| 沈阳市| 营口市| 山西省| 枞阳县|