當前位置:編程學習大全網 - 編程語言 - 單片機多點溫度控制系統設計的程序設計

單片機多點溫度控制系統設計的程序設計

單片機的多點溫度控制系統

DSl8820溫度傳感器的內部存儲器包括9?B高速暫存RAM和1?B非易失性的可電擦除的E2PROM,後者存放高溫度和低溫度觸發器TH,TL和結構寄存器,該字節第7位(TM)為0,低5位壹直都是1,第6,5位(R1,R0)用來設置分辨率,如表1所示。

根據DSl8820的通信協議,主機控制DSl8820完成溫度轉換必須經過3個步驟:每壹次讀寫之前都要對其進行復位,復位成功後發送1條ROM指令,最後發送RAM指令,這樣才能對DSl8820進行預定的操作。復位要求主CPU將數據線下拉500μs,然後釋放,DSl8820收到信號後等待16~60μs左右,後發出60~240μs的存在低脈沖,主CPU收到此信號表示復位成功。由於DSl8820采用的是單線進行控制與讀取數據,因此對操作的時序要求非常嚴格,否則由於時序不匹配,將無法完成對器件的正確操作。

2.3?控制執行那分

(1)壁掛爐燃燒系統控制。控制電路采用了脈沖繼電器器件作為整個系統的總控部分,當所有居室溫度均達到設定值時,停止壁掛爐的工作。該繼電器的特點是:當線圈收到壹個脈沖信號後,線圈通電,電磁鐵吸合,帶動觸頭閉合接通需要控制的電路,當下壹個信號到來後,電磁鐵吸合,觸頭斷開,切斷被控制的電源,因此其具有自鎖和信號遙控功能。由於磁鐵的作用,控制脈沖消失後滑片位置不發生變化,保持穩定狀態,所以該器件具有功耗小、具有記憶功能。

(2)居室溫度控制。各居室溫度控制在燃燒控制系統工作前提下,根據各居室溫度測量返回值,采用上海歐凱電磁閥制造有限公司生產的OK6515自保持脈沖電磁閥控制各回路的通斷。脈沖電磁閥采用脈沖和永磁技術,只需通過控制器切換脈沖的電極觸點來改變電磁閥的開關狀態,當控制器發出電脈沖時,驅動閥芯克服永磁力產生上下移,使閥瓣到位後在永磁作用下處於自保持狀態。

2.4?圖形液晶顯示模塊

為了能夠提供形象直觀的用戶顯示界面,系統采用圖形液晶顯示模塊LCDl2864,其具有8位標準數據總線、6條控制線及電源線,可與CPU直接接口,顯示各種字符及圖形。考慮到系統中漢字的使用量少,因此選用不帶漢字庫的LCD。對於使用的漢字分別提取其字模並以二進制形式保存於內部FLASHROM中。

3?系統軟件設計

系統軟件設計主要依據系統程序流程以及DSl8820的時序要求進行代碼編寫。為了降低開發難度,提高開發效率,系統開發中引入了μC/OS壹Ⅱ嵌入式操作系統並移植了LCD顯示驅動。另壹方面,為了確保對DSl8820操作時序的精確性,對DSl8820進行初始化和讀寫代碼仍采用匯編語言。

3.1?系統數據結構

系統所需數據結構包括各測溫元件的序列號表,漢字字模存儲、系統運行時間表存儲、各溫控點的設定值及測量值、系統時間的存放及壹些臨時數據存儲。

為了區別多個溫度傳感器,在系統初始化時讀入傳感器中的64位序列號,並將其存入程序存儲空間,以便程序運行期間進行比對,***需64?B。漢字字模采用16×16字庫進行提取,其中每個漢字需32?B,約15個字,為了方便程序功能的升級改進,在程序存儲空間中按20個字進行空間分配,需要存儲空間640?B。系統運行時間表的設計以小時為設置單位,需要保存24個值;為了減少時間比較過程中的數據計算量以及方便編程,對每個值采用壹個字節存儲,這裏***需24?B存儲空間,這裏仍然使用程序存儲空間進行存儲,以便在系統掉電時設定值不會丟失。

3.2?系統程序設計

系統程序設計主要使用KeilC5l進行編寫,但由於對DSl8820器件的讀寫時序要求比較嚴格,故采用匯編代碼,其中溫度讀取子程序主要代碼如下:

  • 上一篇:計算機在數學中的應用,舉例說明 急!!!
  • 下一篇:matlab怎麽把圖像變清晰度
  • copyright 2024編程學習大全網