九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

數字溫度計 單片機

  • 資源ID:28604818       資源大?。?span id="24d9guoke414" class="font-tahoma">4.45MB        全文頁數:62頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

數字溫度計 單片機

西南科技大學本科畢業(yè)論文 IV數字測溫計設計摘要:隨著時代的進步和發(fā)展,單片機技術已經普及到我們生活、工作、科研、各個領域,已經成為一種比較成熟的技術。在工業(yè)生產中溫度是常用的被控參數,而采用單片機來對這些被控參數進行控制已成為當今的主流。本文主要介紹了一個基于AT89S51單片機的測溫系統(tǒng),詳細描述了利用數字溫度傳感器DS18B20開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現實現溫度采集和顯示,并可根據需要任意設定上下限報警溫度,它使用起來相當方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點,適合于我們日常生活和工、農業(yè)生產中的溫度測量,也可以當作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。DS18B20與AT89S51結合實現最簡溫度檢測系統(tǒng),該系統(tǒng)結構簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現場溫度測量,有廣泛的應用前景。關鍵詞:單片機;溫度傳感器;數字溫度計Design Of The Digital DhermometerAbstract:With the progress and development of era,microcontroller technology has become popular in our life,in the work,the scientific research and various fields,has become a relatively mature technology.The temperature measurement method and device of the highlights is very important.Posed by the single chip temperature sensor and temperature measurement system can be widely applied in many fields.The article mainly introduced based on the AT89S51 monolithic integrated circuits temperature measurement system, described the use digit temperature sensor DS18B20 development temperature measurement systems process in detail, key to sensors under monolithic integrated circuit hardware connection, the software programming as well as the various modules system flow has carried on the exhaustive analysis, 11 has also carried on the introduction to various part of electric circuits. This system may facilitate realizes temperature gathering and the demonstration, and may according to need to establish the bound warning temperature willfully, it uses quite conveniently, has the precision to be high, the measuring range width, the sensitivity are high, the volume is small, the power loss low status merit, suits in our daily life and the industry, the agricultural production temperature survey, may also treat as the temperature processing module to insert in other systems, takes other host systems auxiliary expansion. DS18B20 and at89S51 union realizes the most Jan temperature examination system, this system structure is simple, antijamming ability, suits under the adverse circumstance carries on the scene temperature survey, has the widespread application prospect.Key words:microcontroller;temperature sensor;temperature measurement system目錄第1章 緒論11.1 溫度計的介紹11.2 選題的目的和意義21.2.1選題的目的21.2.2選題的意義2第2章 數字溫度計的設計方案42.1 設計方案的確立及論證42.1.1 溫度傳感器DS18B20的選擇42.1.2 顯示器的選擇52.1.3 單片機AT89S51的選擇5第3章 系統(tǒng)硬件電路的設計73.1 主控制器73.1.1 AT89S51的介紹73.1.2 DS18B20的介紹93.1.3 DS18B20使用的注意事項163.2 單片機最小系統(tǒng)設計173.2.1 時鐘電路173.2.2 復位電路183.2.3 最小系統(tǒng)193.3 DS18B20與單片機接口電路的設計203.4 顯示電路的設計203.4.1 1602LCD液晶簡介20第4章 系統(tǒng)程序的設計244.1 系統(tǒng)設計內容244.1.1 主程序244.1.2 讀出溫度子程序244.1.3 溫度轉換命令子程序254.1.4 計算溫度子程序254.1.5 溫度數據的計算處理方法264.2 源程序274.2.1 DS18B20的各條ROM命令27第5章 調試及性能分析295.1 系統(tǒng)的調試295.2 性能分析30結論31社會經濟效益分析32致謝33參考文獻34附錄135附錄2錯誤!未定義書簽。附錄336附錄437西南科技大學本科畢業(yè)論文第1章 緒論1.1 溫度計的介紹溫度計是測溫儀器的總稱。根據所用測溫物質的不同和測溫范圍的不同,有煤油溫度計、酒精溫度計、水銀溫度計、氣體溫度計、電阻溫度計、溫差電偶溫度計、輻射溫度計和光測溫度計等。隨著科學技術的發(fā)展和現代工業(yè)技術的需要,測溫技術也不斷地改進和提高。由于測溫范圍越來越廣,根據不同的要求,又制造出不同需要的測溫儀器。下面介紹幾種。 氣體溫度計:多用氫氣或氦氣作測溫物質,因為氫氣和氦氣的液化溫度很低,接近于絕對零度,故它的測溫范圍很廣。這種溫度計精確度很高,多用于精密測量。 電阻溫度計:分為金屬電阻溫度計和半導體電阻溫度計,都是根據電阻值隨溫度的變化這一特性制成的。金屬溫度計主要有用鉑、金、銅、鎳等純金屬的及銠鐵、磷青銅合金的;半導體溫度計主要用碳、鍺等。電阻溫度計使用方便可靠,已廣泛應用。它的測量范圍為-260至600左右。 溫差電偶溫度計:是一種工業(yè)上廣泛應用的測溫儀器。利用溫差電現象制成。兩種不同的金屬絲焊接在一起形成工作端,另兩端與測量儀表連接,形成電路。把工作端放在被測溫度處,工作端與自由端溫度不同時,就會出現電動勢,因而有電流通過回路。通過電學量的測量,利用已知處的溫度,就可以測定另一處的溫度。它適用于溫差較大的兩種物質之間,多用于高溫和低濁測量。有的溫差電偶能測量高達3000的高溫,有的能測接近絕對零度的低溫。 高溫溫度計:是指專門用來測量500以上的溫度的溫度計,有光測溫度計、比色溫度計和輻射溫度計。高溫溫度計的原理和構造都比較復雜,這里不再討論。其測量范圍為500至3000以上,不適用于測量低溫。 指針式溫度計:是形如儀表盤的溫度計,也稱寒暑表,用來測室溫,是用金屬的熱脹冷縮原理制成的。它是以雙金屬片做為感溫元件,用來控制指針。雙金屬片通常是用銅片和鐵片鉚在一起,且銅片在左,鐵片在右。由于銅的熱脹冷縮效果要比鐵明顯的多,因此當溫度升高時,銅片牽拉鐵片向右彎曲,指針在雙金屬片的帶動下就向右偏轉(指向高溫);反之,溫度變低,指針在雙金屬片的帶動下就向左偏轉(指向低溫)。 玻璃管溫度計:玻璃管溫度計是利用熱脹冷縮的原理來實現溫度的測量的。由于測溫介質的膨脹系數與沸點及凝固點的不同,所以我們常見的玻璃管溫度計主要有:煤油溫度計、水銀溫度計、紅鋼筆水溫度計。他的優(yōu)點是結構簡單,使用方便,測量精度相對較高,價格低廉。缺點是測量上下限和精度受玻璃質量與測溫介質的性質限制。且不能遠傳,易碎。 壓力式溫度計:壓力式溫度計是利用封閉容器內的液體,氣體或飽和蒸氣受熱后產生體積膨脹或壓力變化作為測信號。它的基本結構是由溫包、毛細管和指示表三部分組成。壓力式溫度計的優(yōu)點是:結構簡單,機械強度高,不怕震動。價格低廉,不需要外部能源。缺點是:測溫范圍有限制,一般在-80400;熱損失大響應時間較慢。 水銀溫度計:水銀溫度計是膨脹式溫度計的一種,水銀的凝固點是 -38.87,沸點是 356.7,用來測量0-150或500以內范圍的溫度,它只能作為就地監(jiān)督的儀表。用它來測量溫度,不僅比較簡單直觀,而且還可以避免外部遠傳溫度計的誤差。1.2 選題的目的和意義1.2.1選題的目的 利用單片機AT89S51和溫度傳感器DS18B20設計一個設計溫度計,能夠測量20 100之間的溫度值,用LCD液晶屏直接顯示,測量精度為0.1。通過這次設計能夠更加了解數字溫度計的工作原理和熟悉單片機的發(fā)展和應用,鞏固所學的知識。1.2.2選題的意義隨著單片機技術的不斷發(fā)展,單片機在日用電子產品中的應用越來越廣泛,溫度傳感器DS18B20具有性能穩(wěn)定、靈敏度高、抗干擾能力強、使用方便等優(yōu)點,廣泛應用于冰箱、空調器、糧倉等日常生活中溫度的測量和控制。又隨著電子技術的發(fā)展,人們的生活日趨數字化,多功能的數字溫度計可以給我們的生活帶來很大的方便;支持“一線總線”接口的溫度傳感器簡化了數字溫度計的設計,降低了成本;以美國MAXIM/DALLAS半導體公司的單總線溫度傳感器DS18B20為核心,以ATMEL公司的AT89S51為控制器設計的DS18B20溫度控制器結構簡單、測溫準確、具有一定控制功能的智能溫度控制器。本課題研究的重要意義在于生產過程中隨著科技的不斷發(fā)展,現代社會對各種信息參數的準確度和精確度的要求都有了幾何級的增長,而如何準確而又迅速的獲得這些參數,就需要受制于現代信息基礎的發(fā)展水平。在三大信息信息采集(即傳感器技術)、信息傳輸(通信技術)和信息處理(計算機技術)中,傳感器屬于信息技術的前沿尖端產品,尤其是數字溫度傳感器技術,在我國各領域已經應用的非常廣泛可以說是滲透到社會的每一個領域,與人民的生活和環(huán)境的溫度息息相關。3第2章 數字溫度計的設計方案2.1 設計方案的確立及論證基本功能要求:(1)溫度測量范圍:20100度(2)測量精度:0.5度(3)顯示方式:四位顯示 (4)能夠運用Protues仿真擴展功能要求: (1)做出實物并調試成功(2)多點測試(3)多點溫度同時顯示2.1.1 溫度傳感器DS18B20的選擇方案一:水銀溫度計 在生活中我們經??吹剿y溫度計,它只能作為就地監(jiān)督的儀表,用它來測量溫度時,由于讀數時用眼睛觀察,主觀因素大,容易造成誤差大,而且不同是水銀溫度計量程不同,在讀數前需要看清它的最小分度值,還有它有熱慣性,需要等到溫度計達到穩(wěn)定狀態(tài)后才能讀數,比較麻煩,并且水銀有毒,不小心打破后接觸到水銀,對人體傷害大,所以危險性較高。方案二:傳統(tǒng)測溫元件 傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉換成對應的溫度,需要比較多的外部硬件支持,其缺點有:硬件電路復雜;軟件調試復雜;制作成本高。方案三:DS18B20傳感器測溫 本設計采用美國DALLAS半導體公司繼DS18B20之后推出的一種改進型智能溫度傳感器DS18B20作為檢測元件 DS18B20可以直接讀出被測溫度值,而且采用三線制與單片機相連,減少了外部的硬件電路,具有成本低和易使用的特點。 所以本設計采用方案三,用DS18B20作為溫度傳感器。2.1.2 顯示器的選擇方案一 LED顯示器采用傳統(tǒng)的七段數碼LED顯示器。LED雖然價格便宜,且能夠滿足一般的要求顯示0-9字符,但是現代的許多儀表、各種電子產品顯示要求很高,在這些產品中已經逐漸被LCD所取代。方案二LCD液晶屏采用LCD液晶屏進行顯示。LCD液晶顯示器是一種低壓、微功耗的顯示器件,只要23伏就可以工作,工作電流僅為幾微安,是任何顯示器無法比擬的,同時可以顯示大量信息,除數字外,還可以顯示文字、曲線,比傳統(tǒng)的數碼LED顯示器顯示的界面有了質的提高。在儀表和低功耗應用系統(tǒng)中得到了廣泛的應用。優(yōu)點為:(1) 顯示質量高,由于液晶顯示器的每一個點收到信號后就一直保持那種色彩和亮度恒定發(fā)光,因此液晶顯示器的畫質高而且不會閃爍。(2) 數字式接口,液晶顯示器都是數字式的,和單片機的接口簡單操作也很方便。(3) 功率消耗小,相比而言液晶顯示器的主要功耗在內部電極和驅動IC上,因而耗電量比其他器件要小很多。雖然LCD液晶屏的價格比LED數碼管要貴一些,但LCD液晶屏的顯示效果更好,是當今顯示屏的主流,在實際推廣運用中作用更大,所以在本設計中采用LCD 作為顯示屏。2.1.3 單片機AT89S51的選擇對于單片機的選擇,可以考慮使用8031與8051系列,由于8031沒有內部RAM,系統(tǒng)又需要大量內存存儲數據,因而不適用。AT89S51 是美國 ATMEL 公司生產的低功耗,高性能 CMOS8 位單片機,片內含 4kbytes 的可編程的 Flash 只讀程序存儲器,兼容標準 8051 指令系統(tǒng)及引腳。它集 Flash 程序存儲器既可在線編程(ISP),也可用傳統(tǒng)方法進行編程,所以低價位 AT89S51單片機可為提供許多高性價比的應用場合,可靈活應用于各種控制領域,對于簡單的測溫系統(tǒng)已經足夠。單片機AT89S51 具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產品的設計使用系統(tǒng)可用二節(jié)電池供電,因此選用AT89S51更適合。按照系統(tǒng)設計功能的要求,確定系統(tǒng)由4個模塊組成;主控制器、測溫電路、顯示電路。數字溫度計總體設計電路結構框圖如圖2-1所示:AT89S51復位電路顯示電路溫度傳感器時鐘電路圖2-1 系統(tǒng)框圖6第3章 系統(tǒng)硬件電路的設計3.1 主控制器單片機AT89S51是低功耗,高性能 CMOS8 位單片機,片內含 4kbytes 的可編程的 Flash 只讀程序存儲器,兼容標準 8051 指令系統(tǒng)及引腳。它集 Flash 程序存儲器既可在線編程(ISP),也可用傳統(tǒng)方法進行編程。3.1.1 AT89S51的介紹AT89S51實物如3-1圖所示:圖3-1 AT89S51 實物圖AT89S51主要特性及引腳如下與MCS-51 兼容4K字節(jié)可編程閃爍存儲器全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內部RAM32可編程I/O線兩個16位定時器/計數器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路 圖 3-2 AT89S51單片機引腳圖AT89S51 單片機為40 引腳雙列直插式封裝。其引腳排列和邏輯符號如圖3-2 所示。各引腳功能簡單介紹如下:VCC:供電電壓 GND:接地 P0口:P0口為一個8位漏級開路雙向I/O口,每個管腳可吸收8TTL門電流。當P0口的管腳寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部電位必須被拉高。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳電位被內部上拉電阻拉高,且作為輸入。作為輸入時,P2口的管腳電位被外部拉低,將輸出電流,這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉的優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入時,由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89S51的一些特殊功能口:P3.0 RXD(串行輸入口)l P3.1 TXD(串行輸出口)l P3.2 INT0(外部中斷0)l P3.3 INT1(外部中斷1)l P3.4 T0(記時器0外部輸入)l P3.5 T1(記時器1外部輸入)l P3.6 WR (外部數據存儲器寫選通)l P3.7 RD (外部數據存儲器讀選通)同時P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE / PROG :當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令時ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取址期間,每個機器周期PSEN兩次有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現。EA/VPP:當EA保持低電平時,訪問外部ROM;注意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,訪問內部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.2 DS18B20的介紹Dallas的最新單線數字溫度傳感器DS18B20簡稱新的“一線器件”體積更小、使用電壓更寬、更經濟。Dallas半導體公司的數字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統(tǒng)的構建引入全新概念。DS18B20測量溫度范圍為-55+125,在-10+85范圍內,精度為0.5?,F場溫度直接以“一線總線”的數字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持3V5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產品更便宜,體積更小。其實物圖如3-3圖所示:圖3-3 DS18B20的實物管腳分布圖DS18B20引腳及特點 (1)引腳功能說明GND是地址信號;DQ是數據輸入/輸出引腳,開漏單總線接口引腳,當被用在寄生電源下,也可以向器件提供電源;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。(2)DS18B20功能特點采用單總線技術,與單片機通信只需要一根I/O線,在一根線上可以掛接多個DS18B20。每只DS18B20具有一個獨有的,不可修改的64位序列號,根據序列號訪問地應的器件。低壓供電,電源范圍從3.05.5V,可以本地供電,也可以直接從數據線竊取電源(寄生電源方式)。測溫范圍為-55+125,在-10+85范圍內誤差為0.5??删庉嫈祿?12位,轉換12位溫度時間為750ms(最大)。用戶可自設定報警上下限溫度。報警搜索命令可識別和尋址超過程序限定溫度(溫度報警條件)的器件。DS18B20的分辨率由用戶通過EEPROM設置為912位。DS18B20可將檢測到溫度值直接轉化為數字量,并通過串行通信的方式與主控制器進行數據通信。負電壓特性,電源極性接反時,溫度計不會因為發(fā)熱而燒毀,只是不能正常工作。DS18B20的內部結構(1)DS18B20內部結構及功能圖3-4 DS18B20內部結構DS18B20采用3腳PR35封裝或8腳SOIC封裝,其內部結構如3.5圖所示,主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數據的高速暫存器RAM,用于存儲用戶設定溫度上下限值的TH和TL觸發(fā)器,存儲與控制邏輯,8位循環(huán)冗余校驗碼(CRC)發(fā)生器等7部分。如上圖3-4所示:(2)64位激光ROM 每一個DS18B20包括一個唯一個64位長的ROM編碼。64位ROM的位結構如下圖3-5所示。開始的8位是單線產品系列編碼(DS18B20編碼是10h);接著的48位是每個器件唯一的系列號;最后的8位是開始56位CRC檢驗碼。64位ROM和ROM操作控制部分允許DS18B20作為一個單線器件工作并遵循“單線總線系統(tǒng)”一節(jié)中所詳述的單線協(xié)議。直到ROM操作協(xié)議被滿足,DS18B20控制部分的功能是不可訪問的。單線總線主機必須首先操作五種ROM操作命令之一:1、Read ROM(讀ROM),2、Match ROM(匹配(ROM),3、Search ROM(搜索ROM),4、Skip ROM(跳過ROM),或5、Alarm Search(告警搜索)。在成功地執(zhí)行了ROM操作序列之后DS18B20特定的功能便可訪問,然后總線上主機可提供六個存儲器和控制功能命令之一。8位檢驗CRC 48位序列號 8位工廠代碼(10H) MSB LSB MSB LSB MSB LSB圖3-5 64位ROM結構框圖(3)運用報警信號 在DS18B20完成溫度變換之后,溫度值與貯存在TH和TL內的觸發(fā)值相比較。因為這些寄存器僅僅是8位,所以0.5位在比較時被忽略。TH或TL的最高比較位直接對應于16位溫度寄存器的符號位。如果溫度測量的結果高于TH或低于TL,那么器件內告警標志將置位。每次溫度測量更新此標志。只要告警標志置位,DS18B20將對告警搜索命令做出響應。這允許并聯(lián)接許多DS18B20,同時進行溫度測量。如果某處溫度超過極限,那么可以識別出正在告警的器件并立即將其讀出而不必讀出非告警的器件。(4)CRC產生 DS18B20有一存貯在64位ROM的最高有效字節(jié)內的8位CRC??偩€上的主機可以根據64位ROM的前56位計算機CRC的值并把它與存貯在DS18B20內的值進行比較以決定ROM的數據是否已被主機正確地接收。CRC的等效多項式函數為:CRC=X8+X5+X4+1 (公式3.1) DS18B20也利用與上述相同的多項式函數產生一個8位CRC值并把此值提供給總線的主機以確認數據字節(jié)的傳送。在使用CRC來確認數據傳送的每一種情況中,總線主機必須使用上面給出的多項式函數計算CRC的值并把計算所得的值或者與存貯在DS18B20的64位ROM部分中的8位CRC值(ROM讀數),或者與DS18B20中計算得到的8位CRC值(在讀暫存存貯器中時,它作為第九個字節(jié)被讀出),進行比較。CRC值的比較和是否繼續(xù)操作都由總線主機來決定。當存貯在DS18B20內或由DS18B20計算得到的CRC值與總線主機產生的值不相符合時,在DS18B20內沒有電路來阻住命令序列的繼續(xù)執(zhí)行。(5)存貯器 DS18B20的存貯器由一個高速暫存(便箋式)RAM和一個非易失性、電可擦除EEPROM組成,后者存貯高溫度和低溫度觸發(fā)器TH和TL。暫存存貯器有助于在單線通信時確保數據的完整性。數據首先寫入暫存存貯器,在那里它可以被讀回。當數據被校驗之后,復制暫存存貯器的命令把數據傳送到非易失性EEPROM。這一過程確保了更改存貯器時數據的完整性。高速暫存RAM的結構為9字節(jié)的存儲器,結構如3.7圖所示。前2字節(jié)包含測得的溫度信息。第3和第4字節(jié)是TH和TL的拷貝,是易失的,每次上電復位時刷新。第5字節(jié)為配置寄存器,其內容用于確定溫度值的數字轉換分辨率,DS18B20工作時按此寄存器中的分辨率將溫度轉換為相應精度的數值。該字節(jié)個位的定義如3.7圖所示,其中,低5位一直為1;TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式,在DS18B20出廠時,該位被設置為0,用戶不要去改動;R1和R0決定溫度轉換的精度位數,即用來設置分辨率,其定義方法見表3-6: R1 R0 分辨率/位 溫度最大轉換時間/ms0 0 9 93.750 1 10 187.51 0 11 3751 1 12 750表3-6 分辨率表3.6 DS18B20分辨率的定義和規(guī)定 由表3-6可見,DS18B20溫度轉換的時間較長,而且設定的分辨率越高,所需要的溫度數據轉換時間就越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。溫度LSB溫度MSBTH用戶字節(jié)1配置寄存器TH用戶字節(jié)2CRC保留保留保留1字節(jié)4字節(jié)6字節(jié)3字節(jié)5字節(jié)2字節(jié)8字節(jié)7字節(jié)9字節(jié)TH用戶字節(jié)1TL用戶字節(jié)2 圖3-7 高速暫存RAM結構圖 高速暫存的第6、7、8字節(jié)保留未用,表現為全邏輯1。第9字節(jié)是前面所有8字節(jié)的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。如圖3-7所示: 當DS18B20接受到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴張的二進制補碼形式存儲在暫存RAM的第1、2字節(jié)中。 二進制溫度圖中,S表示符號位。當S=0時,表示測得的溫度值為正值,可以直接將二進制轉換為十進制;當S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制值。表3-10是部分溫度值對應的表示數據。 表3-10 DS18B20溫度與表示值對應表溫度二進制表示十六進制表示溫度二進制表示十六進制表示+125000001111101000007D0H000000000000000000000H+8500000101010100000550H-0.51111111111111000FFF8H+25.062500000001100100010191H-10.1251111111001011110FF5EF+10.125000000001010001000A2H-25.06251111111001101111FE6FH+0.500000000000010000008H-551111110010010000FC90H DS18B20完成溫度轉換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內容作比較,若TTH或TTL,則將該器件內的報警標志位置位,并對主機發(fā)出的報警搜索命令做出響應。因此,可用多個DS18B20同時測得溫度并進行報警搜索。 在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼(CRC)。主機根據ROM的前56位來計算CRC值,并與存入DS18B20的CRC值作比較,以判斷主機收到的ROM數據是否正確。DS18B20的測溫原理 如圖3-11所示,圖中低溫度系數振蕩器的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給減法計數器1;高溫度系數振蕩器隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入。預置斜率累加器低溫度系數振蕩器減法計數器1預置減到0溫度寄存器計數比較器高溫度系數振蕩器減法計數器2減到0圖3-11 DS18B20測溫原理圖 圖中還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55所對應的一個基數分別置入減法計數器1和溫度寄存器中,減法計數器和溫度寄存器被預置在-55所對應的一個基數值。 減法計數器1對低溫度系數振蕩器產生的脈沖信號進行減法計數,當減法計數器1的預置減到0時,溫度寄存器的值將加1,減法計數器1的預置值將重新被裝入,并重新開始對低溫度系數振蕩器產生的脈沖信號進行計數。如此循環(huán),直到減法計數器2計數到0時,停止溫度計數器值的累加,此時溫度寄存器中的數值就是所測溫度值。圖3.9中的斜率累加器用于補償和修正測溫過程的非線形性,直到溫度寄存器達到被測溫度值。另外,DS18B20單線通信功能是分時完成的,有嚴格的時隙概念,因此讀/寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖發(fā)ROM功能命令發(fā)存儲器操作命令處理數據。3.1.3 DS18B20使用的注意事項DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題: (1)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20與微處理器間采用串行數據傳送,因此,在對DS18B20進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS18B20操作部分最好采用匯編語言實現。 (2)在DS18B20的有關資料中均未提及單總線上所掛DS18B20數量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此。當單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。 (3)連接DS18B20的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數據將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。因此,在用DS18B20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。 (4)在DS18B20測溫程序設計中,向DS18B20發(fā)出溫度轉換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當程序讀該DS18B20時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。3.2 單片機最小系統(tǒng)設計單片機最小系統(tǒng)就是指能使單片機工作的最少的器件構成的系統(tǒng)。因為單片機已經包含了數據存儲器和程序存儲器,所以只要在其外部加上時鐘電路和復位電路就可以構成單片機最小系統(tǒng)。3.2.1 時鐘電路圖3-12是時鐘電路的PROTEUS仿真圖。圖3-12時鐘電路單片機允許的振蕩晶體可在1.224MHz之間選擇,一般為11.0592MHz。電容C2,C3的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振速度有一定的影響,可在20100pF之間選擇,典型值位30pF。3.2.2 復位電路計算機每次開始工作,CPU和系統(tǒng)中的其他部件都必須要有一個確定的初值,即復位狀態(tài)。圖3-13是單片機復位電路仿真圖。圖3-13 復位電路單片機RST引腳是高電平有效。單片機在上電瞬間C1充電,RST引腳端出現正脈沖,只要RST斷保持兩個機械周期(大約10ms)以上的高電平,單片機就能復位。在單片機工作后,如果還想再次復位,只需按下開關,單片機就能重新變成復位狀態(tài)。當晶體振蕩頻率為12MHz時,RC的典型值為C=10F,R=8.2K。3.2.3 最小系統(tǒng)圖3-14是單片機最小系統(tǒng)的完整仿真圖。圖3-14 單片機最小系統(tǒng)19西南科技大學本科畢業(yè)論文3.3 DS18B20與單片機接口電路的設計 DS18B20可以采用兩種供電方式:一種是采用電源供電方式,此時DS18B20的第1引腳接地,第2引腳作為信號線,第3引腳接電源;另外一種是寄生電源供電方式當DS18B20處于寫存儲器操作和溫度A/D轉換操作時,總線上必須有強的上拉,上拉開啟時間最長為500ms。采用寄生電源供電方式時,VDD和GND端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。3.4 顯示電路的設計3.4.1 1602LCD液晶簡介1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊,它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此,所以它不能顯示圖形。1602LCD是指顯示的內容為162,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。1602LCD的特性(1)+5V電壓,對比度可調。(2)內含復位電路。(3)提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能。(4)有80字節(jié)顯示數據存儲器DDRAM。(5)內建有160個57點陣的字型的字符發(fā)生器CGROM。(6)8個可由用戶自定義的57的字符發(fā)生器CGROM。(7)字符型LCD1602通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線(16腳),如下表3-15所示: 表3.15液晶1602引腳表引腳符號功能說明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對比度調整段4RSRS為寄存器選擇,高電平1屎選擇數據寄存器、低電平0時選擇指令寄存器。5R/WR/W為讀寫信號線,高電平1時進行讀操作,低電平0時進行寫操作。6EE端為使能端,下降沿使用7DB0低4位三態(tài)、雙向數據總線0位(最低位)8DB1低4位三態(tài)、雙向數據總線1位9DB2低4位三態(tài)、雙向數據總線2位10DB3低4位三態(tài)、雙向數據總線3位11DB4低4位三態(tài)、雙向數據總線4位12DB5低4位三態(tài)、雙向數據總線5位13DB6低4位三態(tài)、雙向數據總線6位14DB7低4位三態(tài)、雙向數據總線7位(最高位)15BLA背光電源正極16BLK背光電源負極1602液晶模塊內部的控制器共有11條控制指令,如下表3-16所示: 表3-16 1602的控制指令序號指令RSR/WD7D6D5D4D3D2D1D01清顯示0000000012光標返回0000000013置輸入模式00000001I/DS4先是開/關控制0000001DCB5光標或字符移動000001S/CR/L6置功能00001DLNF7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數據存貯器地址001顯示數據存貯器地址9讀忙標志或地址01計數器地址10寫數到CGRAM10讀寫的數據內容11從CGRAM度數11讀出的數據內容指令1:清顯示,光標復位到地址00H位置。指令2:光標復位,光標返回到地址00H。指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。R/L,高向左,低向右。指令6:功能設置命令 DL:高電平時為8位總線,低電平時為4位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。(有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)指令7:字符發(fā)生器RAM地址設置,地址:字符地址*8+字符行數。(將一個字符分成5*8點陣,一次寫入一行,8行就組成一個字符)指令8:置顯示地址,第一行為:80H8FH,第二行為:C0HCFH。指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。指令10:寫數據。指令11:讀數據。58第4章 系統(tǒng)程序的設計4.1 系統(tǒng)設計內容系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉換命令子程序、計算溫度子程序、測量序列號子程序、顯示數據刷新子程序等。4.1.1主程序 主程序主要功能是負責溫度的實時顯示、讀出處理DS18B20的測量溫度值。主程序流程圖如圖4-1所示:開始調用顯示子程序顯示當前四路溫度初始化讀取并顯示序列號圖4-1 主程序流程圖4.1.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié)。在讀出時須進行CRC校驗,校驗有錯時不進行溫度數據的改寫。讀出溫度子程序流程圖如圖4-2所示: 開始復位DS18B20發(fā)跳過ROM命令發(fā)出溫度轉換命令轉換完畢復位DS18B20發(fā)匹配ROM命令發(fā)1個DS18B20序列號讀溫度值存入儲存器指向下一個延時NY圖4-2 讀出溫度子程序流程圖4.1.3 溫度轉換命令子程序溫度轉換命令子程序主要是發(fā)溫度轉換開始命令,當采用12位分辨率時,轉換時間約為750ms。在本程序設計中,采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如圖4-3所示:發(fā)DS18B20復位命令發(fā)跳過ROM命令發(fā)溫度轉換開始命令結束圖4-3 溫度轉換命令子程序流程圖4.1.4計算溫度子程序 計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定。計算溫度子程序流程圖如圖4-4所示:開始溫度零下?溫度值取補碼置“-”標志位計算小數位溫度BCD值計算小數位溫計算小數位溫度BCD值度BCD值結束置“+”標志NY圖4-4 計算溫度子程序流程圖4.1.5 溫度數據的計算處理方法 從DS18B20讀取出的二進制值必須轉換成十進制值,才能用于字符的顯示。DS18B20的轉換精度為912位,為了提高精度采用12位。在采用12位轉換精度時,溫度寄存器里的值是以0.0625為步進的,即溫度值為寄存器里的二進制值乘以0.0625,就是實際的十進制溫度值。通過觀察表4-1可以發(fā)現,一個十進制與二進制間有很明顯的關系,就是把二進制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個字節(jié)的二進制化為十進制后,就是溫度值的百、十、個位字節(jié),所以二進制值范圍是0F,轉換成十進制小數就是0.0625的倍數(015倍)。這樣需要4位的數碼管來表示小數部分。實際應用不必這么高的精度,采用1位數碼管來顯示小數,可以精確到0.1。表4.5 二進制與十進制的近似對應關系表小數部分二進制值0123456789ABCDEF十進制值00112334556678894.2 源程序4.2.1 DS18B20的各條ROM命令 (1)Read ROM33H。這條命令允許總線控制器獨到DS18B20的8位系列編碼、唯一的序列號和8位CRC碼。只要在總線上存在單只DS18B20時,才能使用該命令。如果總線上有不止一個從機,則當所有從機試圖同時傳送信號時就會發(fā)生數據沖突(漏極開路連在一起形成相“與”的效果)。(2)Match ROM55H.這是一條匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點總線上定位一只特定的DS18B20.只有與64位ROM序列完全匹配的DS18B20才能響應隨后的存儲器操作.所有與64位ROM序列不匹配的從機都將等待復位脈沖.這條命令在總線上有單個或多個器件時都可以使用.(3)Skip ROM0CCH.這條命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單點總線情況下,可以節(jié)省時間.如果總線上不止一個從機,則在Skip ROM命令之后跟著發(fā)一條讀命令.由于多個從機同時傳送信號,所以總線上就會發(fā)生數據沖突(漏極開路下拉效果相當于相“與”)。(4)Search ROM0F0H。當一個系統(tǒng)初次啟動時,總線控制器可能并不知道單線總線上有多少個器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。(5)Alarm Search0ECH。這條命令的流程與Search ROM相同。然而,只有在最近一次測溫后遇到符合報警條件的情況下,DS18B20才會響應這條命令。報警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。(6)Write Scratchpad4EH。這條命令向DS18B20的暫存器TH和TL中寫入數據。可以在任何時刻發(fā)出復位命令來中止寫入。(7)Read Scratchapad0BEH。這條命令讀取暫存器的內容。讀取將從第一字節(jié)開始,一直進行下去,直到第九字節(jié)(CRC)讀完。如果不想讀完所有字節(jié),則控制器可以在任何時間發(fā)出復位命令來中止讀取。(8)Copy Scratchpad48H。這條命令把暫存器的內容拷貝到DS18B20的EPROM存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到EPROM存儲器,則DS18B20就會輸出一個0;如果拷貝結束,則DS18B20輸出1。如果使用寄生電源,則總線控制器必須在這條命令發(fā)出后立即啟動強上拉,并最少保持10ms。(9)Convert T44H。這條命令啟動一次溫度轉換而無需其他數據。溫度轉換命令被執(zhí)行后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做時間轉換,則DS18B20將在總線上輸出0;如果溫度轉換成功,則輸出1。如果使用寄生電源,則總線控制器必須在發(fā)出這條命令后立即啟動強上拉,并保持500ms以上時間。(10)Recall E0B8H。這條命令把報警觸發(fā)器里的值拷貝回暫存器。這種拷貝操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數據了。若在這條命令發(fā)出之后發(fā)出讀數據隙,器件會輸出溫度轉換忙的標識:0表示忙;1表示完成。(11)Read Power Supply0B4H。若把這條命令發(fā)給DS18B20后發(fā)出讀時間隙,器件會返回它的電源模式0:0表示寄生電源;1表示外部電源。西南科技大學本科畢業(yè)論

注意事項

本文(數字溫度計 單片機)為本站會員(仙***)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!