




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
33/37摘要本課題設計的是一套基于單片機控制的倉庫溫度監控系統,主要是對倉庫的溫度監控,以保證存儲物品的安全。系統以單片機AT89C51為核心,從DS18B20溫度檢測的數據采集、設定值調整、LED數碼管顯示電路、報警及輸出控制通風機等幾個方面出發,詳細研究和設計了基于單片機的倉庫溫度監控的各個部分內容,設計了單片機及其外圍電路,并結合一套經典的程序算法。給出了一套合理的基于單片機的倉庫溫度監控系統的軟硬件解決方案。關鍵字:溫度檢測;DS18B20;單片機;溫度控制AbstractThisissueisasetofdesignbasedonsinglechipcontrolledwarehousetemperaturemonitoringsystem,mainlyforwarehousetemperaturemonitoringtoensurethesafetyofstoreditems。AT89C51microcontrollerasthecoresystem,fromtheDS18B20thetemperaturedetectiondataacquisition,setthevalueofadjustment,LEDdigitaltubedisplaycircuit,alarmandoutputcontrolfan,andseveralotheraspectsofstartingadetailedstudyanddesignofmicrocomputer-basedwarehousetemperaturemonitoringofvariouspartsofthecontentsofthemicrocontrolleranditsperipheralcircuitdesign,combinedwithasetofproceduresfortheclassicalgorithm.Isgivenareasonablemicrocontroller—basedwarehousetemperaturemonitoringsystemhardwareandsoftwaresolution。Keywords:temperaturedetection;DS18B20;microcomputertemperaturecontrol
目錄TOC\o"1-3”\u摘要?PAGEREF_Toc251934994\hIAbstract?PAGEREF_Toc251934995\hII引言?PAGEREF_Toc251935000\h11研究動態?PAGEREF_Toc251935002\h21。1研究的背景與意義 PAGEREF_Toc251935003\h21.2國內外倉庫技術現狀?008\h21。3倉庫測控系統的發展趨勢 PAGEREF_Toc251935010\h31。4本文的主要工作 PAGEREF_Toc251935011\h42系統的總體設計?PAGEREF_Toc251935012\h53系統的硬件部分設計與實現 PAGEREF_Toc251935013\h63.1單片機介紹 PAGEREF_Toc251935014\h63.1.1單片機概述 PAGEREF_Toc251935015\h63.1.2單片機編程語言介紹?51935016\h73.1。3系統選擇?PAGEREF_Toc251935017\h83。1.4AT89C51引腳功能介紹 PAGEREF_Toc251935018\h93.2溫度傳感器DS18B20 PAGEREF_Toc251935019\h113.2。1溫度傳感器分類 PAGEREF_Toc251935020\h113.2.2DS18B20簡介?PAGEREF_Toc251935022\h133.2。3DS18B20的硬件連接 PAGEREF_Toc251935023\h144溫度監控的系統設計?PAGEREF_Toc251935024\h164。1硬件設計?PAGEREF_Toc251935025\h164.1。1溫度檢測部分?PAGEREF_Toc251935026\h164.1.2LED數碼管顯示電路 PAGEREF_Toc251935027\h164。1.3報警及控制輸出部分?PAGEREF_Toc251935028\h174.1。4單片機最小系統?PAGEREF_Toc251935029\h184.1.5按鍵電路設計 PAGEREF_Toc251935030\h214.2軟件系統設計 PAGEREF_Toc251935031\h234。2.1系統程序流程圖 PAGEREF_Toc251935032\h234.2.2單片機軟件開發語言?PAGEREF_Toc251935033\h244。2。3DS18B20驅動程序 PAGEREF_Toc251935034\h25結論 PAGEREF_Toc251935035\h28參考文獻 PAGEREF_Toc251935038\h29致謝?PAGEREF_Toc251935040\h30附錄一:系統整體硬件電路圖 PAGEREF_Toc251935041\h31附錄二:系統程序仿真圖 PAGEREF_Toc251935042\h32附錄三:程序 PAGEREF_Toc251935046\h33引言防潮、防霉、防腐、防爆是倉庫日常工作的重要內容,是衡量倉庫管理質量的重要指標。它直接影響到儲備物資的使用壽命和工作可靠性.為保證日常工作的順利進行,首要問題是加強倉庫內溫度與濕度的監測工作。但傳統的方法是用與濕度表、毛發濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量準確的溫濕度測量儀.隨著“信息時代”的到來,作為獲取信息的手段——傳感器技術得到了顯著的進步,其應用領域越來越廣泛,對其要求越來越高,需求越來越迫切。傳感器技術已成為衡量一個國家科學技術發展水平的重要標志之一.因此,了解并掌握各類傳感器的基本結構、工作原理及特性是非常重要的.?1研究動態1.1研究的背景與意義傳感器能將各種物理量、化學量和生物量等信號轉變為電信號,使得人們可以利用計算機實現自動測量、信息處理和自動控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測量和控制系統,它的性能好壞直接影響系統的性能.因此,不僅必須掌握各類傳感器的結構、原理及其性能指標,還必須懂得傳感器經過適當的接口電路調整才能滿足信號的處理、顯示和控制的要求,而且只有通過對傳感器應用實例的原理和智能傳感器實例的分析了解,才能將傳感器和信息通信和信息處理結合起來,適應傳感器的生產、研制、開發和應用.另一方面,傳感器的被測信號來自于各個應用領域,每個領域都為了改革生產力、提高工效和時效,各自都在開發研制適合應用的傳感器,于是種類繁多的新型傳感器及傳感器系統不斷涌現。溫度傳感器是其中重要的一類傳感器。其發展速度之快,以及其應用之廣,并且還有很大潛力。倉庫監控系統包括:存儲物品檢測、分析與通風控制。“存儲物品檢測”在儲藏過程中所起的作用就像“人工”保管時期保管人員的“眼睛"和“鼻子”,對儲藏過程中各種狀況進行實時觀察,并密切關注著存儲物品的實時變化;“存儲物品情況分析”就像保管人員的“大腦”,對通過“眼睛”和“鼻子"觀察到各種存儲物品及變化情況,并根據儲藏技術的特點和儲藏的各種環境條件進行綜合分析與判斷,給出相應的結論及處理建議;“通風控制"就像保管人員的“手”和“足",根據“大腦”的結論和處理建議來采取相應的處理措施,以確保存儲物品處在適宜的儲藏狀態,保證存儲物品的安全。存儲物品檢測是對儲藏過程中物品溫度、倉內溫、濕度、大氣溫、濕度等基本檢測參數變化的記錄.檢測系統是通過電源電纜、通訊電纜將計算機、檢測主機、檢測分機、分線器和測溫電纜等連結起來構成的系統。倉庫檢測過程是把埋在存儲物品內的溫度傳感器所感應到存儲物品內的溫度變化情況,通過分線器、檢測分機、檢測主機而反映到主控機房的計算機上,使庫房保管人員可以隨時觀察存儲物品內的溫度變化情況,并采取相應的處理措施,以確保存儲物品儲藏過程的安全。建立物品監測產品技術應用新體系,應本著一切從國情出發,從實際需要出發,從日前國內的技術水平出發,面向遍布全國各區不同倉房類型和功能的檢測成套系列化產品,經濟實用地滿足儲藏的不同需求。本課題研究的是一種基于單片機的溫度檢測系統的研究,并能設定高低溫報警的倉庫溫度測控系統。1.2國內外倉庫技術現狀隨著經濟的不斷發展,加之電子商務的不斷推進,給傳統的倉庫物流產業帶來的空前的挑戰,我國現行的五大倉庫系統(軍隊倉庫業,外貿倉庫業,商業供銷糧食儲運業,鄉鎮儲運業)都曾載著巨大的倉儲壓力。眾所周知,不同的貨物的保存,需要不同的環境,包括一定的溫度、濕度、二氧化碳、光強、粉塵等,都有各自不同的要求,其中一般貨物對倉庫溫度和濕度的要求尤為突出,同時溫度和濕度著兩大倉儲環境也是最受關注的倉儲環境要素。而且倉庫易發生火災,盜竊事件,給生命財產安全帶來了威脅。倉儲的倉庫溫度、濕度、火警、盜警燈參數需要進行實時的監控,并并且在系統監控到異常的情況時及時的進行提示和報警。控制和調節倉庫溫濕度:為了維護倉儲商品的質量完好,創造適宜于商品儲存的環境,當庫內溫濕度適宜商品儲存時,就要設法防止庫外氣候對庫內的不利影響;當庫內溫濕度不適宜商品儲存時,就要及時采取有效措施調節庫內的溫濕度。上述的五大倉儲系統對高端倉儲物品的環境都能控制得很到位,尤其是軍用倉儲業和外貿倉儲業,但是,在一般的倉儲物流中心,對農業產品的倉儲環境監控還沒有做到至善至美,在鄉鎮儲運中,農業產品的倉儲技術水平甚至還停留在原始階段。光強、溫度、濕度是農業產品倉儲不可缺少的因素,目前市場上普遍存在的溫度檢測儀器大都是單點測量,而且一般的溫度信息傳遞不及時,精度達不到要求,不利于控制者根據溫度變化及時做出調整;另外濕度傳感器價格昂貴,大多是使用進口元件,但事實上,農用精度要求并不高,現在國產溫濕度傳感器完全可以使用。我國倉儲業的發展存在許多制約的因素,為把倉儲業培育成國民經濟的一個獨立產業,有必要對倉儲業的現狀進行分析,找出問題,探索發展思路。1.3倉庫測控系統的發展趨勢對比國內外溫室環境控制研究及應用情況我們可以看出,溫室環境控制系統正向著分布式、網絡化、智能化方向發展。(1)分布式目前工業控制的發展我們可以分為五個階段:人工控制階段、以模擬表為主的控制階段、計算機參與的控制階段、分散控制DCS(DistributedControlsystem)階段、現場總線控制FCS(FieldBusControlSystem)階段。(2)網絡化網絡通訊技術是目前最有活力,發展最快的高科技領域。網絡技術的應用使得信息的交換速度、范圍、信息量得到了極大的提高。隨著網絡在生產中的應用,使得在線遠程服務成為可能。我們可以利用遠在千里之外的專家,來解決現場問題,它改變了傳統的信息傳播方式,對人類的生活方式造成了重大影響。(3)智能化利用計算機強大的數據運算能力,巨大的存儲空間,從而能夠將種植者的經驗通過管理軟件固化起來,指導非專業人員或技術不熟練人員代替專家進行工作。目前神經網絡、遺傳算法、模糊推理等人工智能技術在設施農業中得到重視并逐步發展。其次,為了適應各地地域特點、氣候差異,糧倉測控系統還表現出多樣性以及個性化的特點。1。4本文的主要工作基于對倉庫溫度控制系統的研究,本文的主要內容有一下幾個方面:(1)收集資料,了解更多關于存儲物品儲藏、物品環境因子情況,掌握目前國內外倉庫溫度監控系統的研究狀況,分析其優點和缺點;(2)設計倉庫溫度監控系統的整體組成方案;(3)設計溫度傳感器的檢測電路及各部分組成電路,完成倉庫溫度監控系統的硬件設計;(4)利用C語言對系統進行軟件設計。2系統的總體設計倉庫溫度監控系統需要完成溫度的檢測并可以通過按鍵設定調整最高溫度和最低溫度值、能夠顯示當前溫度值、最高溫度和最低溫度值,同時要實現倉內溫度超過最高溫度時,啟動通風系統。需要系統包括單片機最小系統電路和按鍵電路、LED顯示電路、溫度檢測部分、報警和控制輸出等主要部分,系統總體設計框圖如下圖所示:LED數碼管顯示LED數碼管顯示DS18B20溫度檢測部分單片機單片機報警和輸出控制部分報警和輸出控制部分按鍵電路圖2.1系統整體設計框圖單片機在電子產品中的應用已經越來越廣泛,并且在很多電子產品中也將其用到溫度檢測和溫度控制。基于單片機倉庫溫度監控系統較傳統的溫度控制器具有更高的智能性,并且系統的功能更加易于擴展和升級,是一種低成本的溫度檢測、控制方案。3系統的硬件部分設計與實現3。1單片機介紹3.1。1單片機概述單片微機(Single—ChipMicrocomputer)簡稱單片機,通常統稱微控制器(Micro-Controller簡寫μC)或微型處理部件(MicroControllerUnit簡寫MCU)。一般的說,單片機就是在一塊硅片上集成CPU、RAM、ROM、定時器/計數器、和多種I/O的完整的數字處理系統。二十世紀,微電子、IC集成電路行業發展迅速,其中單片機行業的發展最引人注目.單片機功能強、價格便宜、使用靈活,在計算機應用領域中發揮著極其重要的作用。從INTEL公司于1971年生產第一顆單片機Intel-4004開始,開創了電子應用的“智能化"新時代。單片機以其高性價比和靈活性,牢固樹立了其在嵌入式微控制系統中的“霸主"地位,在PC機以286、386、Pentium、PⅢ高速更新換代的同時,單片機卻“始終如一"保持旺盛的生命力。例如,MCS—51系列單片機已有十多年的生命期,如今仍保持著上升的態勢就充分證明了這一點.(1)單片機的結構與組成目前,單片機的系統結構有兩種類型:一種是將程序和數據存儲器分開使用,即哈佛(Harvard)結構,當前的單片機大都是這種結構.另一種是采用和PC機的馮.諾依曼(VonNeumann)類似的原理,對程序和數據存儲器不作邏輯上的區分,用來存放用戶程序,可分為EPROM、OTP、ROM和FLASH等類。EPROM型內存編程后其內容可用紫外線擦除,用戶可反復使用,故特別適用于開發過程,但EPROM型單片機價格很高。具有ROM型(掩膜型)內存的單片機價格最低,它適用于大批量生產。由于ROM型單片機的代碼只能由生產廠商在制造芯片時寫入,故用戶要更改程序代碼就十分不便,在產品未成熟時選用ROM型單片機風險較高。OTP型(一次可編程)單片機介于EPROM和ROM型單片機之間,它允許用戶自己對其編程,但只能寫入一次。OTP型單片機生產多少完全可由用戶自己掌握,不存在ROM型有最小起訂量和掩膜費問題,另外,該類單片機價格已同掩膜型十分接近,故特別受中小批量客戶的歡迎。Flash型(閃速型)單片機允許用戶使用編程工具或在線快速修改程序代碼,且可反復使用,故一推出就受到廣大用戶的歡迎。Flash型單片機,即可用于開發過程,也可用于批量生產,隨著制造工藝的改進,Flash型單片機價格不斷下降,使用越來越普遍,它已是現代單片機的發展趨勢。隨機內存(RAM):用來存放程序運行時的工作變量和數據,由于RAM的制作工藝復雜,價格比ROM高得多,所以單片機的內部RAM非常寶貴,通常僅有幾十到幾百個字節.RAM的內容是易失性(也有的稱易揮發性)的,掉電后會丟失。最近出現了EEPROM或FLASH型的數據存儲器,方便用戶存放不經常改變的數據及其它重要信息。單片機通常還有特殊寄存器和通用寄存器,它們是單片機中存取速度最快的內存,但通常存儲空間很小.(2)中央處理器(CPU)是單片機的核心單元,通常由算術邏輯運算部件ALU和控制部件構成.CPU就象人的大腦一樣,決定了單片機的運算能力和處理速度。并行輸入/輸出(I/O)口:通常為獨立的雙向口,任何口既可以用作輸入方式,又可以作輸出方式,通過軟件編程來設定。現代的單片機的I/O口也有不同的功能,有的內部具有上拉或下拉電阻,有的是漏極開路輸出,有的能提供足夠的電流可以直接驅動外部設備.I/O是單片機的重要資源,也是衡量單片機功能的重要指針之一。串口輸入/輸出口:用于單片機和串行設備或其它單片機的通信。串行通信有同步和異步之分,這可以用硬件或通用串行收發器件來實現。不同的單片機可能提供不同標準的串行通信接口,如UART、SPI、、MicroWire等。(3)定時器/計數器(T/C)單片機內部用于精確定時或對外部事件(輸入信號如脈沖)進行計數,有的單片機內部有多個定時/計數器。(4)系統時鐘通常需要外接石英晶體或其它振蕩源來提供時鐘信號輸入,也有的使用內部RC振蕩器。以上是單片機的基本構成,現代的單片機又加入了許多新的功能部件,如模擬/數字轉換器(A/D)、數字/模擬轉換器(D/A)、溫度傳感器、液晶(LCD)驅動電路、電壓監控、看門狗(WDT)電路、低壓檢測(LVD)電路等等.3。1。2單片機編程語言介紹對于51系列單片機,現有四種語言支持,即匯編、PL/M,C和BASIC.BASIC通常附在PC機上,是初學編程的第一種語言。一個新變量名定義之后可在程序中作變量使用,非常易學,根據解釋的行可以找到錯誤而不是當程序執行完才能顯現出來.BASIC由于逐行解釋自然很慢,每一行必須在執行時轉換成機器代碼,需要花費許多時間不能做到實時性.BASIC為簡化使用變量,所有變量都用浮點值。BASIC是用于要求編程簡單而對編程效率和運行速度要求不高的場合。PL/M是Intel從8080微處理器開始為其系列產品開發的編程語言。它很像PASCAL,是一種結構化語言,但它使用關鍵詞去定義結構。PL/M編譯器好像匯編器一樣可產生緊湊代碼.PL/M總的來說是“高級匯編語言",可詳細控制著代碼的生成。但對51系列,PL/M不支持復雜的算術運算、浮點變量而無豐富的庫函數支持。學習PL/M無異于學習一種新語言。C語言是一種源于編寫UNIX操作系統的語言,它是一種結構化語言,可產生壓縮代碼。C語言結構是以括號{}而不是子和特殊符號的語言。C可以進行許多機器級函數控制而不用匯編語言。與匯編相比,有如下優點:對單片機的指令系統不要求了解,僅要求對51的內存結構有初步了解寄存器分配、不同內存的尋址及數據類型等細節可由編譯器管理程序有規范的結構,可分為不同的函數。這種方式可使程序結構化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調試時間顯著縮短,從而提高效率提供的庫包含許多標準子程序,具有較強的數據處理能將已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統,基本上不做修改就可根據單片機不同較快地移植過來。51的匯編語言非常像其它匯編語言.指令系統比第一代微處理器要強一些。51的不同存儲區域使得其復雜一些。盡管懂得匯編語言不是你的目的,看懂一些可幫助你了解影響任何語言效率的51特殊規定。例如,懂得匯編語言指令就可以使用在片內RAM作變量的優勢,因為片外變量需要幾條指令才能設置累加器和數據指針進行存取。要求使用浮點和啟用函數時只有具備匯編編程經驗才能避免生成龐大的、效率低的程序,這需要考慮簡單的算術運算或先算好的查表法。最好的單片機編程者應是由匯編轉用C而不是原來用過標準C語言的人.由此來看,單片機有著微處理器所不具備的功能,它可單獨地完成現代工業控制所要求的智能化控制功能,這是單片機最大的特征.3.1.3系統選擇本系統以MCS-51單片機成員中的AT89C51為控制核心。AT89C51是美國ATMEL公司生產的低功耗,高性能CMOS8位單片機,片內含4kbytes的可系統編程的Flash只讀程序內存,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序內存既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89C51單片機可為您提供許多高性價比的應用場合,它靈活應用于各種控制領域。主要性能參數:(1)與MCS—51產品指令系統完全兼容(2)4K字節在系統編程(ISP)Flash閃速內存(3)1000次擦寫周期(4)4。0—5.5V的工作電壓范圍(5)全靜態工作模式:0Hz—33MHz(6)三級程序加密鎖(7)2568字體內部RAM(8)32個可編程I/O口線(9)3個16位定時/計數器(10)5個中斷源(11)全雙工串行UART通道(12)低功耗空閑和掉電模式(13)中斷可從空閑模喚醒系統(14)看門狗(WDT)及雙數據指針(15)掉電標識和快速編程特性(16)靈活的在系統編程(ISP—字節或頁寫模式)其內部結構結構如圖3。1所示:圖3.1單片機內部結構圖圖3.1單片機內部結構圖3.1。4AT89C51引腳功能介紹(1)電源引腳Vcc和GNDVcc:電源電壓,GND(10腳):接地端。(2)時鐘電路引腳XTALl和XTAL2XTAL2(18腳):接外部晶體和微調電容的一端。在內它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率.要檢查單片機的振蕩電路是否正確工作,可用示波器查看XTAL2端是否有脈沖信號輸出。XTAL1(19腳):接外部晶體的微調電容的另一端。在片內它是振蕩電路反相放大器的輸入端.若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖如圖3。2,3。3所示。圖3.2圖3.2AT89S51單片機晶振接法圖3.3外部時鐘電路(3)控制信號引腳RSTRES(8腳):RST是復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期(24個時鐘振蕩周期)的高電平時,可以完成復位操作。(4)I/O(輸入/輸出)P0、P1、P2和P3標準51單片機,如8051、8031、AT89C51、AT89S51、P89C51等有4個I/O(輸入/輸出)口,分別為:P0口(39—32腳):P0口是一個漏極開路的8位雙向埠.作為漏極八路的輸出端口,每次能驅動8個Ls型TTL負載。當P0口作為輸入口使用時,其先向鎖存器(地址80H)寫入全1,此時P0口的全部引腳懸空,叫作為高阻抗輸入。P1口(1—8腳):P1口是一個帶上拉電阻的8位準雙向I/O端口每一位能驅動(吸收成輸出電流)4個LS型TTL負載。在P1口作為輸入口使用時,應先向P1口鎖存器(地址90H)寫入全1,上拉電阻接成高電平。P2口(21—28腳):P2口是一個帶內部上接電阻的8位準雙向埠。P2口的每一位能驅動4個LS型TTL負載。P3口(21—28腳):P3口是一個帶內部上接電阻的8位準雙向埠。P3口的每一位能驅動(吸收或輸出電流)4個LS型TTL負載。P3口與其它的I/O埠有很大區別,它除作為-般準雙向I/O口外,每個引腳還具有專門的功能,見表3—1。表3-1端口引腳功能P1口也是一個準雙向口,作通用I/O口使用。其電路結構見圖3.4。圖3.4P1口作通用圖3.4P1口作通用I/O口使用輸出驅動部分內部有上拉負載電阻與電源相連。實質上拉電阻是兩個場效應管(FET)并在一起,—個FET為負載管,其電阻固定;另一個FET可工作在導通或截止兩種狀態,使其總電阻值變化近為0或阻值很大兩種情況。當阻值近似為0時,可將引腳快速上拉至全高電平,當阻值很大時,P1口為高阻輸入狀態.當P1口輸出高電平時,能向外提供拉電流負載,所以不必再接上拉電阻。在埠用作輸入時,也必須先向對應的鎖存器寫入“1”,使FET截止。由于片內負載電阻較大,約20k—40k,所以不會對輸入的數據產生影響.3.2溫度傳感器DS18B203.2。1溫度傳感器分類(l)熱敏電阻熱敏電阻器是敏感元件的一類,按照溫度系數不同分為正溫度系數熱敏電阻器(PTC)和負溫度系數熱敏電阻器(NTC)。熱敏電阻器的典型特點是對溫度敏感,不同的溫度下表現出不同的電阻值.以溫度變化導致阻值的變化為工作原理的熱敏電阻,因其具有成本低、體積小、簡單、可靠、響應速度快、容易使用等特點,在多項溫度測量應用中受到廣泛歡迎,同樣也是國內倉庫檢測系統中采用最多的溫度傳感器.熱敏電阻的電阻溫度系數較高,室溫電阻通常也較高,因此其自身發熱較小,信號調節較為簡單.熱敏電阻的缺點是互換性差,溫度與輸出阻值之間旱非線性關系。正溫熱敏電阻器(PTC)在溫度越高時電阻值越大,負溫度系數熱敏電阻器(NTC)在溫度越高時電阻值越低,它們同屬于半導體器件。但在溫度測量應用中,正溫度系數熱敏電阻較少得到采用,更多采用的是負溫度系數熱敏電阻。以下提及的熱敏電阻均指負溫度系數熱敏電阻.采用熱敏電阻作為溫度傳感器的測溫電纜是倉庫檢測系統的重要組成部分,它是將多個熱敏電阻置入一根測溫電纜之中,電纜內加細鋼絲繩提高抗拉強度、外加絕緣護套密封防腐。采用熱敏電阻作為溫度傳感器的倉庫情況檢測系統的溫度檢測范圍一般在—40℃—+50℃之間,檢測精度為士1℃,完全滿足倉庫溫度檢測的需要。根據其系統結構的特點,一般在單根測溫電纜上置入3—4個熱敏電阻,特別適合房式倉儲環境。熱敏電阻:(2)數字式溫度傳感器數字式溫度傳感器的種類也不少,但用于倉庫檢測系統的溫度傳感器主要是美國Dallas公司生產的DS18B2O系列溫度傳感器,其溫度檢測范圍為—55℃~+l25℃,檢測精度為℃。DS18B20采用l—wire接口,封裝形式有PR—35和8-PINSOIC兩種,倉庫檢測系統中采用的是PR-35封裝.DSl8B20采用9個位表示測溫點的溫度值,每個DSl8B20內部都設置有一個單一的序列號,因此可以使多個DS18B20共存于同一根數據傳輸線上。DS18B20內部分為4個部分:1)64位序列號;2)保存臨時數據的8字節片內RAM;3)保存永久數據的2字節EEPROM;4)溫度傳感器.采用數字式溫度傳感器的倉庫檢測系統的結構與采用熱敏電阻倉庫檢測系統的結構人致相同,只是用檢測單元替代了智能分機、擴充接線器替代了溫度分線器。檢測單元與智能分機的區別在于沒有用于將溫度信號數字化的A/D轉換電路,取而代之的是1-Wire總線與上層通信總線之間的通信轉換電路,如果系統選用了數字式濕度傳感器則檢測單元將完全由數字電路組成,而智能分機是由數字電路和模擬電路兩部分構成的,這將使檢測單元的電路設計更為容易.采用DSl8B20溫度傳感器的倉庫檢測系統的測溫電纜與熱敏電阻測溫電纜大不相同,該測溫電纜最多只需3根導線即可連接多個DSl8B20溫度傳感器。最為簡潔的結構是利用DS18B20可以通過數據線供電的特點,在測溫電纜中只放置兩根平行的細鋼絲繩即可連接多個DS18B20溫度傳感器,這樣不僅使測溫電纜的制造簡便、成本下降,而且提高了測溫電纜的抗拉強度、便于溫度傳感器的更換。正是這些特點使得采用DS18B20溫度傳感器的倉庫檢測系統更適用于高大糧倉(諸如淺圓倉、立筒倉)的應用環境,可以解決高大倉庫在不需重新安裝測溫電纜的情況下更換測溫電纜內部的溫度傳感器以及改變溫度傳感器相對位置。3.2.2DS18B20簡介集成式數字溫度傳感器DS1820的出現開辟了溫度傳感器技術的新領域,它利用單總線的特點可以方便的實現多點溫度的測量。圖3.5DS18B20的管腳排列圖DS18B20是美國DALLAS公司最新推出的一種可組網數字式溫度傳感器,與DS1820相同,DS18B20也能夠直接讀取被測物體的溫度值它在電壓、特性及封裝方面都更具有優勢,給了用戶更多的選擇,讓用戶可以更方便的構建適合自己的測溫系統.DS18B20充分利用了單總線的獨特特點,可以輕松的組建傳感器網絡,提供系統的抗干擾性,使系統設計更靈活、方便、而且適合于在惡劣的環境下進行現場溫度測量。與DS1820相比,DS18B20的功能更強大些。它體積小,電壓使用范圍寬(3V-5V),用戶還可以通過編程實現9-12位的溫度讀數,即具有可調的溫度分辨率,因此它的實用性和可靠性比同類產品更高.另外,DS18B20有多種封裝可選,如TO—92、SOIC及CSP封裝。圖3.5即為DS18B20的管腳排列圖。圖3.5DS18B20的管腳排列圖由圖3.5可見,DS18B20只是一個數據輸入/輸出口,屬于單總線專用芯片之一.DS18B20工作時被測溫度值直接以“單總線"的數字方式傳輸,大大提高了系統的抗干擾能力。其內部采用在板溫度測量專用技術,測量范圍為-55℃~+125℃,在—10℃~+85℃時,精度為℃。每個DS18B20在出廠時已具有唯一的64位序列號,因此一條總線上可以同時掛接多個DS18B20,而不會出現混亂現象。另外用戶還可自設定非易失性溫度報警上下限值TH和TL(掉電后依然保存)。DS18B20在完成溫度變換后,所測溫度值將自動與存儲在TH和TL內的觸發值相比較,如果測溫結果高與TH或低于TL,DS18B20內部的告警標志就會被置位,表示溫值超出了測量范圍,同時還有報警搜索命令識別出溫度超限DS18B20。圖3.6為DS18B20的內部存儲結構圖,它包括一個暫存RAM和一個非易失性可擦除。圖3.6DS18B20內部存儲結構圖圖3.6DS18B20內部存儲結構圖其中暫存存儲器作用是在單線通信時確保數據的完整性,它包括8個字節,頭兩個字節表示測得的溫度讀數,數據格式如下:S=1時表示溫度為負,S=0時表示溫度為正,其余低于以二進制補碼形式表示,最低位為1時表示0.0625℃。溫度/數字對應關系如上表所示。DS18B20內部暫存存儲器的第5個字節是結構寄存器,它主要用于確定溫度值的數字轉換分辨率。字節結構如下:其中、用于設置分辨率.3.2。3DS18B20的硬件連接DS18B20與單片機的接口極其簡單,只需將DS18B20的信號線與單片機的一位雙向端口相連即可。如圖3.7(a)所示。此時應注意將VDD、DQ、GND三線焊接牢固.另外也可用兩個端口,即接收口與發送口分開,這樣讀寫操作就分開了,不會出現信號競爭的問題。如圖3。7(b)所示。此圖是采用寄生電源方式,將DS18B20的VDD和GND接在一起。如若VDD脫開未接好,傳感器將只送+85.0℃的溫度值。一般測溫電纜線采用屏蔽4芯雙絞線,其中一對接地線與信號線,另一對接VDD和地線,屏蔽層在源端單點接地.圖3.7DS18B20與單片機的接口圖3.7DS18B20與單片機的接口4溫度監控的系統設計4.1硬件設計基于單片機的倉庫溫度監控系統主要有以下幾部分:溫度檢測數據采集部分,LED數碼管顯示電路、報警及控制輸出部分、單片機及按鍵電路設計等幾個部分,下面分別加以介紹4.1.1溫度檢測部分溫度傳感器有很多種,如熱敏電阻,熱電偶,PN結,半導體溫度傳感器等。這里選用單總線數字輸出的集成半導體溫度傳感器DS18B20,其特點:獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊;測溫范圍-55℃~+125℃,固有測溫分辨率0。5℃;支持多點組網功能,多個DS1820可以并聯在唯一的三線上,實現多點測溫;工作電源:3~5V/DC。溫度檢測數據采集電路如圖4.1所示,由溫度傳感器DS18B20采集被控對象的實時溫度,提供給AT89C51的I/O口作為數據輸入.在本次設計中我們所控的對象為倉庫的溫度。圖4.1溫度傳感器電路4。1.2LED數碼管顯示電路顯示器分為數碼管和液晶顯示,我所采用是的數碼管顯示,其外形和引腳如下圖所示:圖4.2數碼管外形和引腳圖圖4.2數碼管外形和引腳圖LED數碼有共陽和共陰兩種,把這些LED發光二極管的正極接到一塊(一般是拼成一個8字加一個小數點)而作為一個引腳,就叫共陽機極數碼管;相反的,就叫共陰的(如下圖所示)那么應用時這個腳就分別的接VCC和GND。再把多個這樣的8字裝在一起就成了多位的數碼管了。圖4.3共陰極和共陽極數碼管內部電路圖4.3共陰極和共陽極數碼管內部電路基于單片機的倉庫監控系統采用7段LED數碼管顯示,這里采用6個數碼管顯示溫度,兩位顯示設定的最高溫度、兩位顯示設定的最低溫度、兩位顯示倉內的當前溫度.6位共陽極數碼管采用掃描形式工作,其8個數據為接在單片機灌電流驅動能力最大的PO口,AT89C51單片機的P0口的每一個I/O都能能吸收8個TTL邏輯器件的輸入漏電流,算下來能驅動約10mA。能驅動數碼管的8個數據陰極。6位共陽極數碼的6個陽極采用6個PNP三極管9012驅動。用單片機P2.0—P2。56個I/O口控制。LED數碼管顯示電路如圖4.4所示。圖4.4數碼管顯示電路4.1。3報警及控制輸出部分當倉內溫度超過最高溫度時,啟動通風機并報警;當倉內溫度低于最低溫度時,發出報警。這就需要報警電路及輸出模塊.聲音報警電路通過驅動蜂鳴器發聲實現,當其接通5V的電壓會發出蜂鳴叫聲。原理圖如圖4.5,NPN型三極管8050驅動蜂鳴器,當單片機I/O口輸出高電平時蜂鳴器發聲此外,控制加熱棒的控制信號同樣由單片機輸出,經過三極管Q3驅動繼電器J1,J1具有兩對常開和常閉接點,利用其常開接點串到加熱棒的控制回路中,可以實現加熱棒的控制。電路中二極管D1為續流二極管,繼電器線圈在通過電流時,會在其兩端產生感應電動勢。當電流消失時,其感應電動勢會對電路中的三極管Q3產生反向電壓.當反向電壓高于Q3的反向擊穿電壓時,會把三極管成損壞.續流二極管并聯在線圈兩端,當流過線圈中的電流消失時,線圈產生的感應電動勢通過二極管和線圈構成的回路做功而消耗掉.從而保護了電路中的三極管的安全。圖4.5聲音報警電路4.1.4單片機最小系統單片機最小系統,或者稱為最小應用系統,是指用最少的元件組成的單片機可以工作的系統.對51系列單片機來說,最小系統包括:單片機、晶振電路、復位電路.前面已經提到單片機選用AT89C51.單片機及外圍電路如圖4.6所示。圖4.6單片機最小系統(1)時鐘電路AT89S51內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端.時鐘可以由內部方式產生或外部方式產生。內部方式的時鐘電路如圖4.7(a)所示,在XTAL1和XTAL2引腳上外接定時元件,內部振蕩器就產生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯諧振回路.晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調的作用。外部方式的時鐘電路如圖4.7(b)所示,XTAL1接地,XTAL2接外部振蕩器.對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號.圖4.7(a)內部方式時鐘電路圖4.7(b)外部方式時鐘電路圖4.7(a)內部方式時鐘電路圖4.7(b)外部方式時鐘電路片內時鐘發生器把振蕩頻率兩分頻,產生一個兩相時鐘P1和P2,供單片機使用。(2)復位及復位電路①復位操作復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執行程序。除了進入系統的正常初始化之外,當由于程序運行出錯或操作錯誤使系統處于死鎖狀態時,為擺脫困境,也需按復位鍵重新啟動。除PC之外,復位操作還對其他一些寄存器有影響,它們的復位狀態如表4—1所示。表4-1一些寄存器的復位狀態②復位信號及其產生RST引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間應持續24個振蕩周期(即二個機器周期)以上。若使用頗率為6MHz的晶振,則復位信號持續時間應超過4us才能完成復位操作。產生復位信號的電路邏輯如圖4.8所示。整個復位電路包括芯片內、外兩部分。外部電路產生的復位信號(RST)送至施密特觸發器,再由片內復位電路在每個機器周期的S5P2時刻對施密特觸發器的輸出進行采樣,然后才得到內部復位操作所需要的信號。復位操作有上電自動復位相按鍵手動復位兩種方式。圖4.8復位信號的電路邏輯圖圖4.8復位信號的電路邏輯圖上電自動復位是通過外部復位電路的電容充電來實現的,其電路如圖4.9(a)所示。這佯,只要電源VCC的上升時間不超過1ms,就可以實現自動上電復位,即接通電源就成了系統的復位初始化。按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過使復位端經電阻與VCC電源接通而實現的,其電路如圖4。9(b)所示;而按鍵脈沖復位則是利用RC微分電路產生的正脈沖來實現的,其電路如圖4.9(c)所示.圖4.9(a)上電復位(b)按鍵電平復位(c)按鍵脈沖復位圖4.9(a)上電復位(b)按鍵電平復位(c)按鍵脈沖復位上述電路圖中的電阻、電容參數適用于6MHz晶振,能保證復位信號高電平持續時間大于2個機器周期。本系統的復位電路采用圖4。9(a)上電復位方式。4。1。5按鍵電路設計圖4。10為單片機及鍵盤電路的電路圖,單片機AT89S51的時鐘引腳外接12M晶振,作為單片機工作的時鐘,EA端接高電平,表示使用片內程序存儲器。RST引腳接了上電復位電路,當系統上電時,上電復位電路會產生一個高電平脈沖信號,使系統復位。圖4.10單片機及鍵盤電路電路圖鍵盤是標準的輸入設備,實現鍵盤有兩種方案:一是采用現有的一些芯片實現鍵盤掃描,如8279,CH451,LMC9768等,還有就是用軟件實現鍵盤掃描。使用現成的芯片可以節省CPU的開銷,但增加了成本,而用軟件實現具有較強的靈活性,也只需要很少的CPU開銷,可以節省開發成本。本文便使用軟件實現鍵盤的掃描。常見的鍵盤可分為獨立按鍵式鍵盤和行列掃描式鍵盤.獨立按鍵式鍵盤應用在需要少量按鍵的情況,按鍵和單片機的I/O口線直接連接.而行列掃描式鍵盤用在按鍵需求較多的情形下。考慮到倉庫監控系統只需要高限加、高限減、低限加、低限減四個按鍵,所以采用獨立按鍵式鍵盤。理論上當按鍵按下或彈起時,可以相應的產生低電平或高電平,但實際并非如此。鍵盤按鍵一般都采用觸點式按鍵開關。當按鍵被按下或釋放時,按鍵觸點的彈性會產生抖動現象。即當按鍵按下時,觸點不會迅速可靠地接通,當按鍵釋放時,觸點也不會立即斷開,而是要經過一段時間的抖動才能穩定下來,按鍵材料不同,抖動時間也各不相同.圖4.11按鍵抖動示意圖一次完整的按鍵過程,包含以下幾個階段:如圖4。11所示。(1)等待階段:此時按鍵尚未按下,處于空閑階段;(2)閉合抖動階段:此時鍵剛剛按下,但信號處于抖動狀態,系統在檢測時應消抖延時,約5ms到20ms;(3)有效閉合階段:此時抖動己經結束,一個有效按鍵動作己經產生,系統應該在此時執行按鍵功能,或將按鍵編碼記錄下來,待鍵彈起時再執行其功能;(4)釋放抖動階段:許多時候編程人員并不在此時消抖延時,但最好也執行一次消抖延時,以防止誤操作;(5)有效釋放階段:若設計要求在按鍵抬起時才執行功能,則應當在此時進行按鍵功能的處理.軟件上對閉合階段的抖動一般采取延時再次確認按鍵是否按下的方式消除抖動。如上圖所示,完成系統的最高溫度和最低溫度的高低調整的四個按鍵分別加上拉電阻接到單片機的P1。1—P1。4口上,供單片機查詢,當沒有按鍵按下時,單片機I/O口輸入高電平,當有按鍵按下時,對應的單片機端口變為低電平,單片機通過檢測這種電平的變化確定按鍵的狀態.4.2軟件系統設計4.2.1系統程序流程圖系統程序流程圖如圖4。12所示。N是否高低限調整N是否高低限調整YY高低限增減高低限增減啟動DS18B20啟動DS18B20讀取溫度值讀取溫度值高于高限或低于底限高于高限或低于底限NYY控制通風,報警控制通風,報警顯示高低限和當前值顯示高低限和當前值圖4。12系統程序流程圖4.2.2單片機軟件開發語言對于8051單片機,現有四種語言支持,即匯編、FI/M、C和BASIC。C是一種源于編寫UNIX操作系統的語言,它是一種結構化語言,可產生緊湊代碼。C可以進行許多機器級函數控制而不用匯編語言。與匯編相比,有如下優點:(1)對單片機的指令系統不要求了解,僅要求對8051的存貯器結構有初步了解;(2)寄存器分配、不同存貯器的尋址及數據類型等細節可由編譯器管理;(3)程序有規范的結構,可分為不同的函數,這種方式可使程序結構化;(4)具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;(5)關鍵字及運算函數可用近似人的思維過程方式使用;(6)編程及程序調試時間顯著縮短,從而提高效率;(7)提供的庫包含許多標準子程序,具有較強的數據處理能力;(8)已編好程序可容易地植入新程序,因為它具有方便的模塊化編程技術。4.2。3DS18B20驅動程序根據DS18B20的通訊協議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定的操作.復位要求主CPU將數據線下拉500微秒,然后釋放,當DS18B20收到信號后等待16~60微秒左右,后發出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625℃/LSB形式表達,其中S為符號位.表4-2DS18B20溫度值格式表這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0。0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度.DSl820工作過程包括;初始化、ROM操作命令、存儲器操作、命令處理數據。(1)初始化單總線上的所有處理均從初始化開始(2)ROM操作指令:總線主機檢測到DSl820的存在,便可以發出ROM操作命令之一,這些命令如:指令代碼ReadROM(讀ROM)[33H]MatchROM(匹配ROM)[55H]SkipROM(跳過ROM)[CCH]SearchROM(搜索ROM)[F0H]Alarmsearch(告警搜索)[ECH](3)存儲器操作命令:指令代碼WriteScratchpad(寫暫存存儲器)[4EH]ReadScratchpad(讀暫存存儲器)[BEH]CopyScratchpad(復制暫存存儲器)[48H]ConvertTemperature(溫度變換)[44H]RecallEPROM(重新調出)[B8H]ReadPowersupply(讀電源)[B4H](4)時序主機使用時間隙(timeslots)來讀寫DSl820的數據位和寫命令字的位①初始化時序見圖4。13主機總線to時刻發送一復位脈沖(最短為480us的低電平信號)接著在tl時刻釋放總線并進入接收狀態DSl820在檢測到總線的上升沿之后等待15-60us,接著DS1820在t2時刻發出存在脈沖(低電平)如圖中虛線所示:圖4.13初始化時序②寫時間隙當主機總線t0時刻從高拉至低電平時就產生寫時間隙,從to時刻開始15us之內應將所需寫的位送到總線上,DSl820在t0后15-60us間對總線采樣若低電平寫入的位是0,若高電平寫入的位是1,見圖4。14,連續寫2位間的間隙應大于1us。圖4.14寫時序③讀時間隙見圖4.15,主機總線t0時刻從高拉至低電平時總線只須保持低電平l5us之后在t1時刻將總線拉高產生讀時間隙讀時間隙。在t1時刻后t2時刻前有效,t2距to為15us,也就是說t2時刻前主機必須完成讀位,并在t0后的60us一120us內釋放總線。圖4。15讀時序結論本文從理論設計出發,對倉庫溫度監控系統展開分析與研究。采用新型的單線數字溫度傳感器DS18B20,徹底避免了模擬傳感器帶來的干擾問題,簡化了系統復雜程序,提高了系統測量的準確程度和智能化程度,并在一定意義上降低了成本。該系統采用C語言,實現了數據采集,數據處理與顯示等功能。得到以下結論:(1)介紹了研究和設計的背景及意義,調查并綜述了當前倉庫溫度監控系統的現狀;(2)設計了通用的倉庫溫度監控系統的硬件和軟件;(3)設計了系統中溫度傳感器的檢測電路;系統主要涉及的是倉庫溫度監測,控制系統只有風機,并不完善,這方面需要加以的提高。隨著倉庫信息化建設需求的不斷深入,信息化理念的進一步普及和深入理解,未來的倉庫測控系統需具備以下幾個特點:(1)具有完善的倉情數據分析決策數學模型;(2)系統的運行應根據決策模型建立完善的自動化運行模型;(3)在倉庫信息的監控方式上,應包括局域網/因特網的實時狀態查一詢和設備。參考文獻[1]丙東,魏澤鼎.單片機應用技術與實例[M].北京:電子工業出版社,2005[2]蔡秀琴.一種適合與軟膠囊生產線的多點溫度監控系統[J].電工技術,2005[3]黃樂天,謝意。實用高精度智能加熱器系統設計[J]。微計算機技術,2005[4]胡漢才,等.單片機原理機接口技術[M].北京:北京清華大學出版社,2004?[5]葉鋼。基于DS18B20溫度控制系統的設計[J].電子測量與儀器學報,2007[6]李永.醫用體溫監測系統研究[J].現代電子技術,2006[7]王琪琳,趙英濤。新型數字多路溫度巡檢儀的設計[J].西南民族大學學報,2003[8]倪志蓮,張怡典.單片機應用技術[M].北京:北京理工大學出版社,2007[9]沈衛紅.基于單片機的智能系統設計與實現[M]。北京:電子工業出版社,2005[10]秦龍.MSP430單片機應用系統開發典型實例[J].北京:中國電力出版社,2005[11]雷少剛.基于AD590組成的溫度測量電路及應用[J]。西南航空技術高等專科學校學報[12]康華光編.電子技術基礎。高等教育出版社,2000[13]馮建華,單片機應用系統設計與產品開發,人民郵電出版社,2004[14]楊文龍編,單片機原理及應用.西安電子科技大學出版社,2000[15]馬忠梅等,單片機的C語言應用程序設計.北京航空航天大學出版社,1997[16]黃俊欽編,新型傳感器原理。航空工業出版社,1991[17]閹石,數字電子技術基礎.北京:高等教育出版社,2004[18]何立民,單片機高級教程-應用與設計.北京:北京航空航天大學出版社,2000致謝通過本次畢業設計,我在指導老師陳鴻教授的精心指導和嚴格要求下,獲得了豐富的理論知識,極大地提高了實踐能力,并對當前電子領域的研究狀況和發展方向有了一定的了解,單片機領域這對我今后進一步學習計算機方面的知識有極大的幫助。另外,此次畢業設計還獲得了陳鴻老師和同學們的大力支持。在此,我忠心感謝陳鴻老師以及幫助我的同學的指導和幫助。在未來的工作和學習中,我將以更好的成績來回報老師。最后,深深感謝我的父母和親人,多年來他們一直鼓勵和默默地支持著我的學業,是他們的愛心陪伴著我走過漫長的學習生涯。?附錄一:系統整體硬件電路圖?附錄二:系統程序仿真圖附錄三:程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintuinttemp,temp_data[2];sbitDQ=P1^0;//DS18B20端口sbitHUP=P1^1; ??//最高溫度增鍵sbitHDOWN=P1^2; //最高溫度減鍵sbitLUP=P1^3; //最低溫度增建sbitLDOWN=P1^4;?? //最低溫度減鍵sbitBAOJING=P1^5;?? //報警輸出sbitOUT=P1^6; //控制通風機sbitLED1=P2^5; //第一位數碼管位控制端sbitLED2=P2^4;? //第二位數碼管位控制端sbitLED3=P2^3; ??//第三位數碼管位控制端sbitLED4=P2^2;? //第四位數碼管位控制端sbitLED5=P2^1;?? //第五位數碼管位控制端sbitLED6=P2^0; ??//第六位數碼管位控制端unsignedcharcodetab_LED[10]={0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0xF8,0x80,0x90};//顯示的段碼,分別代表0—9typedefunsignedcharbyte;typedefunsignedintword;voiddelay2(uintt){for(;t〉0;t--);}voiddelaym(unsignedintt) //延時子程序,入口參數ms,延遲時間=t*1ms,t=0~65535{unsignedcharj; //j=0~255while(t——){for(j=0;j<50;j++);???//j進行的內部循環,1次延遲8us}}//************************18b20驅動程序***************************voiddelay(worduseconds)//延時子函數{for(;useconds>0;useconds—-);}/****************DS18B20復位函數************************/ow_reset(void){charpresence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//從高拉倒低DQ=0;delay2(50);//550usDQ=1;delay2(6);//66uspresence=DQ;//presence=0復位成功,繼續下一步}delay2(45);//延時500uspresence=~DQ;}DQ=1;//拉高電平}/****************DS18B20寫命令函數************************///向1-WIRE總線上寫1個字節voidwrite_byte(ucharval){uchari;for(i=8;i>0;i——){DQ=1;_nop_();_nop_();//從高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay2(6);//66usval=val/2;//右移1位}DQ=1;delay2(1);}///****************DS18B20讀1字節函數************************///從總線上取1個字節ucharread_byte(void){uchari;ucharvalue=0;for(i=8;i〉0;i—-){DQ=1;_nop_();_nop_();value〉〉=1;DQ=0;_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value|=0x80;delay2(6);//66us}DQ=1;return(value);}///****************讀出溫度函數************************///uintread_temp(){ow_reset();//總線復位delay2(200);write_byte(0xcc);//發命令write_byte(0x44);//發轉換命令ow_reset();delay2(1);write_byte(0xcc);//發命令write_byte(0xbe);temp_data[0]=read_byte();//讀溫度值的第字節temp_data[1]=read_byte();//讀溫度值的高字節temp=temp_data[1];temp<<=8;temp=temp|temp_data[0];//兩字節合成一個整型變量。returntemp;//返回溫度值}//***************************主函數****************************main(){unsigned
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CAQI 130-2020家用燃氣快速熱水器及燃氣采暖熱水爐健康防護性能評價規范
- 冠心病介入考試題及答案
- 武漢斗魚java面試題及答案
- java線程面試題及答案
- 武漢順豐java面試題及答案
- 公益英文面試題及答案
- T/CAEPI 44-2022陶瓷平板膜組器技術要求
- 新質生產力超跌股
- 八一班班級平安工作方案
- 農業農村領域合作協議書
- 商標分割申請書
- 上海租賃合同
- (2012)149號文造價咨詢費計算表
- EndNote使用教程介紹課件
- 重癥肌無力 (神經內科)
- 醫院診斷證明書word模板
- 藥物分析與檢驗技術中職PPT完整全套教學課件
- 小兒急性顱內壓增高護理
- 城市消防站建設標準XXXX
- 小學英語The-Giving-Tree 優秀公開課課件
- 左宗棠課件完整版
評論
0/150
提交評論