關(guan) 鍵字:AT89S51,ADC0809,24C02,溫度控製器電路圖
這款計算機溫度自動控製器能根據溫度的高低自動調整相關(guan) 風扇的轉速及開停,同時輪流顯示各處的溫度,節能降噪,使用方便,不占用係統資源。
一、工作原理
本裝置的工作原理如下圖所示,IC2為(wei) 主控芯片AT89S51,IC4為(wei) 8位逐次逼近式A/D轉換芯片ADC0809,RT1~RT4分別是測量CPU、電源、機箱、顯卡溫度的熱敏電阻,FAN1~FAN4分別是控製CPU、電源、機箱、顯卡溫度的風扇。以CPU溫度控製為(wei) 例,當溫度升高時RT1阻值變小,A點電壓升高,該變化的電壓作為(wei) 待轉換的模擬量進入ADC0809的輸入通道IN0,經AD轉換、查表後換算成溫度值在數碼管上顯示出來,其中最左邊一位顯示“1”(1代表CPU,2代表電源,3代表機箱,4代表顯卡),左邊第二位不顯示,最後兩(liang) 位顯示CPU當前的實際溫度值。顯示範圍為(wei) 0~70℃,當溫度低於(yu) 設定的溫度下限時,單片機通過串行口發出控製指令經74LS164.移位輸出,使V5、V9截止,風扇FAN1停止轉動。
當溫度高於(yu) 下限而低於(yu) 上限時,V5飽和,V9截止,12V電源經VD1降壓後變為(wei) 9V加至FAN1的兩(liang) 端,使FAN1低速運轉。當溫度高予設定的上限時,V5、V9飽和,12V電壓全部加在FAN1上,FAN1全速運轉給CPU降溫。其他各處的溫度控製與(yu) 此相同。正常工作時,數碼管輪流顯示4路當前溫度值,每路顯示時間為(wei) 8秒。圖中AN1~AN3是溫度設定用按鍵,設定時按一下AN1,數碼管左邊第一位顯示“1”第二位顯示“H”,最後兩(liang) 位顯示CPU當前上限溫度設定值,按動AN2可設定上限值的十位,按動AN3可設定上限值的個(ge) 位,設定好後再次按一下AN1,CPU上限溫度設定值被寫(xie) 入24C02永久保存,同時數碼管顯示“1L”和CPU當前下限溫度設定值,按同樣的方法設定好下限值後,第三次按動AN1,CPU下限溫度設定值被寫(xie) 入24C02,同時數碼管顯示“2H”和當前電源上限溫度設定值,按照同樣的方法,依次設定好電源、機箱、顯卡溫度的上、下限後,按一下AN1,數碼管重新輪流顯示當前各處的溫度值。
AT89S51電腦自動溫度控製器AT89S51 temperature controller
二、軟件設計
本文程序采用模塊化編程,考慮到熱敏電阻的阻值隨溫度變化的非線形,溫度值計算采用查表的方式實現,A/D轉換采用等待的方式進行編程,四個(ge) 通路寄存器地址為(wei) 7FF0H~7FF3H,整個(ge) 程序由主程序、溫度判斷程序、上下限設定程序、A/D轉換程序、查表程序、二一十進製轉換程序、顯示程序、鍵掃描程序、鍵等待釋放程序、串行口發送程序、24C02讀寫(xie) 程序等組成。片內(nei) 主要RAM分配如下:28H存放鍵碼,29H存放AN1鍵序,34H、35H為(wei) 十進製轉換暫存單元,40H~43H為(wei) 顯示緩衝(chong) 區,49H為(wei) 12C尋址字節寫(xie) 存放單元,4BH為(wei) 尋址字節讀存放單元,4DH存放傳(chuan) 送字節數,4EH是數據子地址存放單元,50H~57H分別存放CPU、電源、機箱、顯卡的溫度上、下限設定值。5AH為(wei) 風扇運行狀態暫存單元。
三、安裝調試
由於(yu) 裝置采用了串行EEPROM存儲(chu) 器24C02來保存數據,使設定值能夠長久保存,每次開機後不用重新輸入數據即可運行,大大增強了裝置的實用性。在製作好後第一次運行時,可能會(hui) 出現風扇全部不轉的現象,這是因為(wei) 所用24C02是空白芯片的原因,隻需要按照前述方法設定好各路的溫度上、下限即可。本裝置的電源為(wei) 12V和5V,可直接取自主機電源的多餘(yu) 插頭。RT1、RT2、RT4可用導熱膠分別固定在各自散熱片的溝槽底部,由於(yu) 熱敏電阻處於(yu) 風扇的下方,為(wei) 了使其真實反映散熱片的溫度,安裝時最好在用導熱膠固定後,再在其表麵塗上一層較厚的萬(wan) 能膠或熱溶膠。RT3可固定在機箱中上部的合適地方。實際使用時,一般把下限值設定為(wei) 25℃左右,上限值設定為(wei) 40℃左右較為(wei) 合適。由於(yu) 控製指令采用串行輸出,本裝置還有很大的擴展空間,例如可以根據需要增加硬盤風扇、顯示器風扇等,這時隻需要對軟件稍作改動即可。當然本裝置也可用於(yu) 其他需要控製溫度的場所。