肖 青
(長江工程職業(yè)技術(shù)學(xué)院,湖北武漢 430200)
溫度控制系統(tǒng)利用單片機及其外圍接口電路實現(xiàn)對空氣溫度進行采樣和顯示。系統(tǒng)共分為溫度檢測、溫度顯示、單片機最小系統(tǒng)幾大部分。溫度檢測采用LM35,溫度顯示采用LCD1620液晶顯示屏,單片機最小系統(tǒng)采用AT89S52芯片,它是一個有2kB Flash可編程、可擦除只讀存儲器(E2PROM)的低壓、高性能8位單片機。
溫度顯示系統(tǒng)結(jié)構(gòu)如圖1所示。具體思路如下:①選擇CMOS 8 位微控制器AT89S52 芯片作為控制單元。②利用電容和電阻構(gòu)成復(fù)位電路實現(xiàn)上電復(fù)位。③無極性電容和晶振組成時鐘電路,為AT89S52芯片工作提供時鐘。④采用內(nèi)部存儲了160個不同的點陣字符圖形的LCD1620作為顯示器,可顯示16×2行字符。⑤溫度采樣系統(tǒng)選擇LM35 溫度傳感器具有較高的工作精度和較寬的線性工作范圍。該器件的輸出電壓與攝氏溫度線性成正比,0℃時輸出為0V,每升高1℃,輸出電壓增加10mV。⑥A/D 轉(zhuǎn)換芯片選擇8 位 COMS 依 次 逼 近 型 的 A/D 轉(zhuǎn) 換 器ADC0804。主要性能參數(shù):模擬電壓輸入范圍為0-5V,轉(zhuǎn)換時間為100Us,工作溫度為0-70℃。
圖1 溫度顯示系統(tǒng)結(jié)構(gòu)
控制單元原理如圖2所示,其中AT89S52單片機控制單元的復(fù)位電路由10UF 電解電容和10K 電阻構(gòu)成,其放電時間為RC=100ms。晶振的振蕩頻率為12M,故機器周期為1us。EA=1,則AT89S52單片機的程序存儲器先訪問片內(nèi),再訪問片外。
字符型LCDTS1620 共有16 條引腳線。LCD1620顯示單元原理如圖3所示,其中4腳為RS寄存器選擇信號,與單片機AT89S52的P2.0端口連接;5腳為讀寫信號線,與單片機AT89S52的P2.1 端口連接;6 腳為使能端E,與單片機AT89S52的P2.2端口進行連接;7腳至14腳為數(shù)據(jù)線,與單片機AT89S52的P0 口連接;15腳和16腳分別為背光電源線VCC和地線GND,一般要接限流電阻,此系統(tǒng)中選擇10 歐姆電阻限流。LCD 的3腳是對比度控制電阻,調(diào)節(jié)與3腳連接的電位器可改變LCD1620的顯示情況。此系統(tǒng)中選擇10K 可調(diào)電阻來調(diào)節(jié)對比度。
圖2 控制單元原理圖
圖3 LCD1620顯示單元原理
溫度采樣系統(tǒng)單元原理如圖4所示。LM35作為溫度傳感器,工作溫度范圍為0℃-100℃,工作電壓為4-30V,精度為±1℃,最大線性誤差為±0.5℃,靜態(tài)電流為80uA。由于LM35輸出電壓為毫伏等級,故其輸出電壓需要連接運算放大器LM358。圖4 中LM358 U2A 僅作電壓跟隨器,LM358U2B 作為放大器使用且通過調(diào)節(jié)R212K 電位器可獲得2-3倍放大倍數(shù)。AD 轉(zhuǎn)換芯片選擇ADC0804,AD0804為8位COMS依次逼近型的A/D 轉(zhuǎn)換器。模擬電壓輸入范圍為:0-5V,轉(zhuǎn)換時間為100Us,工作溫度為0-70℃。AD0804的接口設(shè)計有3種工作模式:(1)連續(xù)轉(zhuǎn)換方式;(2)軟件詢問方式;(3)中斷控制方式。本系統(tǒng)種選擇軟件詢問方式來控制ADC 動作的電路,ADC 的數(shù)字?jǐn)?shù)據(jù)送至AT89S52 的端口P1,端口P3做控制信號,WR 引腳產(chǎn)生低電平的脈沖告訴ADC 開始做信號轉(zhuǎn)換,等待INTR 降為低電平(P3.2=0)即信號轉(zhuǎn)換完畢,再由RD 引腳輸出低電平信號以讀取數(shù)字信號。在RD 信號回升到高電平時,將INTR 信號復(fù)位為高電平狀態(tài)。
圖4 溫度采樣系統(tǒng)單元原理
主程序流程圖如圖5所示。流程圖中初始化功能包括LCD1620液晶顯示屏的設(shè)置顯示方式、顯示模式和清理顯示緩存等功能。啟動A/D 轉(zhuǎn)換功能主要設(shè)置單片與AD0804連接的片選信號CS和寫控制信號WR 的電平變化。在讀取溫度數(shù)據(jù)過程中,通過不斷查詢單片機的P3.2(INT1)端口電平變化來判斷A/D 轉(zhuǎn)換是否結(jié)束,若A/D 轉(zhuǎn)換標(biāo)志位為0,則表明轉(zhuǎn)換結(jié)束,即可進入相應(yīng)數(shù)據(jù)計算。主程序主要完成的兩類功能分別為:溫度數(shù)據(jù)的讀??;LCD1620的顯示。
圖5 軟件設(shè)計主程序流程圖
圖6 LCD1620顯示流程圖
溫度數(shù)據(jù)的讀取功能為:LM35 溫度傳感器將溫度信號轉(zhuǎn)換為電壓信號經(jīng)LM358運算放大器輸送給AD0804,在AT89S52單片機中計算得到相應(yīng)的溫度數(shù)值。具體計算公式如式(1)所示,式中T 表示經(jīng)過單片機計算出的溫度值。K 表示LM358運算放大器對溫度電壓信號的放大倍數(shù)。D 表示AD0804P0 口輸出的數(shù)據(jù)。Vref表示AD0804的參考電壓。式中M 為調(diào)整參數(shù),由于LM35 溫度傳感器每升高1℃時,電壓升高10mv,故M 取100。
LCD1620顯示程序流程如圖6 所示。首先確定顯示數(shù)據(jù)的地址并設(shè)置,然后寫入顯示字符的ASCII碼延時一段時間即可顯示溫度。此外溫度顯示的字符℃需自定義代碼。讀取的溫度值的個、十、小數(shù)點的處理程序如下:
STR[0]=(int)(T/10)//溫度值的十位
STR[1]=(int)(TC%10)//溫度值的個位
STR[2]=(int)((TC*10)%10)//溫度值的小數(shù)點
基于AT89S52溫度顯示系統(tǒng)能廣泛應(yīng)用于智能化儀表、家居用電器溫度參數(shù)的顯示等領(lǐng)域,其系統(tǒng)開發(fā)周期短、性價比高,可維護性強,并且可根據(jù)用戶要求增設(shè)不同的溫度控制指標(biāo)和要求,具有一定的市場價值。
1 白國政.基于AT89S52溫度自動控制檢測系統(tǒng)設(shè)計[J].電子設(shè)計工程,2013(6):76-78.
2 陳京培,徐永梅.基于AT89S52單片機的液晶顯示控制電路設(shè)計[J].現(xiàn)代電子技術(shù),2008(22):22-25.
3 張東偉,楊中華,楊國付.基于UPSD3224A 單片機和LCD1602液晶顯示模塊的設(shè)計[J].楊凌職業(yè)技術(shù)學(xué)院學(xué)報,2012(3):8-9.
4 李彩娜,王智磊.基于LCD1602的數(shù)字電子鐘設(shè)計[J].無錫南洋職業(yè)技術(shù)學(xué)院論叢,2012(6):70-72.
5 陳燕秀.基于單片機的LCD多功能顯示器設(shè)計[J].長江大學(xué)學(xué)報,2013(10):90-91.