基于STC89C58的溫度測控系統設計
摘要:本次設計的溫度測控系統采用MCS-51系列單片機中的STC89C58作為微處理器,使用集成溫度傳感器AD-590采集溫度信息,光電耦合雙向晶閘管為驅動(dòng)電路,可精確地采集環(huán)境溫度信息,穩定性高,抗干擾性強。接受信息后處理器可快速地作出反應,導通驅動(dòng)電路,實(shí)現溫度調節。本文從硬件和軟件兩方面介紹了MCS-51單片機溫度控制系統的設計思路,對硬件原理圖和程序框圖作了簡(jiǎn)捷的描述。
本文引用地址:http://dyxdggzs.com/article/246282.htm關(guān)鍵詞:MCS-51單片機;溫度檢測;溫度控制;溫度傳感器
溫度是工業(yè)控制中主要的被控參數之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著(zhù)電子技術(shù)和微型計算機的迅速發(fā)展,微機測量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應用。單片機具有處理能力強、運行速度快、功耗低等優(yōu)點(diǎn),應用在溫度測量與控制方面,控制簡(jiǎn)單方便,測量范圍廣,精度較高。本設計使用單片機作為核心進(jìn)行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點(diǎn),在數字、智能化方面有廣泛的用途。
1 系統結構及工作原理
根據應用系統的要求及軟硬件功能的劃分,初步確定應用系統硬件結構如圖1所示。

利用溫度傳感器AD590可以直接瀆取被測溫度值,進(jìn)行轉換的特性,模擬溫度值經(jīng)過(guò)ADC0809處理后轉換為數字值,然后送到單片機中進(jìn)行數據處理,并與設置的溫度報警限比較,超過(guò)限度后通過(guò)揚聲器報警。同時(shí)處理后的數據送到LCD中顯示。
1.1 系統硬件設計
1.1.1 微處理器選擇和主機系統設計
由于本設計對控制精度要求不高,控制功能一般,故選擇常用的MSC-51系列單片機中的STC89C58作為微處理器。片外程序存儲器選用2732,容量為4 k×8位。因采集和處理的數據不多且不需要保留,估計數據存儲器使用片內的即能滿(mǎn)足要求。其中,硬件元器件STC89C58有40條引腳,有兩條專(zhuān)門(mén)用于電源的引腳,兩條外接晶振的引腳,四條控制或與其他電源復用的引腳,32條L/O引腳。
1.1.2 輸入通道設計
輸入通道只有一個(gè),包括溫度傳感器、放大器和A/D轉換器三部分。本次設計的溫度檢測范圍屬于低溫,適用于低溫的檢測元件有熱電偶、熱敏電阻、集成溫度傳感器等。
1)這里采用集成溫度傳感器AD590。這種傳感器是一個(gè)雙端元件,其工作溫度范圍為-55℃~+150℃,要求工作電源為直流+4 V~+30 V。它能把溫度信號變?yōu)榕c絕對溫度成比例的電流信號,比例因子為1 μA/K。其穩定性高,線(xiàn)形度好,測溫誤差有±1、±0.5、±0.3幾種等級。
AD590本身產(chǎn)生的電流信號,通過(guò)運算放大器TD07對電流做加法運算。在運放輸出端可得到合適的電壓信號,作為A/D轉換的輸入。電阻RP1、RP2的選擇原則是使運放輸出電壓為0;當溫度為60℃時(shí),調節RP2使運放輸出電壓為4.69 V。如果0℃不能實(shí)現,也可以在另外一個(gè)溫度點(diǎn)上(如室溫)來(lái)調整。0 V和4.69 V經(jīng)A/D轉換后的數字量為00H和F0H(240),這樣對應1℃的數字量為04H,便于進(jìn)行溫度的標度變換。
AD590是電流型溫度傳感器,通過(guò)對電流的測量可得到所需要的溫度值。根據特性分擋,AD590的后綴以I,J,K,L,M表示。AD590L,AD 590M一般用于精密溫度測量電路,它采用金屬殼3腳封裝,其中1腳為電源正端V+;2腳為電流輸出端IO;3腳為管殼,一般不用。
AD590的工作原理是在被測溫度一定時(shí),AD590相當于一個(gè)恒流源,把它和5~30 V的直流電源相連,并在輸出端串接一個(gè)1 kΩ的恒值電阻,那么,此電阻上流過(guò)的電流將和被測溫度成正比,此時(shí)電阻兩端將會(huì )有1 mV/K的電壓信號。
2)本系統的運算放大器采用TD07。TD07高精度運算放大器具有極低的輸入失調電壓,極低的失調電壓溫漂,非常低的輸入噪聲電壓幅度及長(cháng)期穩定等特點(diǎn)??蓮V泛應用于穩定積分、精密絕對值電路、比較器及微弱信號的精確放大,尤其適應于宇航、軍工及要求微型化、高可靠的精密儀器儀表中。
3)本系統的AD轉換芯片采用ADC0809。ADC0808是精度為8位的CMOS器件,不僅包括一個(gè)8位的逐次逼近型的ADC部分,而且還提供一個(gè)8通道的模擬多路開(kāi)關(guān)和通道尋址邏輯,因而有理由把它作為簡(jiǎn)單的“數據采集系統”。利用它可直接輸入8個(gè)單端的模擬信號分時(shí)進(jìn)行A/D轉換。
1.1.3 輸出通道設計
輸出通道有3條,分別控制3臺電爐通電和斷電。這是3條具有相同結構的開(kāi)關(guān)量輸出通道,擬采用前面介紹的光電耦合雙向晶閘管驅動(dòng)電路。
2 系統軟件設計
2.1 軟件總體設計
應用程序結構采用中斷方式,由定時(shí)器發(fā)出定時(shí)中斷申請。主程序進(jìn)行系統初始化,包括定時(shí)器、I/O口和中斷系統的初始化,等待定時(shí)中斷。在中斷服務(wù)程序中,先判斷是否到30 s。若不到30s,則返回;若到30s,進(jìn)行以下操作:撥盤(pán)設定值檢測、溫度檢測、標度變換、溫度顯示和溫度控制,并根據溫度檢測值決定是否報警。
在應用程序總體結構中,將以下6個(gè)功能程序作為模塊程序:溫度設定輸入、溫度檢測、溫度值標度變換、溫度顯示、溫度控制和報警程序模塊。
2.2 程序模塊設計
下面說(shuō)明溫度檢測和溫度控制這兩個(gè)模塊的程序設計。
1)溫度檢測程序模塊。溫度檢測程序的功能是連續進(jìn)行4次A/D轉換,求取轉換結果的平均值,存入內部50 H單元,A/D轉換采用查詢(xún)方式。
2)溫度控制程序模塊。溫度控制程序的功能是將溫度實(shí)測值(存于50H)與設定值(存于51H)作比較,如測值高于設定值1℃(注意,此值小于要求誤差2℃,對應的數字量為04H),則關(guān)閉1臺電爐;如實(shí)測值低于設定值,則接通一臺電爐;否則不與調節。3臺電爐接通的順序是3#、2#、1#,這樣可以保持電爐的通斷具有相對穩定性。
3)主程序和中斷服務(wù)程序設計。在定時(shí)中斷服務(wù)程序中,各功能程序都已模塊化,可直接調用。
先說(shuō)明30 s定時(shí)的實(shí)現方法。當振蕩頻率為6 MHz時(shí),STC89C58內部定時(shí)器的最大定時(shí)值為131 ms。要實(shí)現30 s定時(shí),需要另外設置一軟件計數器?,F使定時(shí)器T0工作于方式1,定時(shí)時(shí)間為130 ms,則其時(shí)間常數為:
N=216-130*10-3*6*106/12=536=0218H
軟件計數器的初值=30、0.13≈E7H
主程序清單:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT//轉定時(shí)中斷服務(wù)程序
ORC 0030H
電流變送器相關(guān)文章:電流變送器原理 絕對值編碼器相關(guān)文章:絕對值編碼器原理 熱電偶相關(guān)文章:熱電偶原理
評論