基于AT89S51單片機的溫度控制系統_第1頁
基于AT89S51單片機的溫度控制系統_第2頁
基于AT89S51單片機的溫度控制系統_第3頁
基于AT89S51單片機的溫度控制系統_第4頁
基于AT89S51單片機的溫度控制系統_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于at89s51單片機的溫度控制系統摘要本文主要介紹了at89s51單片機為核心的溫度控制系統的工作原理和設計方法。溫度信號由溫度芯片ds18b20采集,并以數字信號的方式傳送給單片機。本文介紹了該控制系統的硬件部分,包括:溫度檢測部分,溫度控制電路,pc機與單片機串口通訊電路和一些接口電路。單片機通過對信號進行相應處理,從而實現溫度控制的目的。文中還著重介紹了軟件設計部分,在這里采用模塊化結構,主要模塊有:數碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機與pc機串口通訊程序。關鍵字:單片機ds18d20溫度芯片 溫度控制 串口通訊 一、 方案設計與論證1、

2、測量部分方案一:采用熱敏電阻,可滿足40攝氏度至90攝氏度的測量范圍,但熱敏電阻精度,重復性,可靠性較差,對于檢測1攝氏度的信號是不適應的。而且使用熱敏電阻,需要用到十分復雜的算法,一定程度上增加了軟件實現的難度。方案二:采用溫度芯片ds18b20測量溫度。該芯片的物理化學性很穩定,它能用做工業測溫元件,且此元件線性較好。在1-100攝氏度時,最大線性偏差小于1攝氏度。該芯片直接向單片機傳輸數字信號,便于單片機處理及控制。本制作的最大特點之一就是直接采用溫度芯片對溫度進行測量,使數據傳輸和處理簡單化。采用溫度芯片ds18b20測量溫度,體現了作品芯片化這個趨勢。部分功能電路的集成,使總體電路更

3、簡潔,搭建電路時更快。而且,集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以芯片的使用將成為電路發展的一種趨勢。本方案應用這一溫度芯片,也是順應這一趨勢。2、 主控制部分方案一:此方案采用at89c51八位單片機實現,單片機軟件編程的自由度大,可通過編程實現各種各樣的算術算法和邏輯控制。但是,at89c51單片機需要用仿真器來實現軟硬件的合成在線調試,較為繁瑣,很不方便。而且at89c51的地位已經漸漸的被at89s51所代替,逐漸成為歷史,事實也證明了at89s51在工業控制上有著廣泛的應用。方案二:此方案采用at89s51八位單片機實現。它除了89c51所具有的優點外,還具有

4、可在線編程,可在線仿真的功能,這讓調試變得方便。當與凌陽十六位單片機相比時,at89s51八位單片機的價格便宜,再編程方便。而且at89s51在工業控制中有廣泛的應用,編程技術及外圍功能電路的合使用都很成熟,這對在網上查找相關資料和在圖書館查找相關資料時非常方便的。總結:從上所述實際采用電路方案如下圖:工作流程說明:開始,先接通電源,然后將開關打到開的位置,七段數碼管顯示器就自動顯示出當前的溫度,并且顯示出設定溫度的缺省值00,此時繼電器不工作。按下pc機max232電平轉換芯片at89s518bitcpu鍵盤電路ds18b20溫度芯片數據傳輸數據顯示繼電器1加熱器1繼電器2加熱器2f1按鍵,

5、溫度控制系統進入溫度控制點1的設置。按下f2按鍵,溫度控制系統則相應進入溫度控制點2的設置。這個時候,顯示設置溫度的數碼管閃爍。此時可以通過鍵盤輸入預設置的溫度。當按下“確定”按鍵的時候,單片機就會根據所寫入的程序,對系統進行控制。當設置的溫度高于當前的溫度時,單片機通過繼電器控制加熱電路連通,溫度慢慢上升。當設置的溫度低于當前的溫度時,單片機通過繼電器控制加熱電路連通,溫度慢慢下降。就這樣通過溫度芯片的反饋信息,實現水的溫度保持在設置溫度上,從而達到自動控制溫度的功能。二、 各電路的設計1、 鍵盤電路:單片機應用系統中的鍵輸入單片機應用系統中除了復位按鍵有專門的復位電路,以及專一的復位功能外

6、,其它的按鍵或是鍵盤都是以開關狀態來設置控制功能或輸入數據。鍵盤有編碼和非編碼兩種。非編碼鍵盤硬件電路極為簡單,所以本系統采用。(1) 鍵輸入接口與軟件解決的任務a 鍵開關狀態的可靠輸入為了去抖動我們采用軟件方法,它是在檢測到有鍵按下時,執行一個10ms的延時程序后,再確認該鍵電平是否仍然保持閉合狀態電平,如保持閉合狀態電平則確認為真正鍵按下狀態,從而消除了抖動影響。b 對按鍵進行編碼給定鍵值或給出鍵號對于按鍵無論有無編碼,以及采用什么編碼,最后都要轉換成為與累加器中數值相應的鍵值,以實現按鍵功能程序的散轉轉移。為使編碼間隔小,散轉入口地址安排方便,常采用依次序排列的鍵號。c.選擇鍵盤檢測方法

7、對是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。(2) 行列式鍵盤本系統采用行列式鍵盤,即用i/o口線組成行列式結構,按鍵設置在行列的交點上。在 按鍵數較多時,可節省i/o口線。本系統鍵盤采用的工作方式為編程掃描工作方式,它是利用cpu在完成其他工作的空余,調用鍵盤掃描子程序,來響應鍵輸入要求。在執行鍵功能程時,cpu不再響應鍵輸入要求。編程掃描法掃描方式,掃描法是在判定有鍵按下后逐行(或列)置低電平,同時讀入行(或列)狀態,如果行(或列)狀態出現非全1狀態,這時0狀態的行與列交點的鍵就是按下的鍵。在其他的作品中,要改變設置溫度時,每按一次按鍵,相應位上的數字自加一。當要輸入的數字比較大

8、的時候,需要按很多次,使用起來比較麻煩。然而,鍵盤就很好的解決了這個問題。當要修改設置溫度時,只需要按兩次按鍵,再加上“確定”按鍵即可。所以本電路采用了使用方便的鍵盤控制電路。鍵盤的按鍵分布如下圖所示:p2.4f1f2p2.0789p2.1456p2.2123p2.30p2.5p2.6p2.7鍵盤設定如下:鍵盤共有14個按鍵,用于方便設定溫度0-9,數字按鍵,輸入數字1-9確認,設置的確認,修改設置溫度時進行確認;清除,設置的清除,修改設置溫度時進行刪除;f1,顯示及設置轉換到溫度點1,按此按鍵后,顯示預設置溫度的數碼管閃爍;f2,顯示及設置轉換到溫度點2,按此按鍵后,顯示預設置溫度的數碼管閃

9、爍;采用14按鍵的鍵盤代替其他作品的自加1按鍵和自減1按鍵,雖然增加了按鍵的個數,但是卻方便了輸入所需要設置的溫度,使得溫度設定操作更為簡單。這也是本作品相對于其它作品改進的一個重要方面。2、 加熱器控制電路單片機通過三極管控制繼電器的通斷,最后達到控制電熱器的目的。當溫度未達到要求時,單片機發送高電平信號使三極管飽和和導通,繼電器使電源與電熱器接通,電熱器加熱,溫度慢慢升高。當溫度升高到預定溫度時,單片機發送低電平信號使三極管進入截止狀態,繼電器的彈片打到另一側,使電熱器與電源斷開,電熱器停止加熱。繼電器電路中有一個三極管8050的保護電路,即將一個二極管反向接到三極管的兩端,連接方法如圖所

10、示。其原理是:當繼電器突然斷電時,繼電器產生很大的反向電流,二極管的作用是將反向電分流,時流過三極管8050的電流比較小,達到保護三極管8050的作用。controltemperature3、 溫度測試電路這里我們用到溫度芯片ds18b20,使用集成芯片,能夠有效的減小外界的干擾。提高測量的精度,簡化電路的結構,使用集成芯片,已經慢慢地成為設計電路的一種趨勢。本系統使用溫度芯片也正是順應了這一趨勢。ds18b20是dallas公司生產的一線式數字溫度傳感器,具有3引腳0-92小體積封裝形式;測溫分辨率可達0.0625攝氏度,被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可在遠端引入

11、,也可采用寄生電源方式產生;多個ds18b20可以并聯到3根或2根線上,cpu只需一根端口線就能與諸多ds18b20通信,占用微處理器的端口較小,可節省大量的引線和邏輯電路。ds18b20支持“一線總線”接口,測量溫度范圍為-55攝氏度-+125攝氏度,在-10攝氏度85攝氏度范圍內,精度為0.5攝氏度。現場溫度直接以“一線總線”的數字方式輸入。,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量。如:環境控制、設備或過程控制、測溫類消費電子產品等。溫度芯片ds18b20轉換速度快,轉換精度高,與微處理器的接口簡單,給硬件設計工作帶來了極大的方便,能有效地降低成本,縮短開發周期。4、 七段

12、數碼管顯示電路本部分電路主要使用七段數碼管和移位寄存器芯片74ls164.單片機通過i2cc總線將要顯示的數據信號傳送到移位寄存器芯片74ls164寄存,再由移位寄存器控制數碼管的顯示,從而實現移位寄存點亮數碼管顯示。由于單片機的時鐘頻率達到12m,移位寄存器的移位速度相當快,所以我們根本看不到數據是一位一位傳輸的。從人類視覺的角度看,就仿佛是全部數碼管同步顯示的一樣。在本系統中使用的移位寄存器74ls164時,是用芯片的貼片封裝。貼片封裝直接焊接在數碼管電路的背面,這樣既能實現強大的功能又合理利用電路的空間,而且整個顯示電路小巧玲瓏,在總安裝時方便。采用移位寄存器控制數碼管顯示出本系統的數據

13、,也是本系統的一個優點。5、 串口通訊電路:51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便的進行串口通訊。進行串口通訊時要滿足一定的條件,比如電腦的串口是rs232電平的,而單片機的串口是ttl電平的,兩者之間必須有一個電平轉換器,我們采用了專用芯片max232進行轉換,雖然也可以用幾個三極管進行模擬轉換,但是還是用專用芯片更可靠簡單。 我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳接gnd、第二腳接rxd、第3腳接txd。這是最簡單的接法,但是對我們來說已經足夠使用了,電路如下圖所示,max232的第10腳和單片機的11腳連接,第9腳和單片機的

14、10腳連接,第15腳和單片機的20腳 連接。三、 程序設計概述整個系統的功能是由硬件電路配合軟件來實現的,但硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監控軟件(主程序),它是整個控制系統的核心,專門用來協調各執行模塊和操作這的關系。而是執行軟件(子程序), 是用來完成各種實質性的功能如測量、計算、顯示、打印、通訊等。每個執行軟件也就是一個小的功能執行模塊。設計者應將各執行模塊一一列出,并為每個執行模塊進行功能定義和接口定義,各執行模塊規劃好后,就可以規劃監控程序了。 首先要根據系統的總體功能和鍵盤設置選擇一種最合適的監控程序結構,然后根據實時性的要求,合理地

15、安排監控軟件和個執行模塊之間地調度關系。1、 程序結構分析主程序調用了5個子程序,分別是數碼管顯示程序、鍵盤掃描電路及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機與pc機串口通訊程序。鍵盤掃描電路及按鍵處理程序:實現鍵盤的輸入按鍵的識別及進入相應的程序。溫度信號處理程序:對溫度芯片送過來的數據進行處理,進行判斷和顯示。數碼管顯示程序:向數碼管的顯示送數,控制系統的顯示部分。繼電器控制程序:控制繼電器動作。串口通訊程序:實現pc機與單片機通訊,將溫度數據傳送給pc機。 將各個功能程序以子程序的形式寫好,當寫主程序的時候,只需要調用子程序,然后在寄存器的分配上做一下調整,消除寄存器和i/

16、o沖突即可。程序應該盡可能多的使用調用指令代替跳轉指令,因為跳轉指令使得程序難以看懂各個程序段之間的結構關系。而調用指令則不同,調用指令使得程序結構清晰,無論是修改還是維護都比較方便。將功能程序段寫入子程序的形式,除了方便調用外,還有一個好處就是以后寫程序的時候如果要用到,就可以直接調用這個單元模塊。程序結構led 顯示數碼管顯示程序序鍵盤掃描程序串口通訊程序鍵值處理程序溫度芯片傳輸數據程序與當前溫度相比較程序繼電器控制程序開始系統初始化繼電器控制溫度顯示溫度數據連pc機是否有按鍵按鍵處理比較設置溫度與當前溫度的大小取溫度點f1/f2yesno2,、主程序 程序開始的時候先設置初始化,然后就控制數碼管顯示當前溫度,接著就判斷f1,f2按鍵是否被按下。按下f1進入溫度控制點1的程序,按下f2進入溫度控制點2的程序。程序控制設置溫度的兩個數碼管閃爍時,此時鍵盤輸入有效。有按鍵按下的時候進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論