【正文】
電源(電容)充電。ROM、RAM指令如下圖所示: ROM、RAM指令表 DS18B20的應用電路 DS18B20暫存存儲器分布根據DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。單片機可通過單線接口讀到該數據,讀取時低位在前,高位在后。R1和R0用來設置分辨率,如下表所示:(DS18B20出廠時被設置為12位) 溫度分辨率設置表(5)高速暫存存儲器高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。(4)配置寄存器該字節(jié)各位的意義如下: 配置寄存器 低五位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。例如+125℃的數字輸出為07D0H,+℃的數字輸出為0191H,℃的數字輸出為FF6FH,55℃的數字輸出為FC90H。(2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,℃/LSB形式表達,其中S為符號位。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。 DS18B20的測溫原理DS18B20有4個主要的數據部件:計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0時,溫度寄存器的值將加1,計數器1的預置將重新被裝入,計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。高溫度系數晶振隨溫度變化其振蕩率明顯改變,所產生的信號作為計數器2的脈沖輸入。 DS18B20內部結構 DS18B20內部結構。 DS18B20的寫時序 DS18B20的使用 DS18B20的讀時序(2)DS18B20的寫時序 對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。 DS18B20的讀時序是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓DS18B20把數據傳輸到單總線上。數據和命令的傳輸都是低位在先。所有時序都是將主機作為主設備,單總線器件作為從設備。DS18B20有嚴格的通信協(xié)議來保證各位數據傳輸的正確性和完整性。由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數據線實現數據的雙向傳輸,而對STC89C52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。3VDD可選擇的VDD引腳。開漏單總線接口引腳。 DS18B20的引腳介紹 TO-。 (5)、數字溫度計的分辨率用戶可以從9位到12位選擇。C到+125。 (3)、實際應用中不需要外部任何元器件即可實現測溫。 DS18B20產品的特點 (1)、只要求一個端口即可實現通信。 DS18B20基本知識 DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。在使用中不需要任何外圍元件;測量結果以9~12位數字量方式串行傳送。支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現多點測溫。DS18B20 數字溫度傳感器,測溫范圍 -55℃~+125℃,℃。綜合比較方案一與方案二,方案二更為適合于本設計系統(tǒng)對于溫度傳感器的選擇。作為電流輸出型傳感器的一個特點是,和電壓輸出型相比,它有很強的抗外界干擾能力。使用可靠?!妗2捎肁D590,它的測溫范圍在55℃~+150℃之間,而且精度高。在工業(yè)中用于50~180℃測溫。(℃+ |t|)。按IEC標準測溫范圍200~650℃,百度電阻比W(100)=,R0為100Ω和10Ω,其允許的測量誤差A級為177。鉑的物理、化學性能極穩(wěn)定,耐氧化能力強,易提純,復制性好,工業(yè)性好,電阻率較高,因此,鉑電阻用于工業(yè)檢測中高精密測溫和溫度標準?,F應用較多的有鉑、銅、鎳等熱電阻。 系統(tǒng)總體框圖方案一:采用熱電阻溫度傳感器。同時增加了組件的測溫點免維護自由增減功能,以適應系統(tǒng)的規(guī)模的自由裁剪。 這就要求我們必須設計一種高可靠,高一致性,基本免維護,可自由增減測溫點,并具有和計算機聯網交換數據的能力的測溫組件。上位機上位機運行組態(tài)通用工業(yè)過程監(jiān)控軟件,對現場的設備進行監(jiān)控、并對倉庫溫濕度進行巡回檢測。下圖展示了一種可能的結構通過一線牽采集模塊,對糧倉的溫度進行測量采集,每個糧倉約有200點模擬量輸入(溫度)并根據糧食的情況對現場進行濕度檢測。但是通過實際的考察,現實的系統(tǒng)根本不是這個樣子:由于糧食要定期的通過熏蒸來除蟲、防鼠,熏蒸藥劑具有高毒性,高腐蝕性,人員根本不能隨意接觸到倉內設備,更不要說通過數碼管的顯示和報警器來及時發(fā)現溫度的異常變化,同時出于防爆的要求,在倉庫內部的系統(tǒng),是完全密封的,并被充入低氧高氮的氣體,平時人員根本不能及時進入。因此我們需要一種造價低廉、使用方便且測量準確的溫度測量儀。它直接影響到儲備物資的壽命和工作可靠性。Serial transmission Serial Data Transfer。關鍵詞:DS18B20 ;單片機 MCU;串行傳輸 Serial Data Transfer;單總線 1wire interfaceAbstractThis design as the main STC8952 of singlechip control module, using a simple external circuit to drive the 1Wire bus, the use of 1Wire bus protocol, to achieve a more accurate measurement of temperature. The use of MCS STC89C52 powerful features and its own internal RAM resources, it is easy to achieve singlechip and PC data transfer between aircraft and the use of software to facilitate the realization of the logic to determine the 1Wire bus ROM search, the realization of the temperature measurement device enumeration 18B20, no intervention to achieve a dynamic temperature measurement point cut, so the design of practical application. In addition,the system did not plete humidity testing. This article from the 1Wire bus starting with the principle, described in detail 1Wire bus ROM search process, as well as the design of hardware circuits, puting and software algorithms. Keywords :DS18B20。另外,本系統(tǒng)的濕度檢測沒有完成。倉庫溫濕度檢測系統(tǒng)設計摘要本設計使用STC89C52單片機作為主控制模塊,利用簡單的外圍電路來驅動1Wire總線,利用1Wire總線協(xié)議,實現了多點溫度和濕度的精確測量。利用STC89C52單片機本身強大的功能和內部RAM資源,可以很方便的實現單片機與PC機間的數據傳輸,并能利用軟件方便的邏輯判斷實現了1Wire總線的ROM搜索,實現了測溫器件18B20的枚舉,實現了無人干預的測溫點的動態(tài)裁剪,所以本設計具有很強的現實應用性。本文從1Wire總線的原理入手,詳細闡述了1Wire總線的ROM搜索過程,以及硬件電路的設計、計算和軟件的算法。 Singlechip MCU 。monobus 1wire interface目 錄摘要 IAbstract II目 錄 III第1章 緒 論 1 1 2 2 2第2章 系統(tǒng)總體設計 3 3 4 DS18B20基本知識 4 DS18B20產品的特點 4 DS18B20的引腳介紹 4 5 5 DS18B20的使用 7 DS18B20的應用電路 11 14 MAX232電平轉換芯片特點 18 20 20第3章 軟件設計 22 1Wire總線協(xié)議處理 22 1Wire CRC 校驗處理 28 1Wire 器件的ROM搜索 29 ‘FIRST’操作 38 ‘NEXT’操作 38 39第4章 總結 41社會經濟效益分析 42參考文獻 43致謝 45附錄A 程序清單 46附錄B PCB板圖 65 第1章 緒 論防潮、防霉、防腐、防爆是糧庫日常工作的重要內容,是衡量糧庫管理質量的重要指標。為保證日常工作的順利進行,首要問題是加強倉庫內溫度的監(jiān)測工作,因為溫度的升高,就意味著糧庫內的有氧呼吸的加強,就意味著馬上就要發(fā)生腐爛霉變。在我們的印象中,溫度的測量不外乎由傳感器、放大器、數碼顯示、報警器等單元組成。因此現在的監(jiān)控系統(tǒng)都是由計算機監(jiān)控,采用專用組態(tài)軟件、單片機及數字傳感器組成的,具有5001000個測溫點的,網絡化的數字式溫度檢測的系統(tǒng)?,F場控制站現場控制站可用西門子PLC控制現場輸送機、提升機、電動閘門、通風機的啟動運行,以及報警等功能的反饋信號,實現自動化控制。并生成動態(tài)畫面、報表、報警、曲線等數據管理功能。根據實際的需求,我們提出了測溫組件的基本功能,需要說明的是,在這里你看不到傳統(tǒng)的溫度顯示功能,因為實際上工作人員根本不可能到現場去記錄溫度的顯示。檢測溫度測溫點免維護自由增減過限指示與計算機通訊 溫度檢測范圍 : 40℃+60℃測量精度: ℃報警方式:閃動的LED指示燈通訊方式:RS232 9600,N,8,1第2章 系統(tǒng)總體設計本設計是以STC89C52為基本系統(tǒng)核心的一套檢測系統(tǒng),其中包括、單片機、復位電路、溫度檢測、過限指示、通訊接口、系統(tǒng)軟件等部分的設計。熱電阻是利用導體的電阻隨溫度變化的特性制成的測溫元件。其主要的特點為精度高、測量范圍大、便于遠距離測量。缺點是價格貴,溫度系數小,受到磁場影響大,在還原介質中易被玷污變脆。(℃+ |t|),B級為177。銅電阻的溫度系數比鉑電阻大,價格低,也易于提純和加工;但其電阻率小,在腐蝕性介質中使用穩(wěn)定性差。方案二:采用AD590。M檔在測溫范圍內非線形誤差為177。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會損壞。它只需直流電源就能工作,而且,無需進行線性校正,所以使用也非常方便,接口也很簡單。AD590的測量信號可遠傳百余米。方案三:采用DS18B20。具有獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊。工作電源: 3~5V/DC。綜合比較方案二與方案三,方案三更為適合于本設計系統(tǒng)對于溫度傳感器的選擇。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線上可以掛很多這樣的數字溫度計,十分方便。 (2)、在DS18B20中的每個器件上都有獨一無二的序列號。 (4)、測量溫度范圍在-55。C之間。 (6)、內部有溫度上、下限告警設置。 DS18B20引腳(底視圖) DS18B20詳細引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數據輸入/輸出引腳。既可以用在寄生電源下,也可以向器件提供電源。當工作于寄生電源時,此引腳必須接地。 由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。(1)DS18B20的復位時序 DS18B20的復位時序 DS18B20的讀時序對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。DS18B20在完成一個讀時序過程,至少需要60us才能完成。 對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。圖中低溫度系數晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數器1。計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。其輸出用于修正計數器1的預置值。(1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。 DS18B20溫度值格式這