基于單片機的溫度控制系統設計與實現
1 項目要求此系統的主要功能:
● 可以測量一定攝氏度內的溫度;
● 用液晶顯示溫度,精確到小數點后兩位;
● 利用溫度傳感器(DS18B20)測量某一點環境溫度;
● 至少有高、低兩路限溫控制輸出接口控制外部電路。
● 高、低兩路限溫控制點可在一定范圍內獨立設置,通過發光二極管模擬顯示其控制狀態輸出。
● 當溫度達到高、低限溫控制點發光報警;
● 提高溫度測量精度,使分辨率不低于0.10C;
● 可以通過按鍵設置高、低兩路限溫控制點。
2項目分析和系統設計此數字溫度控制系統硬件部分利用了MSP430G2553芯片內部的ADC10功能配置,結合DS18B20溫度傳感器來測量環境中的溫度,將所測數值在LCD1602串行顯示;軟件部分利用CCS軟件來進行編譯,并且根據實際需要來完成各模塊程序的編寫,再進行復雜的調試。
3 硬件設計該溫度控制系統在MSP430G2553芯片的功能配置和協調下,與其他模塊搭建來完成。由MSP430控制溫度傳感器DS18B20實時測量環境中的溫度,然后在LCD5110顯示出來,當該溫度超過了設定的最大或者最小溫度值時,LED開始報警。
圖3.1系統結構框圖
3.1單片機選型模塊基于名為Launch Pad,MSP-EXP430G2低成本實驗板是一款適用于TI最新MSP430G2XXX犀利產品的完整開發解決方案。基于USB的集成型仿真器可提供全系列MSP430G2XX器件開發應用所必備的所有軟件、硬件。Lunch Pad具有集成的DIP目標插座,可支持多達20個引腳,從而使MSP430Value Line器件能夠輕松插入LaunchPad實驗板電路。
圖3.2單片機選型模塊圖
3.2溫度測量模塊溫度測量傳感器采用DALLAS公司DS18B20的單總線數字化溫度傳感器,測溫范圍為-55℃~125℃,可編程為9位~12位A/D轉換精度,測溫分辨率達到0.0625℃,采用寄生電源工作方式,CPU只需一根口線便能與DS18B20通信,占用CPU口線少,可節省大量引線和邏輯電路。接口電路如圖3.3所示。
圖3.3 DS18B20測量電路圖
3.3 LCD液晶顯示模塊LCD液晶顯示模塊采用LCD1602型號,性價比高,LCD1602可以顯示32個字符,口相對簡單。1602共16個管腳,但是編程用到的主要管腳不過三個,分別為:RS(數據命令選擇端),R/W(讀寫選擇端),E(使能信號);以后編程便主要圍繞這三個管腳展開進行初始化,寫命令,寫數據。
以下具體闡述這三個管腳:
RS為寄存器選擇,高電平選擇數據寄存器,低電平選擇指令寄存器。
R/W為讀寫選擇,高電平進行讀操作,低電平進行寫操作。
E端為使能端,后面和時序聯系在一起。
除此外,D0~D7分別為8位雙向數據線。
其接線如圖3.4所示
圖3.4 LCD顯示電路
3.4系統電源整個電路采用USB電源,為所有的USB 外設提供了單一的易于使用的標準的連接類型,簡化了USB 外設的設計。整個的USB 的系統只有一個端口和一個中斷節省了系統資源。
4 軟件設計4.1主程序本系統整體工作主要由單片機程序控制實現,其工作過程為:由MSP430控制溫度傳感器DS18B20實時測量環境中的溫度,然后在LCD1602顯示出來,當該溫度超過了設定的最大或者最小溫度值時,LED開始報警。
程序流程圖如下:
圖4.2 溫度測量子程序圖
5 系統調試5.1硬件調試主要根據系統框圖和硬件原理設計進行原理的繪制、各參數的設置、電路板的制作,以及元器件的焊接等。具體如下:
5.1.1 各單元電路,確認各單元電路鏈接無誤,尤其是關鍵元器件,一定要接保護電阻。
(1)在樣機加電之前,首先用萬用表等工具,根據硬件電器原理圖和裝配圖仔細檢查樣機線路的正確性,并核對元器件的型號、規格和安裝是否符合要求。應特別注意電源的走線,防止電源之間的短路和極性錯誤,電源連接是否正確測試LCD顯示屏是否有輸出,LCD顯示屏上的溫度的顯示是否符合;
(2)運用MSP430單片機中簡單的I/O口功能,優異在檢查硬件是否正常工作時先檢測單片機本身的I/O口設置,可以先不連接外部電路,使用單片機本身I/O口,測試程序是否正確,以免在軟件調試中引起不必要的麻煩。
5.1.2 PCB設計注意事項:
在進行PCB設計時,必須遵守PCB設計的一般原則,并注意其要求。
(1)此系統采用的電阻和電容較多,注意在畫PCB時注意各器件的封裝,對照使用的實物選取封裝,保證焊接硬件的正確性。
(2)此系統采用光敏電阻及較大的極性電容,介于成本的原因,采用的封裝是是直插式的,在PCB設計時特別注意
(3)根據電路的模塊布局,這樣便于在出現問題時進行檢查,尤其注意MSP430單片機系統中I/O口是否設置正確。
5.2程序調試此程序設計中僅使用了MSP430單片機系統中I/O口資源,調試過程中,主要使用寄存器窗口,以及設置斷點,觀察系統程序主要實現對采集來的模擬信號進行模數轉換,并對數字信號進行液晶顯示,所以程序有采集模擬信號、DA轉換和液晶顯示三部分;在中斷子程序設置斷點,判斷運行是否正確。在調試過程中,由局部到整體,判斷程序可能出現的問題,認真分析邏輯,實現要求的功能,在簡化程序。
5.2.1 CCSV5的打開步驟
- 右鍵Code Composer Studio v5快捷方式,左鍵打開。會出現如圖5.2所示界面:
圖5.1 Code Composer Studio v5軟件加載界面
(2)加載完畢之后會有如圖5.3所示界面出現:
圖5.2 Code Composer Studio v5軟件打開界面
(3)選擇Project->Import Existing CCS Eclipse Project,導入程序文件夾中的工程;具體操作如圖5.4:
圖5.3 Code Composer Studio v5程序導入步驟圖
5.2.2CCSV5的使用步驟
(1)CCS新建工程:
①首先打開CCS并確定工作區間,然后選擇project-->New CCS Project
彈出圖5.5對話框。,在簡化程序。
圖5.4創建新工程主界面
②在project name中輸入新建工程名稱turang。
③在Device部分中,Variant中選擇MSP430G××× Family,芯片選擇MSP430G2553,其余選擇默認。
④選擇空工程,然后單擊Finish,完成新工程的創建。
⑤創建工程如圖5.6所示:
圖5.5ProjectExplorer界面
⑥然后選擇File-->New-->Source File,新建一個C文件,并且命名為turang.C,并在工程名上右擊選擇Add Files,創建工程如圖5.7:
圖5.6 新建工程界面
(2)CCS調試:
①調試之前,先確定目標配置文件是否已經創建并且配置正確。
②首先進行工程編譯:選擇Project-->Build Project,編譯目標工程。編譯結果如圖5.8所示,表示沒有錯誤,可以進行下載調試,如果有錯誤,知道調試到沒錯誤為止。
圖5.7工程調試結果
③單擊運行圖標

運行程序,可以觀察顯示的結果。在程序調試的過程中,也可通過設置斷點來調試程序,選擇需要設置斷點的位置,右擊鼠標選擇Breakpoints-->Breakpoint,斷點設置成功后顯示圖標可以通過雙擊該圖標來取消該斷點。程序運行的過程中還可以通過單步調試按鈕進行調試。
5.3聯合調試整個系統的軟硬件都完成后,需要進行聯合調試,主要是針對系統設定的功能能否完成和完善進行調試。將電路線連接好,接入3V電源,LCD顯示屏亮,且測得當前溫度,如果當前溫度超過給定的量程范圍內LED等就會亮,此時就是發出警報,提示當前溫度已超出給定溫度范圍。超出給定的溫度(35°)LED燈就會亮,否則LED燈就會滅,如下圖。
圖5.8聯合調試圖
1