




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-. z 題目:基于51單片機的數字溫度計設計 學生:寶班級:自動化083班*:指導教師:蘭君,唐耀庚 2021年12月26日 基于51單片機的數字溫度計設計摘要:隨著時代的進步和開展,單片機技術已經普及到我們生活,工作的方方面面。單片機已經走進了我們的生活,并有了不可替代的地位。而在工業五大根本參數中,溫度的測量尤其廣泛,可見準確的溫度對于工業開展來看有多大的作用。本文將介紹一種基于單片機的簡單數字溫度計,本溫度計可以畢竟準確地測量并顯示溫度,并實現上下限的報警功能。關鍵字:AT89C2051單片機 DS18B20 溫度測量 報警正文:第一章 緒論 溫度計這個詞對于我們來說應該都算是家喻戶曉
2、了,即使在我們孩提時,溫度計也是屢見不鮮。那時候我們見得最多的就當體溫計了,每次感冒生病了,量體溫是必不可少的,再后來我們又見到了氣溫計等一系列的溫度計。但是,這些溫度計總的來說都是模擬的,在數字化越來越普及的當代,數字產品的有點已被我們沒個人知曉。和傳統的溫度計相比,數字溫度計具有讀數方便,測溫圍廣,測溫準確等優點。在一些需要對溫度有準確測量的場所,數字溫度計有傳統溫度計無法替代的作用。在社會開展的方向來看,數字式儀表也是科技開展的潮流。該設計是以AT89C2051單片機為控制器,DS18B20為溫度傳感器,三位共陰極LED數碼管為顯示單元,發光二極管當報警裝置的數字溫度計,根本能夠滿足實際
3、應用的需要。 目前的智能溫度傳感器(亦稱數字溫度傳感器)是在20世紀90年代中期問世的,它是微電子技術、計算機技術和自動測試技術(ATE)的結晶,特點是能輸出溫度數據及相關的溫度控制量,適配各種微控制器(MCU)。社會的開展使人們對傳感器的要求也越來越高,現在的溫度傳感器正在基于單片機的根底上從模擬式向數字式,從集成化向智能化、網絡化的方向飛速開展,并朝著高精度、多功能、總線標準化、高可靠性及平安性、開發虛擬傳感器和網絡傳感器、研制單片測溫系統等高科技的方向迅速開展,本文將介紹智能集成溫度傳感器DS18B20的構造特征及控制方法,并對以此傳感器,89C51單片機為控制器構成的數字溫度測量裝置的
4、工作原理及程序設計作了詳細的介紹。與傳統的溫度計相比,其具有讀數方便,測溫圍廣,測溫準確,輸出溫度采用數字顯示,主要用于對測溫要求比擬準確的場所,或科研實驗室使用。該設計控制器使用ATMEL公司的AT89C51單片機,測溫傳感器使用DALLAS公司DS18B20,用液晶來實現溫度顯示。第二章 總體設計方案2.1 設計方案 方案的選擇主要在于溫度檢測方面的選擇,其它方面根本上都差不多。2.1.1 方案一 設計一個測溫電路,包括溫度傳感器,溫度變送器,A/D轉換電路。具體流程為溫度傳感器測量溫度信號,經過溫度變送器變換為電流信號,再通過A/D轉換器轉換為數字信號進入單片機進展處理,再在數碼管上顯示
5、。 采用熱電偶溫差電路測溫,溫度檢測局部可以使用低溫熱偶,熱電偶由兩個焊接在一起的異金屬導線所組成熱電偶的構成如圖 2.1,熱電偶產生的熱電勢由兩種金屬的接觸電勢和單一導體的溫差電勢組成。通過將參考結點保持在溫度并測量該電壓,便可推斷出檢測結點的溫度。數據采集局部則使用帶有A/D 通道的單片機,在將隨被測溫度變化的電壓或電流采集過來,進展A/D 轉換后,就可以用單片機進展數據的處理,在顯示電路上,就可以將被測溫度顯示出來。熱電偶的優點是工作溫度圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導線環路的噪聲影響以及漂移較高的缺點,并且這種設計需要用到A/D 轉換電路,感溫電路比擬麻煩
6、。圖2.1熱電偶電路圖2.1.2 方案二 溫度測量上使用集成芯片DS18B20,實現溫度測量并輸出數字信號,由單片機接收。該系統利用AT89C51芯片控制溫度傳感器DS18B20進展實時溫度檢測并顯示,能夠實現快速測量環境溫度,并可以根據需要設定上下限報警溫度。該系統擴展性非常強,它可以在設計中參加時鐘芯片DS1302以獲取時間數據,在數據處理同時顯示時間,并可以利用AT24C16芯片作為存儲器件,以此來對*些時間點的溫度數據進展存儲,利用鍵盤來進展調時和溫度查詢,獲得的數據可以通過MA*232芯片與計算機的RS232接口進展串口通信,方便的采集和整理時間溫度數據。 系統框圖如圖 2-1-2所
7、示圖2-1-2 DS18B20溫度測溫系統框圖2.1.3 方案選擇 根據上述兩種方案的設計思路可以看出來方案二更加容易實現和操作,而且電路相對簡單,軟件設計也比擬簡單,所以應選擇方案二。第三章 系統的硬件設計 根據經歷硬件設計思路而得系統的硬件應由一系列的模塊組成,根據本設計可以把此數字溫度計分解成以下5個根本模塊:溫度采集模塊、數值顯示模塊、報警模塊、單片機模塊、外存模塊,系統框圖如圖3.1所示。圖3.1 系統模塊框圖3.1 溫度采集模塊 溫度測量模塊是選用集成芯片DS18B20作為溫度的測量和変送,輸出信號為數字信號。DS18B20采用單總線的數據傳輸,可以直接通過一個I/O口向單片機接收
8、設置信號和向單片機發送溫度的測量值。3.1.1 DS18B20的構造DS18B20有耐磨耐碰,體積小,使用方便,封裝形式多樣等特點。本設計采用的封裝為PR-35,其引腳圖如3-1-1-1。由圖所示,DS18B20只有三個引腳,兩邊的引腳為電源的正于地,中間的信號引腳可以直接于單片機的I/O相連,這就大大簡化了溫度測量模塊的硬件電路。從圖3-1-1-2我們可以看出DS18B20部構造主要由四局部組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置存放器。圖3-1-1-1 DS18B20引腳圖 圖3-1-1-2 DS18B20部構造圖3-1-2 DS18B20的工作步驟 根據
9、DS18B20的通訊協議,主機控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進展復位,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進展預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。3-1-3 DS18B20于單片機的硬件連接因為DS18B20可以于單片機直接連接,所以連接的硬件電路圖非常簡單,硬件電路如圖3-1-3-1所示。圖3-1-3-1 DS18B20于單片機的硬件連接圖3.2 數值顯示模塊 數值顯
10、示模塊由三個帶有小數點的七段數碼管為主體,外加上拉電阻組成,硬件電路如圖3-2-1。增加的上拉電阻是為了提高數碼管的電流,依據此圖,可以得知顯示的圍為0999。由于只能顯示三位,所以準確都也不恒定,由0.01變化到1。圖3.2.1 數值顯示模塊圖3.3 報警模塊 報警模塊由5個發光二極管構成,當測量到的溫度值小于報警下限或大于報警上限,發光二極管發光。也可以通過5個發光二極管的發光情況判斷報警的是上限報警還是下限報警,報警電路的觸發信號是由單片機的P37引腳發出的。報警模塊的硬件電路如圖3-3-1所示。圖3-3-1 報警模塊電路圖3.4 單片機模塊 單片機模塊是系統的控制單元主要復雜系統的調控
11、,如接收溫度模塊的信號,處理并為顯示模塊,報警模塊等模塊提供信號。單片機模塊是以AT89C2051為根底外加單片機的外圍電路構成,外圍電路如晶振電路,復位電路,按鍵等。3.4.1 晶振電路 晶振電路由一個12M的晶振和兩個電容構成的一個無輸入,而輸出電路,其硬件電路如圖3-4-1-1所示。圖3-4-1-1 晶振電路圖 圖3-4-2-1 復位電路圖3-4-2 復位電路 本設計采用根本的復位電路,硬件電路如圖3-4-2-1。3.5 外存模塊 外存模塊是由24C08為根底組成了,24C08是8K位串行總線EEPROM,采用10248bit的組織構造以及兩線串行接口,具有頁寫能力。引腳排列和模塊電路如
12、圖3-5-1。圖3-5-1 24C08的引腳圖和外存模塊的硬件圖外存模塊是為了保存一定時間段一定時刻的溫度值,用來統計溫度在這段時間之中的變化情況。 系統的軟件設計在一個加工程序中,如果其中有些加工容完全一樣或相似,為了簡化程序,可以把這些重復的程序段單獨列出,并按一定的格式編寫成子程序。主程序在執行過程中如果需要*一子程序,通過調用指令來調用該子程序,子程序執行完后又返回到主程序,繼續執行后面的程序段。為了進一步簡化程序,可以讓子程序調用另一個子程序,這種程序的構造稱為子程序嵌套。在編程中使用較多的是二重嵌套。系統的軟件主要有以下子程序:溫度采集于處理子程序、顯示數據子程序、報警子程序、外存
13、存儲子程序等,主程序主要是根據實際情況把子程序進展合理的安排運行。4.1 主程序 主程序的主要功能是負責溫度的實時顯示,讀出并處理溫度采集模塊測量的當前溫度值,溫度測量沒1s進展一次。這樣可以在1s之處理完一個采集周期的其他事情,主程序的流程見圖4-1-1。圖4-1-1 主程序流程圖沒一秒中采集并刷新顯示一次溫度值,沒五分鐘保存一次溫度值。4.2 顯示子程序 顯示子程序就是把經過處理過的溫度值通過三個數碼管顯示出來,讓我們能夠容易而明白地知道即時的溫度值。顯示子程序先要判斷溫度值的正負大小來決定三個數碼管的分工,通過判斷正負來決定第一個數碼管顯示的是負號還是作為數據,通過判斷數據的大小來決定小
14、數點的位置,總共編輯了5種顯示方案。顯示子程序的流程圖如圖4-2-1所示。圖4-2-1 顯示子程序流程圖4.3 報警子程序 報警子程序是在溫度超過上、下限時啟動報警,程序流程圖如圖4-3-1。4.4 外存存儲子程序 外存存儲子程序所要實現的就是沒5分鐘外存空間存儲一次溫度值,程序流程圖如圖4-4-1。圖4-3-1 報警子程序程序流程圖 圖4-4-1 外存存儲子程序流程圖第五章 總結 該系統硬件電路比擬簡單明了,主要是由集成芯片和一些電阻電容組成,關鍵的還是在系統軟件方面。系統溫度測量圍廣,顯示圍可以從-99到999。當然數字溫度計的測量圍不會這么大,但因小數點位置變化而引起顯示情況的增加,就造
15、成程序的復雜性增加了。此系統是一個根底的數字溫度計系統,技術含量不是非常高,只是由一些根本的電路,子程序組成,但是組成系統的子程序比擬多,這就在我們做系統時的細心是個考驗。經過調試,本系統根本能滿足設計要求。 從這次的課程設計中,我真真正正的意識到,在以后的學習中,要理論聯系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經常的寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。 最后,還要感我的指導教師和熱心的同學,在他們的幫助下我的課程設計才能順利完成,你們!附錄一:系統原理圖附錄二:系統PCB圖附錄三:系統3D仿真圖附錄四:系統元器件清單AT89C2051
16、、24C08、DS18B20、晶振、4.7k電阻、10k電阻、電解電容各一個,按鍵兩個,1k電阻8個,發光二極管5個,100pF電容兩個附錄五:局部程序*include*define uchar unsigned char*define uint unsigned intsbit DQ=P14;/ds18b20與單片機連接口unsigned char code str=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f,0*39;/共陰數碼管字碼表unsigned char code str1=0*0bf,0*86,0*0db,0*0cf,0*0
17、e6,0*0ed,0*0fd,0*87,0*0ff,0*0ef,0*39;/個位帶小數點字碼表unsigned char code wei=0*0fe,0*0fd,0*0fb,0*0f7;uchar data disdata5;uint tvalue;/溫度值uchar tflag;/溫度正負標志/*ds1820程*/void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst()/*ds1820復位*/ unsigned char *=0;DQ = 1; /DQ復位delay_18B20(4); /延時DQ = 0; /DQ拉
18、低delay_18B20(100); /準確延時大于480usDQ = 1; /拉高delay_18B20(40);uchar ds1820rd()/*讀數據*/ unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; /給脈沖信號 dat=1; DQ = 1; /給脈沖信號 if(DQ) dat|=0*80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*寫數據*/unsigned char i=0; for (i=8; i0; i-) DQ = 0;
19、DQ = wdata&0*01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*讀取溫度值并轉換*/uchar a,b;ds1820rst();ds1820wr(0*cc);/*跳過讀序列號*/ds1820wr(0*44);/*啟動溫度轉換*/ds1820rst();ds1820wr(0*cc);/*跳過讀序列號*/ds1820wr(0*be);/*讀取溫度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvalue0*0fff) tflag=0; else tvalue=tvalue+1;tflag=1; tvalue=tvalue*(0.625);/溫度值擴大10倍,準確到1位小數return(tvalue);/*/void ds1820disp()/溫度值顯示 uchar flagdat; uchar i; disdata0=tvalue/100
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論