freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于18b20溫度報警系統(tǒng)畢業(yè)設(shè)計-資料下載頁

2025-06-28 00:46本頁面
  

【正文】 00 0101 0101 0000 0550h+℃ 0000 0001 1001 0001 0191h+℃ 0000 0000 1010 0010 00A2h+℃ 0000 0000 0000 1000 0008h0℃ 0000 0000 0000 0000 000h℃ 1111 1111 1111 1000 FFF8h℃ 1111 1111 0101 1110 FF5Eh℃ 1111 1110 0110 1111 FF6Fh55℃ 1111 1100 1001 0000 FC90h南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 25 DS18B20 序列號編碼DS18B20 內(nèi)部具有出廠前固化的 8 字節(jié)代碼,如表所示。表 26 64 位光刻 ROM8 位 CRC 代碼 48 位器件序列號 8 位產(chǎn)品類型碼(28H)其首字節(jié)位產(chǎn)品類型代碼,固化為 10H,后 6 字節(jié)是每個傳感器的序列號,最后一字節(jié)是 CRC 檢驗碼。其中 6 字節(jié)共 48 位的器件序列號可看成是每個傳感器固有的地址編碼而在多點測溫中作為識別標志。多點測溫中若用序列號作為傳感器的地址編碼,一種簡單的方法是采取以下幾個步驟:(1)逐個測出每個傳感器的序列號,連同其在測溫現(xiàn)場位置的手工編號,作為地址編碼做成標簽貼在傳感器的表面。(2)手工建立傳感器地址與其序列號的關(guān)系表,并將其固化在程序中。系統(tǒng)運行時,微機根據(jù)序列號讀取相應(yīng)傳感器溫度,數(shù)據(jù)按關(guān)系表放入數(shù)據(jù)庫與地址編碼的數(shù)據(jù)項位置。 DS18B20 的測溫原理每一片 DSl8B20 在其 ROM 中都存有其唯一的 48 位序列號,在出廠前已寫入片內(nèi) ROM 中。主機在進入操作程序前必須用讀 ROM(33H)命令將該 DSl8B20 的序列號讀出。程序可以先跳過 ROM,啟動所有 DSl8B20 進行溫度變換,之后通過匹配ROM,再逐一地讀回每個 DSl8B20 的溫度數(shù)據(jù)。DS18B20 的測溫原理如圖 所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器 2 的脈沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55 ℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器 1 和溫度寄存器中,減法計數(shù)器 1 和溫度寄存器被預(yù)置在55 ℃所對應(yīng)的一個基數(shù)值。減法計數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器 1 的預(yù)置值減到 0 時溫度寄存器的值將加 1,減法計數(shù)器 1 的預(yù)置將重新被裝入,減法計數(shù)器 1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 26直到減法計數(shù)器 2 計數(shù)到 0 時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖 中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就是 DS18B20 的測溫原理。另外,由于 DS18B20 單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對 DS18B20 的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化 DS18B20(發(fā)復位脈沖)→發(fā) ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。減法計數(shù)器斜坡累加器減到 0減法計數(shù)器預(yù) 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計數(shù)比較器預(yù) 置溫度寄存器減到 0圖 測溫原理內(nèi)部裝置 DS18B20 的測溫流程初始化DS18B20跳過 ROM匹配溫度變換 延時 1S跳過 ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示圖 DS18B20 測溫流程 DS18B20 數(shù)據(jù)校驗與糾錯(1)在進行多點測溫時,敏感元件與數(shù)據(jù)采集系統(tǒng)一般有一定的距離,不南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 27可避免的要遇到電磁干擾。信號衰減問題,使數(shù)據(jù)發(fā)生錯誤。如果在數(shù)據(jù)的傳輸過程中系統(tǒng)具有一定的容錯能力,在糾錯范圍內(nèi),就可以對錯誤的數(shù)據(jù)進行糾正,提高抗干擾能力和加大傳輸距離,當錯誤超出糾錯范圍時,也可以識別出錯誤的數(shù)據(jù)進行從新采集,從而提高了采集數(shù)據(jù)的可信度。DS18B20 在設(shè)計時已經(jīng)為用戶提高了用于檢驗遇救錯的循環(huán)冗余校驗碼(cyclic redundancy code crc) 。下邊將就用軟件對 DS18B20 中數(shù)據(jù)的校驗與糾錯進行詳細的討論,并給出了用查表法進行校驗及糾錯的算法以及實現(xiàn)這一算法的過程。字節(jié)數(shù)據(jù)存儲結(jié)構(gòu)如表 210 所示。圖 210 9 字節(jié)數(shù)據(jù)存儲結(jié)構(gòu)圖CRC保留保留保留配置寄存器低溫限值 TL高溫限值 TL溫度高字節(jié)溫度低字節(jié)由溫度存儲器的低字節(jié)、高字節(jié),低溫報警器 TL,高字節(jié)報警觸發(fā)器 TH,配置寄存器,和 CRC 字節(jié)組成了 DS18B20 的數(shù)據(jù)存儲器,共九個字節(jié),結(jié)構(gòu)如圖 29。其中溫度存儲器的低位字節(jié)、高位字節(jié)是以符號擴展,0 表示正數(shù),1表示負數(shù)值,其余位正整數(shù)部分。例如 16 進制溫度值 018CH 對應(yīng)的二進制數(shù)為0000000110001100,溫度值是 ℃;FF5EH 對應(yīng)的二進制為1111111101011110,℃。圖中的 CRC 是通過 CRC 發(fā)生器產(chǎn)生的。CRC 發(fā)生器產(chǎn)生的邏輯電路是由移位寄存器或異或門組成,也稱除法邏輯電路。CRC 發(fā)生器的邏輯電路對應(yīng)的表達式是 X8+X5+X4+1(對應(yīng)的二進制數(shù)為100110001) ,也稱生成多項式,記位 g(x) 。實際應(yīng)用中就是通過這種除法邏輯電路對一組數(shù)據(jù)進行校驗和糾錯。如果速度允許,也常使用生成多項式g(x)通過軟件方法進行校驗與糾錯。(2) CRC 校驗的算法與編碼的算法是相同的,校驗時要將 CRC 作為數(shù)據(jù)一同進行計算。下邊對其進行討論并給出查表算法。直接算法:用于生成多項式直接進行校驗的方法是將低字節(jié)位放在前(左) 。然后用 g(x)去做異或除法。得到的余數(shù)若為 0,則表示數(shù)據(jù)正確,余數(shù)不為0,則表示數(shù)據(jù)有錯,通過余數(shù)便可知道結(jié)果是否正確。DS18B20 的 CRC 碼是可以糾正一位錯誤的。改進算法;直接算法由于循環(huán)次數(shù)較多而且需要的時間很長。改進算法能叫為方便的進行處理,該算法是對數(shù)據(jù)進行逐步字節(jié)處理,處理順序是由低字節(jié)到高字節(jié)。這里首先將 CRC 單元賦 0,取一個字節(jié)數(shù)據(jù)做異或并將結(jié)果存入暫存單元 AY,然后字節(jié)數(shù)據(jù)左環(huán)移。如果 AY 的最低位是一,則 CRC 只左移。南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 28在將 AY 的最低移入 CRC 的最高位。做完一個字節(jié)之后,將 CRC 的結(jié)果與下一個字節(jié)做同樣處理直至最后一個字節(jié)處理完。(3)糾錯:如果結(jié)果不為 0,則意味著數(shù)據(jù)錯誤。DS18B20 的編碼是可以糾正一位錯誤的,當錯誤多余一個就是要重新采集數(shù)據(jù),本文給出一種利用查表進行糾錯的方法。該方法是首先計算出一位錯誤代碼的樣圖,如表 27 所示。表 27 一位錯誤代碼的樣圖下標D7 D6 D5 D4 D3 D2 D1 D00 17321810918693 16281 1641 14673 16884 42 21 134672 151199239251241155122613 23411718291 161220110554 20323324812462 31 1312055 21722411256 28 14 7 1436 98 49 14874 37 15879 1717 47 15519323611859 1451968 14070 35 15719497 18894然后根據(jù)查表得到這個余數(shù)在圖中的位置(這里設(shè)為 N,N 的值從 0 到 71) ,通過 N 的值就可以計算出錯誤在數(shù)據(jù)中的值,計算的方法是,將 N 被 8 除,商的整數(shù)部分位錯誤字節(jié)的位置,用 7 減去余數(shù)則得到錯誤位在該字節(jié)中的位號,只需對錯誤位取反即可糾正錯誤??偨Y(jié):由于使用了校驗與糾錯方法,增加了數(shù)據(jù)的傳輸距離與可信度。在沒有使用校驗與糾錯方式時,線路大于 20 米,顯示的溫度常出現(xiàn)大幅度的跳動。在使用了校驗與糾錯方法后,線路在 50 米時仍然十分穩(wěn)定。南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 29 DS18B20 在測溫系統(tǒng)中的應(yīng)用DS18B20 與單片機的接口極其簡單,只需將 DS18B20 的信號線與單片機的一位雙向端口相連即可。一般測溫電纜采用屏蔽 4 芯雙絞線,其中一對接地線與信號線,另一對 Vdd 和地線,屏蔽層在源端單點接地。 測溫系統(tǒng)的硬件工作原理對 DS18B20 初始化后,主機發(fā)出 SKIP ROM 命令,此命令執(zhí)行后的存儲器操作命令將對所在線的 DS18B20,在發(fā)出溫度轉(zhuǎn)換啟動碼 44H,等待 750ms 后,先發(fā)出匹配 ROM 命令(55H) ,緊接著主機提供一片 DS18B20 的 64 位序列號,讀取其溫度存儲器值,存入數(shù)據(jù)緩存。 注意事項DS18B20 具有測溫系統(tǒng)簡單,測溫精度高,連接方便,站用口線少等優(yōu)點,但是在實際使用中也應(yīng)注意以下幾方面的問題:(1)DS18B20 從測溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時間,這是必須保證的,不然會出現(xiàn)轉(zhuǎn)換錯誤的現(xiàn)象,使溫度輸出總是顯示 85。(2)在實際使用時發(fā)現(xiàn),應(yīng)使電源保持在 5V 左右。若電源電壓過低,會使所測得的溫度與實際溫度出現(xiàn)偏高現(xiàn)象,經(jīng)過實驗發(fā)現(xiàn),一般在 5V 左右。(3)初始化時,當主機受到 DS18B20 回應(yīng)的低電平信號后等到單總線恢復高電平后,主機才能接著對 DS18B20 進行操作。(4)當主機發(fā)溫度轉(zhuǎn)換命令使 DS18B20 進行溫度轉(zhuǎn)換時,數(shù)據(jù)線要保持高電平的時間為 750ms。(5)當主機發(fā)數(shù)值拷貝命令使 DS18B20 將溫度寄存器的數(shù)值拷貝到 EERAM中時,數(shù)據(jù)線保持高電平時間至少為 10ms。(6)當不進行復位時,數(shù)據(jù)線保持為低電平時間不超過 60us,否則將產(chǎn)生復位讀操作。(7)要嚴格的按照時隙圖對 DS18B20 進行復位和讀寫操作。(8)單總線上所掛的 DS18B20 超過 8 個時,要注意微處理器的總線驅(qū)動問題。 [15](9)在 DS18B20 測溫程序設(shè)計中,向 DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS18B20 的返回信號,一旦某個 DS18B20 接觸不好或斷線,當程序讀該 DS18B20 時,將沒有返回信號,程序進入死循環(huán)。這一點在進行 DS18B20 硬件連接和軟件設(shè)計時要注意。南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 30(10) 測溫電纜線在這里采用屏蔽 4 雙絞線,其中一對線接地線與信號線,另一組接 Vcc 和地線,屏蔽層在源端點單點接地。第四章軟件設(shè)計 設(shè)計思路在子程序設(shè)計中,要求系統(tǒng)結(jié)構(gòu)清晰,盡可能地保證單入口單出口,減少與其他程序之間的耦合,但為了提高這類滯后對象的實時性指標,可以在個程序適當?shù)牟糠诌M行揉合。例如在播放語音時,需要調(diào)用一段延時,在本程序中,利用 CPU 執(zhí)行溫度轉(zhuǎn)換這段代碼占有的時間代替這段延時。在正常執(zhí)行溫度轉(zhuǎn)換時,同樣需要調(diào)用一段延時,而本系統(tǒng)利用 CPU 執(zhí)行顯示子程序占有的時間代替這段延時??傊到y(tǒng)設(shè)計時要協(xié)調(diào)這種時間滯后,使系統(tǒng)滿足實時性要求。具體軟件流程圖如圖 所示: 南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 31圖 軟件流程圖南京工業(yè)大學本科生畢業(yè)設(shè)計(論文) 32 程序設(shè)計系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。 主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的當前溫度值,溫度測量每 1s 進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖 7 所示。圖 7
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1