基于HT47系列RISC單片機的智能化儀表設計
關(guān)鍵詞: RISC單片機;R-F型A/D轉換;分段線(xiàn)性插值法
HT47系列MCU是盛群(Holtek)半導體公司近年推出的8位精簡(jiǎn)指令系統(RISC)單片機,它除了具有RISC類(lèi)單片機特有的指令數量少、易記憶、采用流水線(xiàn)式指令執行方式、運行速度快等優(yōu)點(diǎn)外,其片內的兩通道R-F型A/D轉換電路,動(dòng)態(tài)LCD液晶驅動(dòng)電路以及軟件狗定時(shí)器等硬件資源,為設計小型乃至便攜式智能化儀器儀表提供了極大的方便,全部硬件由傳感器+HT47C20+液晶片+少量阻容元件構成。
圖1 HT47C20的兩通道R-F型A/D轉換電路
圖2 R-F型A/D轉換過(guò)程
圖3 (c)溫度θ和計算值Nt的關(guān)系曲線(xiàn)
圖4 用分段線(xiàn)性插值法處理θ-Nt 關(guān)系曲線(xiàn)
R-F型A/D
圖1給出了HT47C20的兩通道R-F型A/D轉換電路的結構。
圖中,Timer A和Timer B是兩個(gè)16 位可編程計數器,其計數初值可以由程序設定。Timer A對系統時(shí)鐘(System Clock)或系統時(shí)鐘4分頻信號(System Clock/4)或實(shí)時(shí)時(shí)鐘的溢出信號(RTC Output)計數;Timer B對通道1或通道2的RC振蕩電路產(chǎn)生的脈沖信號計數。下面我們以利用通道1構成的溫度儀表為例,對其溫度測量原理和設計方法作一介紹。
利用圖2可以清晰地說(shuō)明R-F型A/D轉換過(guò)程:
1.見(jiàn)圖2(a),Timer B對參考電阻Rs、參考電容Cs組成的振蕩電路產(chǎn)生的振蕩脈沖計數,Timer A對系統時(shí)鐘計數。通過(guò)置位有關(guān)特殊功能寄存器相關(guān)位可使 Timer A、Timer B同時(shí)啟動(dòng)。Timer B由初值0000H-NS計數到0000H(溢出);Timer A由初值0000H計到m,兩者同時(shí)停止計數。NS的數值要保證Timer B先溢出,這段時(shí)間即為閘門(mén)時(shí)間。
2.見(jiàn)圖2(b),Timer A初值改為0000H-m, Timer B初值改為0000H。Timer B對傳感器(NTC熱敏電阻)電阻Rt、參考電容Cs組成的振蕩電路產(chǎn)生的振蕩脈沖計數,Timer A還是對系統時(shí)鐘計數。再次同時(shí)啟動(dòng),當Timer A溢出時(shí)兩者同時(shí)停止計數且申請中斷??梢钥闯鰞纱斡嫈档拈l門(mén)時(shí)間相等,此時(shí)Timer B的計數值為Nt。
從上述過(guò)程可以看出:NS·(1 /fs)=Nt·(1/ft)
所以 Nt=NS·ft/fs (1)
而 fs=1/(ks·Rs·Cs)
ft=1/(kt·Rt·Cs)
式中ks和kt是和電源電壓、環(huán)境溫度以及RsCs或RtCs乘積有關(guān)的常數(一般取 1.9~2.3),此處可看作近似相等,故有:
ft/fs=Rs/Rt
將此式代入上述Nt的表達式中,可得:
Nt=NS·Rs/Rt (2)
從上文可知,NS是Timer B在規定的閘門(mén)時(shí)間內對參考電阻Rs、參考電容Cs組成的振蕩電路產(chǎn)生的振蕩脈沖的計數值,和Rs一樣,都是事先設定的常數。式(2)表示了計數值Nt和傳感器電阻Rt近似成反比,它們之間的關(guān)系如圖3(a)所示。
熱敏電阻本身的電阻-溫度關(guān)系曲線(xiàn)如圖3(b)所示,通過(guò)圖形變換可以得到被測溫度和計數值Nt之間的關(guān)系曲線(xiàn)如圖3(c)所示。
用分段線(xiàn)性插值法對被測溫度和計數值Nt之間的關(guān)系曲線(xiàn)進(jìn)行處理,即可從計數值Nt計算出對應的被測溫度。
把圖4的q-Nt關(guān)系曲線(xiàn)分成若干段,每段曲線(xiàn)用一段對應的折線(xiàn)來(lái)代替。相對于每一段折線(xiàn),可求出q-N的線(xiàn)性函數:
q = a· Nt+b
式中:a為該段折線(xiàn)的斜率,b為截距。
值得指出的是,利用HT47C20片內的兩個(gè)通道R-F型A/D轉換電路作溫度測量,Timer B對外部RC振蕩電路的兩次計數,使用同一個(gè)振蕩電容Cs(即參考電容)。從式(2)可以看出:計數值Nt和電容Cs沒(méi)有直接關(guān)系,因此當電容量受環(huán)境溫度變化時(shí)不會(huì )影響測溫結果。這一點(diǎn)對提高儀器的系統測量精度是非常有意義的。
圖5 主程序和中斷服務(wù)程序的軟件流程
圖6 顯示緩沖區布局及相關(guān)引腳
圖 7 HT47C20構成的簡(jiǎn)單儀表電路
R-F型A/D轉換構成溫度測量?jì)x表的軟件流程
圖5給出了利用HT47C20的片內R-F型A/D轉換電路構成溫度測量?jì)x表的軟件流程。
HT47C20片內動(dòng)態(tài)液晶顯示電路包含顯示緩沖區和驅動(dòng)輸出電路兩部分。顯示緩沖區占用內部RAM 40H~53H單元地址(在系統不使用液晶顯示電路時(shí)可作為普通RAM單元使用),任何用間接尋址方式寫(xiě)入顯示緩沖區的字形碼都將直接(經(jīng)驅動(dòng)輸出電路)使液晶顯示屏顯示相應的字符。圖6表示了顯示緩沖區的布局以及各存儲單元和芯片外部相關(guān)引腳的對應關(guān)系。
從圖6可以看出,顯示緩沖區各存儲單元僅低4位有效,整個(gè)顯示電路經(jīng)芯片內部掩膜選擇可外接20*2、20*3或19*4(即1/2duty、1/3duty或1/4duty)的C型液晶顯示器。
圖7是用HT47C20為核心部件構成的非常簡(jiǎn)單的儀表硬件電路,圖中僅畫(huà)出一個(gè)測量通道In0,如果把另一個(gè)測量通道In1也利用起來(lái),不需要增加外電路就可以同時(shí)測量?jì)陕纺M量??梢钥闯銎湫?xún)r(jià)比非一般單片機電路可比。
結語(yǔ)
HT47系列除了HT47C20外,和它結構、功能相同的還有HT47C20L(掩膜/低功耗版),HT47R20(OTP版)。值得指出的是盛群半導體公司最新推出的新品HT47C10在結構上作了不少簡(jiǎn)化,如片內程序存儲器,數據存儲器容量,液晶顯示電路的驅動(dòng)筆劃數量適當減少,R-F型A/D轉換通道減少為一個(gè),但在某些應用場(chǎng)合其性?xún)r(jià)比卻更高一些。
參考文獻
1 盛群.(Holtek)半導體公司. HT47C20產(chǎn)品技術(shù)資料
2 茅力群,宋加仁. 用VB5.0實(shí)現的非線(xiàn)性曲線(xiàn)的線(xiàn)性化處理.計量技術(shù),2000(2)
作者簡(jiǎn)介:茅力群,畢業(yè)于杭州大學(xué)計算數學(xué)專(zhuān)業(yè),博士?,F任杭州商學(xué)院電子與信息工程學(xué)院講師,從事電路與系統及微機應用方面的教學(xué)和科研工作。
評論