基于熱電偶的測溫系統設計-畢業設計完整版_第1頁
基于熱電偶的測溫系統設計-畢業設計完整版_第2頁
基于熱電偶的測溫系統設計-畢業設計完整版_第3頁
基于熱電偶的測溫系統設計-畢業設計完整版_第4頁
基于熱電偶的測溫系統設計-畢業設計完整版_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

PAGE32XXXX畢業設計設計題目:基于熱電偶的測溫系統設計機電工程系測控技術與儀器1班系別:_________________________測控技術與儀器1班XXX班級:_________________________XXXXx姓名:_________________________Xx指導教師:_________________________2014年6月11日XXXXXX畢業設計PAGE1PAGE32基于熱電偶的測溫系統設計摘要在工業生產過程控制中,溫度是一個重要的測量參數,而熱電偶是工程上應用最廣泛的溫度傳感器之一,他的主要特點就是測溫范圍寬,性能比較穩定,同時同時結構簡單,動態響應好,更能夠遠傳4-20mA電信號,便于自動控制和集中控制,在溫度測量中占有重要地位。但由于熱電偶的熱電勢與溫度成非線性關系增加了顯示與處理的復雜性;且隨著工業發展、自動化的不斷加強,對溫度精度要求越來越高。在現代化的工業現場,常用熱電偶測試高溫,測試結果送至主控機。由于熱電偶的熱電勢與溫度呈非線性關系,所以必須對熱電偶進行線性化處理以保持測試精度。該系統以單片機為控制核心,通過高精度模/數轉換器對熱電偶電動勢進行采樣、放大,并在單片機內采用一定算法實現對熱電偶的線性化處理并通過液晶屏顯示相應測量數據。關鍵詞:傳感器熱電偶模/數轉換器液晶屏Thedesignoftemperaturemeasurementsystembasedonthermocouple

AbstractIntheindustrialproductionprocesscontrol,thetemperatureisanimportantsurveyparameter,butthethermo-elementisintheprojectappliesoneofmostwidespreadtemperaturesensors,hismaincharacteristicisthetemperaturemeasurementscopeiswide,theperformancequiteisstable,simultaneouslythestructureissimultaneouslysimple,thetendencyresponds,canpassonthe4-20mAelectricalsignalfar,isadvantageousfortheautomaticcontrolandthecommoncontrol,holdstheimportantstatusinthetemperaturesurvey.Butbecausethethermo-elementthermoelectricforceandthetemperaturebecamethenon-linearrelationstoincreasethedemonstrationandtheprocessingcomplexity;Alsoalongwiththeindustrialdevelopment,theautomatedunceasingenhancement,ismoreandmorehightothetemperatureprecisionrequest.Thermocoupleisusedfrequentlyinhigh-temperaturetestinthemodernizedindustryscene,thenthetestresultsaredeliveredtomastercontrolmachine.Asthenon-linearrelationshipbetweenthermoelectricpotentialandtemperature,itmustbecarriedoutonthethermocouplelinearprocessinginordertomaintainaccuracyoftest.ItemploysSCMasacoreofcontrolling.Thisarticleisforthelinearizationofthermocouple.Thegeneralideaistostudyhigh-precisionA/Dconverter,whichsamplesandenlargesthethermoelectricpotentialfromthethermocouple,themeasurementdataisdisplayedbyLCDscreen

Keywords:sensorthermocoupleA/DconverterLCDscreen

1引言1.1設計背景和思路隨著電子信息技術、新材料及自動化技術的發展,傳感器技術也得到了日新月異的發展,單片機和自動控制系統在統諸多領域得到了極為廣泛的應用。我們不再局限于從環境中采集來模擬信號,而是考慮如何得到可處理的數字信號,所以我們把溫敏器件、A/D轉換器、存儲器集成在一起構成數字傳感器。在控制領域,具有更好的穩定性,更快和更準確的運算精度的C52系列單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,而數字傳感器與單片機更能夠有機聯系起來,傳感器采集所需信息并且將其數字化,這樣單片機就能夠對其進行直接處理,從而實現兩者的交互控制;其次由于單片機較強的核心控制能力,我們可以搭接輔助電路,進而得到實用的開發系統。測溫系統可以采用這種模式,目前人們對其測量的準確性以及便捷性要求越來越高,如果我們從微控制器技術著手,那將很好解決這個問題。隨著單片機技術的飛速發展,通過單片機對被控對象進行控制日益成為今后自動控制領域的一個重要發展方向,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數。例如:在冶金工業、化工生產、電力工程、造紙行業、機械制造和食品加工等諸多領域中,人們都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用MCS-52單片機來對溫度進行控制,不僅具有控制方便、組態簡單和靈活性大等優點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的問題。

在現代社會中,溫度控制不僅應用在工廠生產方面,其作用也體現到了各個方面,隨著人們生活質量的提高,酒店廠房及家庭生活中都會見到溫度控制的影子,溫度控制將更好的服務于社會。空調等家用電器隨著生產技術的發展和生活水平的提高越來越普及,一個簡單,穩定的溫度控制系統能更好的適應市場。1.2論文的研究任務與內容工業生產當中,工作環境對各種儀表或設備能夠發揮最佳性能、能否正常運行極為重要。而環境因素中一個很重要的物理量就是溫度,熱電偶是工程上應用最廣泛的溫度傳感器之一,它具有構造簡單、使用方便、準確度、熱慣性小、穩定性及復現性好、溫度測量范圍寬等優點,適用于信號的遠傳、自動紀錄和集中控制,在溫度測量中占有重要地位。本論文將傳統的熱電偶測溫技術結合自動控制技術、單片機控制技術和液晶顯示功能構成一個完整溫度測量系統,實現數字智能測溫。該測溫系統與傳統的測溫系統相比,具有讀數方便,測溫范圍廣,測溫準確,其輸出溫度采用數字顯示,并且消除了熱電偶帶來的非線性問題。此測溫系統既適合民用,在一定程度上也能滿足工業或科研的需求。本設計的主要內容是以89c52單片機為控制器,以k型熱電偶為傳感器,使用K型熱電偶專用的模數轉換器MAX6675和工業字符型液晶HJ1602A構建數字測溫系統。熱電偶采集溫度信號經過信號調理、模數轉換傳送到單片機,再通過HJ1602A顯示出所測溫度來完成設計任務。液晶顯示器MAX6675A/D轉化器STC89C52單片基單片機Sensors傳感器圖1系統框圖1.3設計的預期結果和意義溫度是一種最基本的環境參數,人民的生活與環境的溫度息息相關,在工業生產過程中需要實時測量溫度,在農業生產中也離不開溫度的測量,因此研究溫度的測量方法和裝置具有重要的意義。溫度是一個十分重要的物理量大于它的測量與控制又十分重要的意義。隨著現代工弄也技術的發展及人們對生活環境要求的提高,人們也迫切需要檢測與控制溫度:如大氣及空調房中的溫度高低直接影響著人們的身體健康;在大規模集成電路生產線上環境溫度不適當會嚴重影響產品的質量。測溫技術在生產過程中,在產品質量控制和檢測設備在線故障診斷和安全保護以及節約能源等方面發揮了重要作用。而隨著人們生活水平的不斷提高,科技不斷發達,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的。單片機在測控領域中具有十分廣泛的應用,它既可以測量電信號,又可以測量溫度濕度等非電信號。由單片機構成的溫度檢測、溫度控制系統可以廣泛應用于很多領域。單片機在工業控制、尖端武器、通信設備、信息處理、家用電器等各測控領域的應用中獨占鰲頭。今天我們的生活環境和工作環境有越來越多稱之為單片機的小電腦在為我們服務。時下,家用電器和辦公設備的智能化、遙控化、模糊控制話已成為世界潮流,而這些高性能無一不是靠單片機來實現的。而另一個目標便是傳感器。由于傳感器能將各種物理量、化學量和生物量等信號轉變為電信號,使得人們可以利用計算機實現自動化測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。本設計是將兩者結合,利用單片基結合傳感器技術而開發設計出一個溫度監控系統。該設計的預期結果就是設計出一套基于單片機控制的熱電偶測溫數字顯示系統并能proteus實現仿真。根據要求編寫出應用程序,繪制出protel電路圖,動手完成實物設計。2總設計方案本系統以AT89S52作為處理器,使用MAX6675作為溫度傳感器,配以溫度顯示。整個系統力求結構簡單,功能完善。使用溫度傳感器MAX6675+AT89S52,MAX6675將熱電偶測溫應用時復雜的線性化、冷端補償及數字化輸出等問題集中在一個芯片上解決,簡化了將熱電偶測溫方案應用于嵌入式系統領域時復雜的軟硬件設計,因而該器件是將熱電偶測溫方案應用于嵌入式系統領域的理想選擇。該方案的特色是AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。AT89S52使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,AT89S52擁有靈巧的8位CPU和在系統可編程Flash,使AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。MAX6675是一種高精度的集成芯片,體積小且不需要任何的其他外圍電路,大大的減少了電路中的元件和I/O連線,從而簡化了系統結構。初始化是調用顯示子程序是調用顯示子程序750ms到否?750ms到否?是是首次開機否?首次開機否?是是是讀出溫度值,計算溫度值并刷新是讀出溫度值,計算溫度值并刷新溫度轉換命令圖2程序流程圖3硬件系統設計3.1硬件組成熱電偶測溫系統主要由四部分組成:數據采集模塊、MAX6675模數轉換模塊、單片機控制及其外圍、液晶顯示模塊。其中微控制器采用AT89C52,液晶顯示部分可采用并行或串行傳輸數據。溫度傳感器溫度傳感器A/D轉換電路單片基控制系統圖3傳感器信號流圖如上圖所示,由三個模塊組成,分別為傳感器、A/D轉換、微處理器部分,由于MCU處理的是數字信號,所以需要A/D轉換電路對傳感器的數據進行數字化。事實上,MAX6675是數字傳感器,實則為集成了A/D轉換部分,當然也擁有其余很多新功能。3.2電路原理圖圖4測溫系統仿真電路原理圖圖4為溫度測試系統的仿真原理圖,系統整體硬件電路包括,傳感器數據采集電路,模數轉換電路,單片機主板電路,溫度顯示電路等。液晶顯示模塊集成了譯碼器,其8個段選分別與單片機的P1的8個I/O口相連,其余3個位選分別與P2.0—P2.2相連,MAX6675的數據口與單片機的P2.4-2.6相連,另外兩個口連在一塊接地,這也是寄生供電的方式,即是由數據線給MAX6675供電,其余幾個部分分別為單片機的時鐘電路、復位電路、電源電路,幾部分共同組成單片機的最小系統。3.3傳感器數據采集電路3.31熱電偶原理熱電偶是一種感溫元件,它把溫度信號轉換成熱電動勢信號,通過電氣儀表轉換成被測介質的溫度。熱電偶測溫的基本原理是兩種不同成份的均質導體組成閉合回路,當兩端存在溫度梯度時,回路中就會有電流通過,此時兩端之間就存在塞貝克電動勢熱電動勢,這就是所謂的塞貝克效應。兩種不同成份的均質導體位熱電極,溫度叫法噢的一端為工作端,溫度較低的一端為自由端,自由端通常處于某個恒定的溫度下。根據熱電動勢與溫度的函數關系,制成熱電偶分度表;分度表是自由端溫度在0℃時的溫度條件下得到的,不同的熱電偶就不同的分度表。在熱電偶回路中接入第三種金屬材料是,只要該材料的兩個接點溫度相同,熱電偶所產生的熱電勢將保持不變,即不受第三種金屬接入回路中的影響。因此,在熱電偶測溫時,可接入測量儀表,測得熱電動勢后,即可知道被測介質的溫度。3.3.2熱電偶優點熱電偶是工業常用溫度測溫元件,具有如下特點:1)測量精度高:熱電偶與被測對象直接接觸,不受中間介質的影響。2)熱響應時間快:熱電偶對溫度變化反應靈敏。3)測量范圍大:熱電偶從-40~1600℃均可持續測溫。4)性能可靠,機械強度好。5)使用壽命長,安裝方便。3.3.3熱電偶種類我國標準化熱電偶的常用種類:鉑銠10-鉑(分度號為S)、鉑銠13-鉑(R)、鉑銠30-鉑銠6(B)、鎳鉻-鎳硅(K)、鎳鉻-康銅(E)、鐵-康銅(J)、銅-康銅(T)和鎳鉻硅-鎳硅(N)。根據本設計技術要求測溫范圍0~300℃,精度±0.5℃。選擇K型熱電偶滿足要求。3.4模數轉換電路MAX6675是美國MAXIM公司生產的帶有冷端補償、線性校正、熱電偶斷線檢測的串行K型熱電偶模數轉換器,它的溫度分辨能力為0.25℃,冷端補償范圍為-20~+80℃,工作電壓為3.0~5.5V。文中介紹了MAX6675的功能特點、引腳排列及工作時序,給出了MAX6675與89C51的接口電路與編程設計方法。在工業溫度測控場合,K型熱電偶因其線性度好,價格便宜,測量范圍寬而得到廣泛的使用;但它往往需要冷端補償,且電路較復雜,調試麻煩。而MAXIM公司生產的K型熱電偶串行模數轉換器MAX6675不但可將模擬信號轉換成12bit對應的數字量,而且自帶冷端補償。其溫度分辨能力達0.25℃,可以滿足絕大多數工業應用場合。MAX6675采用SO-8封裝,體積小,可靠性好。3.4.1引腳排列及內部結構MAX6675芯片的引腳排列如圖5所示,各引腳的功能如下:T-:熱電偶負極(使用時接地);T+:熱電偶正極;SCK:串行時鐘輸入;CS:片選信號;SO:串行數據輸出;VCC:電源端;GND:接地端;N.C.:懸空,不用。圖5MAX6675的引腳圖3.4.2MXA6675工作原理及功能特點根據熱電偶測溫原理,熱電偶的輸出熱電勢不僅與測量端的溫度有關,而且與冷端的溫度有關,在以往的應用中,有很多種冷端補償方法,如冷端冰點法或電橋補償法等,但調試都比較麻煩。另外,由于熱電偶的非線性,以往是采用微處理器表格法或線性電路等方法來減小熱電偶本身非線性帶來的測量誤差,但這些都增加了程序編制及調試電路的難度。而MAX6675對其內部元器件的參數進行了激光修正,從而對熱電偶的非線性進行了內部修正。同時,MAX6675內部集成的冷端補償電路、非線性校正電路、斷線檢測電路都給K型熱電偶的使用帶來了極大的方便。其工作原理如圖6所示。MAX6675的特點如下:1.內部集成有冷端補償電路;2.內含熱電偶斷線檢測電路。3.帶有簡單的3位串行接口;4.可將溫度信號轉換成12位數字量,溫度分辨率達0.25℃;MAX6675內部集成有冷端補償電路;帶有簡單的3位串行SPI接口;可將溫度信號轉換成12位數字量,溫度分辨率達0.25℃;內含熱電偶斷線檢測電路。冷端補償的溫度范圍-20℃~80℃,可以測量0℃~1023.75℃的溫度,基本符合工業上溫度測量的需要,其串行接口時序如圖7所示。由接口時序可以看出,當MAX6675的引腳從高電平變為低電平時,MAX6675將停止任何信號的轉換并在時鐘SCK的作用下通過SO引腳向外輸出已轉化的數據(此數據是經過放大了的A/D轉換后的數字量與冷端補償之和);相反,當從低電平變回高電平時,MAX6675將進行新的轉換。在引腳從高電平變為低電平時,第一個字節D15出現在引腳SO上,一個完整的數據讀過程需要16個時鐘周期,數據的讀取通常在SCK的下降沿完成。值得指出的是此芯片的AD轉換速度在0.17~0.22s之間,比之一般的AD轉換芯片微秒級的轉換速度要長得多。圖6MAX6675工作原理圖圖7串行接口時序圖3.4.3MAX6675的工作時序當MAX6675的CS引腳從高電平變為低電平時,MAX6675將停止任何信號的轉換并在時鐘SCK的作用下向外輸出已轉化的數據。相反,當CS從低電平變回高電平時,MAX6675將進行新的轉換。在CS引腳從高電平變為低電平時,第一個字節D15將出現在引腳SO。一個完整的數據讀過程需要16個時鐘周期,數據的讀取通常在SCK的下降沿進行。MAX6675的輸出數據為16位,其中D15始終無用,D14~D3對應于熱電偶模擬輸入電壓的數字轉換量,D2用于檢測熱電偶是否斷線(D2為1表明熱電偶斷開),D1為MAX6675的標識符,D0為三態。需要指出的是:在以往的熱電偶電路設計中,往往需要專門的斷線檢測電路,而MAX6675已將斷線檢測電路集成于片內,從而簡化了電路設計。D14~D3為12位數據,其最小值為0,對應的溫度值為0℃;最大值為4095,對應的溫度值為1023.75℃;由于MAX6675內部經過了激光修正,因此,其轉換結果與對應溫度值具有較好的線性關系。溫度值與數字量的對應關系為:溫度值=1023.75×轉換后的數字量/4095。3.4.4MAX6675與89C52的接口實現MAX6675采用標準的SPI串行外設總線與單片機接口,因此它只能作為從設備即串行接口芯片。SPI(SerialPeripheralInterface)總線系統是一種同步串行外設接口,是Motorola公司推出的總線標準,它可以使單片機與各種外圍設備以串行方式進行通信以交換數據。以單路熱電偶為例來說明MAX6675與C51系列單片機的接口連接。由于C51系列單片機不具有SPI串行總線接口,可以使用軟件來模擬SPI操作,包括串行時鐘、數據輸入和數據輸出。如圖4所示,串行外部時鐘由P3.1提供,它是單片機的串行輸出口TXD,對應于SCK的串行時鐘輸入;片選信號由P3.2提供;轉換數據由P3.0讀取,它是單片機的串行輸入口RXD,對應于SO的串行輸出。MAX6675的轉換結果在SCK的控制下連續輸出。值得指出的是我們將串行時鐘輸出口P3.1的初始狀態設置為1,而在允許接口后再置P3.1為0。這樣,單片機在輸出1位SCK時鐘的同時,將使接口芯片串行左移,從而輸出一位數據至單片機的P3.0口(模擬MISO線),以后再置P3.1為1。至此,模擬一位數據輸入過程完成。圖8MAX6675與89C51系列連接示意圖3.4.4MAX6675芯片注意事項為了正確使用MAX6675芯片,設計時還必須注意以下幾點:(1)利用輸出數據中的D2進行斷偶檢測時,熱電偶的輸入負極T-必須接地,且應盡可能地靠近MAX6675的引腳地(即PIN1);(2)由于冷端溫度是由MAX6675本身檢測的,因此,為了提高測量的精確度,電路板的地線盡可能地大;(3)由于熱電偶信號為微弱信號,因此要盡可能地采取措施防止噪聲干擾。可在MAX6675電源與地線之間接一個0.1μF的陶瓷電容。3.5單片機主板電路AT89C52是51系列單片機的一個型號,它是ATMEL公司生產的。AT89C52是一個低電壓,高性能CMOS8位單片機,片內含8kbytes的可反復擦寫的Flash只讀程序存儲器和256bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復雜系統控制應用場合。3.5.1AT9C52引腳排列及內部結構如圖9所示,AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。主要性能參數是:兼容MCS51指令系統·8k可反復擦寫(>1000次)FlashROM·32個雙向I/O口·256x8bit內部RAM·3個16位可編程定時/計數器中斷·時鐘頻率0-24MHz·2個串行中斷·可編程UART串行通道·2個外部中斷源·共6個中斷源·2個讀寫中斷口線·3級加密位·低功耗空閑和掉電模式·軟件設置睡眠和喚醒功能圖9AT9C52引腳介紹1)P0口P0口是一組8位漏極開路型雙向I/O口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash編程時,P0口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。2)P1口P1是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數器2的外部計數輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表1。Flash編程和程序校驗期間,P1接收低8位地址。表1P1.0和P1.1的第二功能引腳號功能特性P1.0T2,時鐘輸出P1.1T2EX(定時/計數器2)3)P2口P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執行MOVX@DPTR指令)時,P2口送出高8位地址數據。在訪問8位地址的外部數據存儲器(如執行MOVX@RI指令)時,P2口輸出P2鎖存器的內容。Flash編程或校驗時,P2亦接收高位地址和一些控制信號。4)P3口P3口是一組帶有內部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表2所示:表2P3口第二功能表端口引腳第二功能特性P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4TO(定時/計數器0外部輸入)P3.5T1(定時/計數器1外部輸入)P3.6WR(外部數據存儲器寫選通)P3.7RD(外部數據存儲器讀選通)P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。5)RST復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。6)ALE/PROG當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于存地址的低8位字節。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE禁止位無效。7)PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。8)EA/VPP外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU則執行內部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。9)XTAL1振蕩器反相放大器的及內部時鐘發生器的輸入端。10)XTAL2振蕩器反相放大器的輸出端。3.5.3單片機最小系統介紹單片機最小系統主要由電源、復位、振蕩電路以及擴展部分等部分組成。最小系統原理圖如圖10所示。圖10最小系統電路圖◆電源供電模式圖11電源模塊電路圖對于一個完整的電子設計來講,首要問題就是為整個系統提供電源供電模塊,電源模塊的穩定可靠是系統平穩運行的前提和基礎。51單片機雖然使用時間最早、應用范圍最廣,但是在實際使用過程中,一個和典型的問題就是相比其他系列的單片機,51單片機更容易受到干擾而出現程序跑飛的現象,克服這種現象出現的一個重要手段就是為單片機系統配置一個穩定可靠的電源供電模塊。此最小系統中的電源供電模塊的電源可以通過計算機的USB口供給,也可使用外部穩定的5V電源供電模塊供給。電源電路中接入了電源指示LED,圖中R11為LED的限流電阻。S1為電源開關。◆復位電路圖12復位電路圖單片機的置位和復位,都是為了把電路初始化到一個確定的狀態,一般來說,單片機復位電路作用是把一個例如狀態機初始化到空狀態,而在單片機內部,復位的時候單片機是把一些寄存器以及存儲設備裝入廠商預設的一個值。單片機復位電路原理是在單片機的復位引腳RST上外接電阻和電容,實現上電復位。當復位電平持續兩個機器周期以上時復位有效。復位電平的持續時間必須大于單片機的兩個機器周期。具體數值可以由RC電路計算出時間常數。復位電路由按鍵復位和上電復位兩部分組成。(1)上電復位:STC89系列單片及為高電平復位,通常在復位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電回路保證單片機在上電時RST腳上有足夠時間的高電平進行復位,隨后回歸到低電平進入正常工作狀態,這個電阻和電容的典型值為10K和10uF。(2)按鍵復位:按鍵復位就是在復位電容上并聯一個開關,當開關按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復位。◆振蕩電路圖13振蕩電路圖單片機系統里都有晶振,在單片機系統里晶振作用非常大,全程叫晶體振蕩器,他結合單片機內部電路產生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片接的一切指令的執行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振蕩器(VCO)。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。單片機晶振的作用是為系統提供基本的時鐘信號。通常一個系統共用一個晶振,便于各部分保持同步。有些通訊系統的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。晶振通常與鎖相環電路配合使用,以提供系統所需的時鐘頻率。如果不同子系統需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環來提供。STC89C52使用11.0592MHz的晶體振蕩器作為振蕩源,由于單片機內部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在15pF至50pF之間。3.5.4AT89C52功能特點作為比較經典的一款單片機,AT89C52具有低電壓供電和體積小等特點,功耗不是很高很適合便攜手持式產品的設計使用系統可用二節電池供電;此外,這款單片機指令系統比較豐富,已經能滿足此系統的開發使用。AT89C52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。AT89C52具有以下標準功能:●與MCS51單片機產品兼容;●8K支持在線編程(ISP)的FLASH結構程序存儲器,1000次擦寫壽命;●工作電壓為4.0V~5.5V;●全靜態工作:0~24MHz;●3級程序安全加密保護;●256*8位內部RAM;●32個可編程I/O端口;●3個16位定時器/計數器;●8個中斷源;●一個全雙工異步串口;●支持低功耗及掉電模式;3.6液晶顯示電路圖14液晶顯示電路3.6.1HJ1602A概述HJ1602A是一種工業字符型液晶,能夠同時顯示16×02即32個字符。(16列2行)3.6.2主要技術參數顯示容量芯片工作電壓工作電流模塊最佳工作電壓字符尺寸16*2個字符4.5-5.5V2.0mA(5.0V)5.0V2.95×4.35(WXH)mm3.6.3引腳借口說明表編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R/W讀/寫選擇13D6數據6E使能信號14D7數據7D0數據15BLA背光源正極8D1數據16BLK背光源負極第1腳:VSS為地電源;第2腳:VDD接5V正電源;第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度;第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器;第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據;第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令;第7~14腳:D0~D7為8位雙向數據線;第15腳:背光電源正極;第16腳:背光電源負極。3.6.4SMC1602A(16*2)模擬口線接線方式連接線圖:|DB0P1.0|DB4P1.4|RWP2.0||DB1P1.1|DB5P1.5|RSP2.1||DB2P1.2|DB6P1.6|EP2.2||DB3P1.3|DB7P1.7|VSSGND||VDD+5V|VEE接1K電阻到+5V|3.6.51062LCD的指令說明及時序1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標復位到地址00H位置。指令2:光標復位,光標返回到地址00H。指令3:光標和顯示模式設置I/D,光標移動方向,高電平右移,低電平左移S:屏幕上所有的文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示C:控制光標的開關,高電平表示有光標,低電平表示無光標B:控制光標是否閃爍高電平閃爍,低電平不閃爍。指令5:光標或顯示位移S/C:高電平時移動顯示的文字,低電平時移動光標。指令6:功能設置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F:低電平時顯示5×7的點陣字符,高電平時顯示5×10的點陣字符。指令7:字符發生器RAM地址位置。指令8:DDRAM地址設置。指令9:讀忙信號和光標地址BF:為忙碌標志位,高電平表示忙,此時模塊不能接受命令或者數據,如果為低電平表示不忙。指令10:寫數據。指令11:讀數據。3.6.6讀寫操作時序表讀寫操作時序如圖所示圖15讀操作時序圖16寫操作時序4軟件設計軟件是整個系統的靈魂,它是算法和功能實現的關鍵。軟件設計包括主程序、顯示子程序和中斷服務程序。4.1主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理MAX6675的測量的當前溫度值,溫度測量每750ms進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖4.1所示。初始化的過程主要是由主機發出一復位脈沖,然后等待從機MAX6675響應的過程,其中也包括對MAX6675存儲器的設置。當初始化后,若是首次開機,此時系統會進入讀溫度,計算并刷新,進而由單片機轉換溫度,最后由LED顯示;如果不是首次開機,則直接進行溫度轉換,顯示已測溫度值,再有LED顯示。這個過程的時間是極短的,顯示子程序的調用也是實時的。程序中告警的條件定義為溫度高于TH或低于TL。只要MAX6675一上電,完成溫度轉換后,會把測得的溫度值與RAM中的用戶自定義的TH、TL字節對比,若超限,則把該器件內的報警標志位置位,主機可進行搜索。/******************************主程序*****************************************/voidmain(void){delay_nms(10);LCD_init();//LCD初始化delay_nms(50);CLEARSCREEN; //清屏delay_nms(10);LCD_write_string(0,LINE1,"temperatureTEST");LCD_write_char(8,LINE2,0X2e);//顯示"點"LCD_write_char(10,LINE2,0XDF);//顯示"度" LCD_write_char(11,LINE2,0X43);//顯示"C"while(TRUE){ tempdisp(); delay_nms(100);}}4.2顯示子程序P1.0P1.0P1.1P1.2冷端溫度顯示熱電勢緩沖區結果顯示動態掃描返回圖17顯示程序●溫度值顯示程序***********************************溫度值顯示**********************************/voidtempdisp(){unsignedinttemp;intTempValue;unsignedinttestD2;unsignedintxiaoshu;xiaoshu=TempValue=ReadMAX6675();//讀取MAX6675轉換后的溫度數值; TempValue=TempValue<<1;//去掉第15位TempValue=TempValue>>3;//去掉第0~2位TempValue=TempValue/4; //MAX6675最大數值為1023。75,而AD精度為12位,即2的12次方為4096,轉換對應數,故要除4;xiaoshu=xiaoshu<<10; //去掉第6~15位xiaoshu=xiaoshu>>3;//取3,4,5位小數xiaoshu=xiaoshu/4; //與上述同理;if(TempValue>=260) { TempValue=TempValue+3;disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是對應LCD里的ROM字符位置編碼disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是對應LCD里的ROM字符位置編碼disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是對應LCD里的ROM字符位置編碼disdata[3]=TempValue%10/1+0x30;//個位+0x30是對應LCD里的ROM字符位置編碼disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是對應LCD里的ROM字符位置編碼 LCD_write_char(4,LINE2,disdata[0]); //顯示千位 LCD_write_char(5,LINE2,disdata[1]); //顯示百位 LCD_write_char(6,LINE2,disdata[2]); //顯示十位 LCD_write_char(7,LINE2,disdata[3]); //顯示個位 LCD_write_char(9,LINE2,disdata[4]); //顯示分位 } elseif(TempValue>180) { TempValue=TempValue+2; disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是對應LCD里的ROM字符位置編碼disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是對應LCD里的ROM字符位置編碼disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是對應LCD里的ROM字符位置編碼disdata[3]=TempValue%10/1+0x30;//個位+0x30是對應LCD里的ROM字符位置編碼disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是對應LCD里的ROM字符位置編碼 LCD_write_char(4,LINE2,disdata[0]); //顯示千位 LCD_write_char(5,LINE2,disdata[1]); //顯示百位 LCD_write_char(6,LINE2,disdata[2]); //顯示十位 LCD_write_char(7,LINE2,disdata[3]); //顯示個位 LCD_write_char(9,LINE2,disdata[4]); //顯示分位 } else { disdata[0]=(TempValue/1000)%10+0x30;//千位+0x30是對應LCD里的ROM字符位置編碼disdata[1]=(TempValue/100)%10+0x30;//百位+0x30是對應LCD里的ROM字符位置編碼disdata[2]=(TempValue/10)%10+0x30;//十位+0x30是對應LCD里的ROM字符位置編碼disdata[3]=TempValue%10/1+0x30;//個位+0x30是對應LCD里的ROM字符位置編碼disdata[4]=(xiaoshu)%10+0x30;//分位 +0x30是對應LCD里的ROM字符位置編碼 LCD_write_char(4,LINE2,disdata[0]); //顯示千位 LCD_write_char(5,LINE2,disdata[1]); //顯示百位 LCD_write_char(6,LINE2,disdata[2]); //顯示十位 LCD_write_char(7,LINE2,disdata[3]); //顯示個位 LCD_write_char(9,LINE2,disdata[4]); //顯示分位 } }●LCD函數處理程序/********************************************************************//********************LCD函數部份***********************************/voidLCD_delay(void){unsignedchari;for(i=LCD_DELAY_TIME;i>ZERO;i--);}/********************************************************************/voidLCD_en_command(unsignedcharcommand){LCD_delay();LCD1602_RS=LOW;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=command;LCD1602_EN=LOW;}/********************************************************************/voidLCD_en_dat(unsignedchardat){LCD_delay();LCD1602_RS=HIGH;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=dat;LCD1602_EN=LOW;}/********************************************************************/voidLCD_set_xy(unsignedcharx,unsignedchary){unsignedcharaddress;if(y==LINE1)address=LINE1_HEAD+x;elseaddress=LINE2_HEAD+x;LCD_en_command(address);}/********************************************************************/voidLCD_write_char(unsignedx,unsignedchary,unsignedchardat){LCD_set_xy(x,y);LCD_en_dat(dat);}/********************************************************************/voidLCD_write_string(unsignedcharX,unsignedcharY,unsignedchar*s){LCD_set_xy(X,Y);//設置顯示XY地址while(*s)//寫字符{LCDIO=*s;LCD_en_dat(*s);s++;}}/********************************************************************/voidLCD_init(void){LCD_en_command(DATA_MODE);//8位模式LCD_en_command(DATA_MODE);LCD_en_command(DATA_MODE);LCD_en_command(DATA_MODE);LCD_en_command(OPEN_SCREEN);//開顯示LCD_en_command(DISPLAY_ADDRESS);//設定顯示起始位CLEARSCREEN;//清屏}/***********************延時*********************************/voiddelay_nms(unsignedintn){unsignedinti=0,j=0;for(i=n;i>0;i--)for(j=0;j<1140;j++);}/********************************************************************/4.3延時子程序/********************************************************************/voidLCD_delay(void);//LCD延時函數voidLCD_en_command(unsignedcharcommand);//LCD寫指令voidLCD_en_dat(unsignedchartemp);//LCD寫數據voidLCD_set_xy(unsignedcharx,unsignedchary);//設置LCD顯示位置voidLCD_write_char(unsignedx,unsignedchary,unsignedchardat);//向LCD寫入一個字符voidLCD_write_string(unsignedcharX,unsignedcharY,unsignedchar*s);//向LCD寫入一串字符voidLCD_init(void);//LCD初始化函數/********************************************************************/voiddelay_nms(unsignedintn);//延時函數/********************************************************************//***********************從MAX6675讀取溫度*********************************************/unsignedintReadMAX6675(){unsignedcharcount;MAX6675_CS=0;//置低,使能MAX6675MAX6675_SCK=1;Value=0;_nop_();_nop_();_nop_();for(count=16;count>0;count--)//獲取16位MSB{MAX6675_SCK=0;//sck置低Value=Value<<1;//左移if(MAX6675_SO==1)//取當前值Value|=0x0001;elseValue&=0xffff;MAX6675_SCK=1;_nop_();_nop_();_nop_();_nop_();}MAX6675_CS=1;//關閉MAX6675returnValue;}5課設總結本次設計師以AT89S52作為核心,使用MAX6675轉換和K型溫度傳感器,配以溫度顯示。整個系統力求結構簡單,功能完善。通過近半年的畢業設計,收獲頗多!在做本次畢業設計的過程中,我感觸最深的當屬查閱大量的設計資料了。為了讓自己的設計更加完善,查閱這方面的設計資料是十分必要的,同時也是必不可少的。我們是在做設計,但我們不是藝術家,他們可以拋開實際盡情在幻想的世界里翱翔,而我們一切都要有據可依,有理可尋,不切實際的構想永遠只能是構想,永遠無法升級為設計。

其次,在這次課程設計中,我們運用到了以前所學的專業課知識,如:proteus制圖、c語言、模擬和數字電路知識等。雖然過去從未獨立應用過它們,但在學習的過程中帶著問題去學我發現效率很高,這是我做這次課程設計的又一收獲。最后,要做好一個課程設計,就必須做到:在設計程序之前,對所用單片機的內部結構有一個系統的了解,知道該單片機內有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設計程序時,不能妄想一次就將整個程序設計好,反復修改、不斷改進是程序設計的必經之路;要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設計課程過程中遇到問題是很正常德,但我們應該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設計結束了,但是從中學到的知識會讓我受益終身。發現、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學習、工作和生活中。設計過程,好比是我們人類成長的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。

通過這次課程設計我也發現了自身存在的不足之處,雖然感覺理論上已經掌握,但在運用到實踐的過程中仍有意想不到的困惑,經過一番努力才得以解決。這也激發了我今后努力學習的興趣,我想這將對我以后的學習產生積極的影響。

通過這次設計,我懂得了學習的重要性,了解到理論知識與實踐相結合的重要意義,學會了堅持、耐心和努力,這將為自己今后的學習和工作做出了最好的榜樣。我覺得作為一名自動化專業的學生,單片機的課程設計是很有意義的。更重要的是如何把自己平時所學的東西應用到實際中。

課程設計反映的是一個從理論到實際應用的過程,但是更遠一點可以聯系到以后畢業之后從學校轉到踏上社會的一個過程。6謝辭四年的大學生活如白駒過隙般在我們身邊匆匆滑過,豐富多彩的大學時代悄悄的離我們遠去。但是,這四年的生活學習是我一生之中最為重要的一部分,是我們從青年走向成年、從青澀走向成熟最為重要的過渡階段。四年的大學生涯讓我結識了很多、學到了很多:有老師如蠟燭般的無私教授,有同學兄弟般的真誠對待。為此,在即將結束我大學時代時,我真誠的感謝這四年來給予我支持、幫助和關愛的所有人,大家都是我的良師益友,是我一生的財富。四年的大學生活就要結束,半年的畢業設計也到了尾聲,由于本人知識水平和設計能力有限,本次的設計還存在著很多的不足和瑕疵,為此,我懇請各位老師給予我批評和指正,是我能夠學到更多的東西。本次畢業設計是在我的指導老師魏麗老師的耐心指導、悉心幫助下完成。在這將近半年的時間里,魏老師對我們小組進行了系統詳實的輔導,我們的設計才能夠真正順利、完整的完成。每周魏老師都會了解我們進度,為我們解答設計中出現的難題。在本次的設計中,魏老師給作者的印象不僅是對課題研究時的科研作風嚴謹、對工作的認真對待、學識水平的深厚。更重要的是,魏老師在生活中對我們的關心和幫助。魏老師還經常會和我們一起研究、學習,使我們能夠更好更快的完成設計。在這里,作者向為我們付出巨大心血,督促、幫助、指導我們的魏老師報一聲:謝謝您為我們付出的一切。此時此刻,隨著論文的不斷深入我的不舍之情也越來越深。我知道我距離開我的老師和同學的時間也越來越近。對于許多給予我幫助的機電工程系的老師和同學,我發自內心的感謝你們!最后我還要感謝含辛茹苦養育我長大的父母,謝謝你們!再次感謝魏老師對我耐心的指導與悉心的照顧。感謝本組其他同學熱情的幫助!感謝所有關心、幫助過我的所有老師和同學!最后感謝我的母校——唐山學院四年對我的大力培養。7參考文獻[1]鄭曉文.關于熱電偶溫度冷端補償問題的探討.字航計測技術.2002,22(6):53-59[2]王幸之等.單片機應用系統抗干擾技術.北京:北京航大航空大學出版社,2001[3]徐愛鈞,彭秀華.KeilCxs1V7.o單片機高級語言編程與林VisionZ應用實踐.電子工業出版社,2004[4]王為青,程國鋼.單片機KeilC5l應用開發技術.北京:人民郵電出版社,2007[5]凌振寶,王君,朱凱光.數字溫度傳感器在熱電偶溫度補償中的應用.傳感器技術.2003,22(6):45-46[6]MaximIntegratedProduets.DS18B20Datasheet[EB/OL]./pdfserv/en/ds/DS18B20.Pdf[7]張志利,蔡偉.基于AD590的溫度測控裝置研究.白動化與儀器儀表,2001,2:37-39[8]李廣第,朱月秀,冷祖祁.單片機基礎第版北京北京航空航天大學出版社,2007.6[9]孫紅均,張濤,王超.智能儀器儀表北京清華大學出版社,2007[10]陳正,喻紅,熱電偶測溫的線性化處理模塊計量技術,1999,12:23-25[11]呂小紅,周鳳星,馬亮.基于單片機的電阻爐溫度控制系統設計微計算機信息,2008,6-2119-120[12]王蓬,李少遠.一類非線性系統的多模型預測控制.控制與決策,2007(10):1113—1118.[13]王樹青,榮岡,金曉明,王寧.先進控制技術及應用.第1版:化學工業出版社,2001.7:110—123[14]崔志尚.溫度計量與測試.北京:中國計量出版社,1998.[15]劉君華.現代測試技術與系統集成.北京:電子工業出版社,2004.DS1820單總線數字溫度計DSl820數字溫度計提供9位(二進制)溫度讀數指示器件的溫度。信息經過單線接口送入DSl820或從DSl820送出因此從主機CPU到DSl820僅需一條線(和地線)。寫數據,讀溫度轉換可以由數據線本身來提供電源而不需要一個外部電源。由于每個DS18B20的包含一個唯一的序列號,因此任意多個DSl820可以存放在同一條單線總線上。這允許在不同的地方放置溫度傳感器。此功能可應用的地方包括空調環境控制,建筑物內的溫度感應,設備或機器的過程監控和控制。1綜述DS18B20的有四個主要的數據部分組成:1)64位激光ROM,2)溫度靈敏元件,3)非易失性溫度報警觸發器TH和TL,4)配置寄存器。器件從單線的通信線上取得其電源,在信號線為高電平的時間周期內,把能量貯存在內部的電容器中,在單信號線為低電平的時間期內斷開此電源,直到信號線變為高電平重新接上寄生電容電源為止。作為另一種可供選擇的方法,DS1820也可用外部5V電源供電。與DS1820的通信經過一個單線接口。在單線接口情況下,在ROM操作未定建立之前不能使用存貯器和控制操作。主機必須首先提供五種ROM操作命令之一:1)ReadROM(讀ROM),2)MatchROM(符合ROM),3)SearchROM(搜索ROM),4)SkipROM(跳過ROM),或5)AlarmSearch(告警搜索)。這些命令對每一器件的64位激光ROM部分進行操作。如果在單線上有許多器件,那么可以挑選出一個特定的器件,并給總線上的主機指示存在多少器件及其類型。在成功地執行了ROM操作序列之后,可使用存貯器和控制操作,然后主機可以提供六種存貯器和控制操作命令之一。一個控制操作命令指示DS1820完成溫度測量。該測量的結果將放入DS1820的高速暫存存貯器(Scratchpadmemory)。通過發出讀暫存存儲器內容的存儲器操作命令可以讀出此結果。每一溫度告警觸發器TH和TL構成一個字節的EEPROM,如果不對DS1820施加告警搜索命令,這些寄存器可用作通用用戶存儲器,使用存儲器操作命令可以寫TH和TL。對這些寄存器的訪問是通過高速暫存存儲器,所有數據均以最低有效位在前的方式被讀寫。2寄生電源寄生電源電路當I/O或VDD引腳為高電平時,這個電路便“取”得電源。只要符合指定的定時和電壓要求,I/O將提供足夠的功率,寄生電源的優點是雙重的:1)利用此引,遠程溫度檢測無需本地電源,2)缺少正常電源條件下也可以讀ROM。為了使DS1820能完成準確的溫度變換,當溫度變換發生時,I/O線上必須提供足夠的功率。因為DS1820的工作電流高達1mA,5K的上拉電阻將使I/O線沒有足夠的驅動能力。如果幾個SD1820在同一條I/O線上而且企圖同時變換,那么這一問題將變得特別尖銳。有兩種方法確保DS1820在其有效變換期內得到足夠的電源電流。第一種方法是發生溫度變換時在I/O線上提供一強的上拉電阻,通過使用一個MOSFET把I/O線直接拉到電源可達到這一點,當使用寄生電源方式時VDD引腳必須連接到地。向DS1820供電的另外一種方法是通過使用連接到VDD引腳的外部電源,這種方法的優點是在I/O線上不要求強的上拉電阻,總線上主機不需向上連接便在溫度變換期間使線保持高電平,這就允許在變換時間內其它數據在單線上傳送。此外,在單線總線上可以放置任何數目的DS1820,而且如果它們都使用外部電源,那么通過發出跳過(Skip)ROM命令和接著發出變換(Convert)T命令,可以同時完成溫度變換。注意只要外部電源處于工作狀態,GND(地)引腳不可懸空。在總線上主機不知道總線上DS1820是寄生電源供電還是外部VDD供電的情況下,在DS1820內采取了措施來通知采用的供電方案。總線上主機通過發出跳過(Skip)ROM的操作約定,然后發出讀電源命令,可以決定是否有需要在DS1820的總線上放置上拉電阻。在此命令發出后,主機接著發出讀時間片。如果是寄生供電,DS1820將在單線總線上送回(0);如果由VDD引腳供電,它將送回(1)。如果主機接收到一個(0),它知道它必須在溫度變換期間在I/O線上供一個強的上拉。3運算-報警信號在DS1820完成溫度變換之后,溫度值與貯存在TH和TL內的觸發值相比較,因為這些寄存器僅僅是8位,所以0.5度在比較時被忽略。TH或TL的最高有效位直接對應于16位溫度寄存器的符號位,如果溫度測量的結果高于TH或低于TL,那么器件內告警標志將置位。每次溫度測量將更新告警標志,只要告警標志置位,DS1820將對告警搜索命令做出響應。這允許并聯連接許多DS1820,同時進行溫度測量,如果某處溫度超過極限,那么可以識別出正在告警的器件并立即將其讀出而不必讀出非告警的器件。464位激光ROM每一DS1820包括一個唯一的64位長的ROM編碼,開始的8位是單線產品系列編碼,DS1820編碼是10h,,接著的48位是唯一的系列號,最后的8位是開始56位CRC,64位ROM和ROM操作控制部分允許DS1820作為一個單線器件工作并遵循“單線總線系統”的單線協議,直到ROM操作協議被滿足,DS1820控制部分的功能是不可訪問的。單線總線主機必須首先操作五種ROM操作命令之一:1)ReadROM(讀ROM),2)MatchROM(匹配ROM),3)SearchROM(搜索ROM),4)SkipROM(跳過ROM),或5)AlarmSearch(告警搜索)。在成功地執行了ROM操作序列之后,DS1820特定的功能便可訪問,然后總線上主機可提供六個存貯器和控制功能命令之一。5CRC生成DS1820有一存貯在64位ROM的最高有效字節內的8位CRC。總線上的主機可以根據64位ROM的前56位計算機CRC的值并把它與存貯在DS1820內的值進行比較以決定ROM的數據是否已被主機正確地接收。CRC的等效多項式函數為CRC=X8+X5+X4+1DS1820也利用與上述相同的多項式函數產生一個8位CRC值并把此值提供給總線的主機以確認數據字節的傳送,在使用CRC來確認數據傳送的每一種情況中,總線主機必須使用上面給出的多項式函數計算CRC的值并把計算所得的值,或者與存貯在DS1820的64位ROM部分中的8位CRC值(ROM讀數),或者與DS1820中計算得到的8位CRC值(在讀暫存存貯器中時它作,為第九個字節被讀出),進行比較。CRC值的比較和是否繼續操作都由總線主機來決定,當存貯在DS1820內或由DS1820計算得到的CRC值與總線主機產生的值不相符合時,在DS1820內沒有電路來阻止命令序列的繼續執行。總線CRC可以使用一個移位寄存器和“異或”(XOR)門組成的多項式產生器來產生,其它有關Dallas公司單線循環冗余校驗的信息可參見標題為“理解和使用Dallas半導體公司接觸式存貯器產品”的應用注釋移。位寄存器的所有位被初始化為零,然后從產品系列編碼的最低有效位開始,每次移入一位。當產品系列編碼的8位移入以后,接著移入序列號。在序列號的第48

溫馨提示

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

評論

0/150

提交評論