【摘 要】經(jīng)過一年的努力本人設(shè)計(jì)了一個(gè)多點(diǎn)溫度記錄讀出裝置,如果每秒記錄一點(diǎn),可以連續(xù)記錄9個(gè)小時(shí)以上。多點(diǎn)自動溫度記錄讀出儀使用AT89C51單片機(jī)作為主控制芯片,性能可靠。經(jīng)過Proteus仿真后,已經(jīng)制成的實(shí)際電路性能優(yōu)秀,具有先進(jìn)性和實(shí)用性。整個(gè)系統(tǒng)的主要電路包括:溫度采樣電路、24C256記錄芯片、單片機(jī)控制電路、LCD讀出電路。
【關(guān)鍵詞】單片機(jī)仿真 LCD讀出電路 24C256記錄芯片
【中圖分類號】TB942 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-4810(2012)02-0182-02
一 簡介
在科學(xué)研究和日常生產(chǎn)、生活中,溫度參數(shù)是使用得比較廣泛的一種待測物理量。想知道水由冰點(diǎn)到燒開再冷卻的過程中在電茶爐中溫度變化的規(guī)律嗎?在不同的環(huán)境情況下,對溫度測量有不同的要求。有些物質(zhì)在固態(tài)變液態(tài)過程中,需要知道固液界面溫度梯度;在各種加熱處理過程中,要掌握內(nèi)部溫度分布的均勻性,要求同時(shí)測量多點(diǎn)溫度。設(shè)計(jì)的電路要從實(shí)際需求出發(fā),可以記錄32768點(diǎn),溫度范圍-55°~+125°,如果每秒記錄一點(diǎn)測量裝置,可以連續(xù)記錄9個(gè)小時(shí)以上。如果每小時(shí)記錄一點(diǎn),則可將3年半時(shí)間內(nèi)的溫度變化都收錄,稍加改正還可變成遠(yuǎn)距離溫度采集和記錄系統(tǒng),對于實(shí)踐應(yīng)用中對溫度信號的采集、記錄和分析顯得尤為方便和有效。自制產(chǎn)品經(jīng)過近一年的測試效果很好。整個(gè)系統(tǒng)的主要電路包括:溫度采樣電路、24C256記錄芯片、單片機(jī)控制電路、LCD讀出電路。圖1是溫度記錄讀出儀硬件電路。
二 硬件設(shè)計(jì)
整個(gè)電路由兩塊MCU單片機(jī)組成,有體積小、功耗低、性價(jià)高等特點(diǎn),可在自動化溫度測量裝置、智能化儀器儀表、過程控制和家用電器等領(lǐng)域得到廣泛的應(yīng)用。使用Proteus仿真實(shí)現(xiàn)了計(jì)算機(jī)與測試儀器的一體化調(diào)試,這種方法已成為現(xiàn)在及將來測試技術(shù)與儀器發(fā)展的一個(gè)重要方向,將單片機(jī)與仿真軟件技術(shù)通過PC機(jī)有機(jī)地結(jié)合在一起,設(shè)計(jì)的低成本溫度測量記錄系統(tǒng)由開關(guān)SW1控制記錄和讀出。記錄的溫度可以用LCD顯示讀出,不僅顯示溫度的歷史值,還實(shí)時(shí)記錄溫度并存盤,在需要時(shí)可進(jìn)行回放。由切換開關(guān)選擇記錄還是讀出數(shù)據(jù),也可以整批讀出記錄的溫度數(shù)據(jù)。
由DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息,經(jīng)過單線接口送入DS18B20或從DS18B20送出因此從主機(jī)CPU到DS18B20僅需一條線,DS18B20的電源可以由數(shù)據(jù)線本身提供。DS18B20的測量范圍從-55到+125增量值為0.1。采用外部供電方式,結(jié)合AT89S52單片機(jī),外加串口電路、報(bào)警電路以及顯示模塊,測溫誤差在±0.5℃以內(nèi)。
三 軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括兩部分,一部分是單片機(jī)溫度記錄部分,用于實(shí)現(xiàn)實(shí)時(shí)溫度信號寫入到I2C中用于實(shí)時(shí)溫度記錄存盤功能;另一部分是基于讀出溫度設(shè)計(jì),用于實(shí)時(shí)溫度顯示功能。51單片機(jī)的頭文件由reg52.h、intrins.h、string.h、LCD1602.h、I2C.h組成。
其中溫度記錄主程序如下:
main()
{
TMOD=0x01;
TH0=(65536-20000))256; //;定時(shí)50毫秒
TL0=(65536-20000)%256;
ET0=1;
EA=1;
TR0=1;
do
{
unsigned int o;
if( (hou==0) (min==0) (sec==1) (count==49) ) o++;
temp1=ReadTemperature();
A1=temp1/100;
A2t=temp1%100;
A2=A2t/10;
A3=A2t%10;
A1=A1<<4;
A2=A1|A2;
i2c_write(o,A2);
}
while(1);
}
void timer0(void) interrupt 1
{
TR0=0;
TH0=(65536-20000)/256; //;定時(shí)50毫秒
TL0=(65536-20000)%256;
TR0=1;
count++;
if(count==50)
{
sec++;
count=0;
if(sec==2)
{
min++;
sec=0;
}
if(min==1)
{
hou++;
min=0;
}
if(hou==1)
{
hou=0;
}
}
}
如果要改變溫度記錄時(shí)間只要修改hour、min、sec參數(shù)就可以。
四 溫度記錄讀出儀LCD電路特點(diǎn)
溫度讀出由LCD1602液晶顯示器組成。液晶顯示器為工業(yè)字符型液晶,能夠同時(shí)顯示16×02即32個(gè)字符。(16列2行)1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如:大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。
五 結(jié)語
溫度記錄儀利用目前廣泛使用的AT89S52作為主控CPU,配合新型的外圍器件,應(yīng)用C語言程序設(shè)計(jì),經(jīng)過近一年的調(diào)試取得了令人滿意的效果,現(xiàn)將原代碼公開。本設(shè)計(jì)實(shí)驗(yàn)結(jié)果表明:只要電路安裝合理、程序設(shè)計(jì)寫入無誤,在現(xiàn)有的技術(shù)條件下也有可能設(shè)計(jì)出性價(jià)比高的產(chǎn)品;為設(shè)計(jì)低成本、低能耗、便攜式自動數(shù)字測量儀器提供有益的借鑒。此自動連續(xù)溫度記錄、讀出儀還可用于醫(yī)學(xué)上,如自動記錄病人在一段時(shí)間內(nèi)體溫的變化情況,在水文、氣象、環(huán)保等領(lǐng)域可用于記錄被監(jiān)視對象的溫度變化,在許多領(lǐng)域都有著非常廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1]柴鈺等.低功耗溫度、壓力數(shù)據(jù)記錄儀的設(shè)計(jì)[J].工礦自動化,2009(7):91~94
[2]蔣敏.氣溫自動記錄儀設(shè)計(jì)與制作[J].科技創(chuàng)新導(dǎo)報(bào),2010(20):22~23
〔責(zé)任編輯:高照〕