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

正文內容

基于ds18b20單線多點溫度測量系統(tǒng)_畢業(yè)論文設計(編輯修改稿)

2024-10-03 19:31 本頁面
 

【文章內容簡介】 可以通過按下圖所示設置 R0 和 R1位來設定 DS18B20 的精度。上電默認設置: R0=1,R1=1( 12 位精度)。 注意:精度和轉換時間之間有直接的關系。暫存器的位 7 和位 04被器件保留,禁止寫入;在讀回數(shù)據(jù)時,它們全部表現(xiàn)為邏輯 1。 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 R1 R0 1 1 1 1 1 圖 17 配置寄存器 表 11 溫度分辨率配置 R1 R0 精度 最大轉換時間 0 0 9bit Tconv/8 0 1 10bit Tconv/4 1 0 11bit 375ms Tconv/2 1 1 12bit 750ms Tconv (3)溫度傳感器 DS18B20 中的溫度傳感器可完成對溫度的測量。 當溫度轉換命令發(fā)布后,經轉換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第 0和第 1 個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如圖所示。對應的溫度 計算:當符號位 S=0 時,直接將二進制位轉換為十進制;當 S=1 時,先將補碼變?yōu)樵a,再計算十進制值。 TEMPERATURE LSB TEMPERATURE MSB TH/USERBYTE1 TL/USERBYTE2 RESERVED RESERVED COUNT REMAIN COUNT PER℃ CRC SCRATCHPAD BYTE 0 1 2 3 4 5 6 7 8 EERAM TH/USERBYTE1 TL/USERBYTE2 基于 DS18B20 單線多點溫度測量系統(tǒng) 10 圖 18 DS18B20 溫度寄存器格式 表 12 溫度 /數(shù)據(jù)關系 溫度 /℃ 二進制表示 十六進制表示 +125 00000111 11010000 07D0H + 00000001 10010001 0191H + 00000000 10100010 00A2H + 00000000 00001000 0008H 0 00000000 00000000 0000H 11111111 11111000 FFF8H 11111111 01011110 FF5EH 11111110 01101111 FE6FH 55 11111100 10010000 FC90H ( 4) CRC 發(fā)生器 CRC 字節(jié)作為 DS18B20 64 位 ROM 的一部分存儲在存儲器中。 CRC 碼由 ROM的前 56 位計算得到,被包含在 ROM 的重要字節(jié)當中。 CRC 由存儲在存儲器中的數(shù)據(jù)計算得到,因此當存儲器 中的數(shù)據(jù)發(fā)生改變時, CRC 的值也隨之改變。 CRC能夠在總線控制器讀 DS18B20 時進行數(shù)據(jù)校驗。為校驗數(shù)據(jù)是否被正確讀取,總線控制器必須用接受到的數(shù)據(jù)計算出一個 CRC 值,和存儲在 DS18B20 的 64 位 ROM 中的值(讀 ROM時)或 DS18B20 內部計算出的 8位 CRC值(讀存儲器時)進行比較。如果計算得到的 CRC 值和讀取出來的 CRC 值相吻合,數(shù)據(jù)被無錯傳輸。 C23 22 21 20 21 22 23 24 S S S S S 26 25 24 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 LS BYTE BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8 MS BYTE S=SIGN 基于 DS18B20 單線多點溫度測量系統(tǒng) 11 RC值的比較以及是否進行下一步操作完全由總線控制器決定。 圖 19 CRC 生成 單線總線系 統(tǒng) 單總線系統(tǒng)只有一條定義的信號線。每一個總線上的器件必須是漏極開路或三態(tài)輸出。這樣的系統(tǒng)允許每一個掛在總線上的區(qū)間都能在適當?shù)臅r間驅動它。DS18B20 的單總線端口( DQ 引腳)是漏極開路式的,單總線需要一個約 5KΩ的外部上拉電阻;單總線的空閑狀態(tài)是高電平。無論任何理由需要暫停某一執(zhí)行過程時,如果還想恢復執(zhí)行的畫,總線必須停留在空閑狀態(tài)。在恢復期間,如果單總線處于非活動(高電平)狀態(tài),位與位間的恢復時間可以無限長。如果總線停留在低電平超過 480us,總線上的所有器件都將被復位。 圖 110 DS18B20電路連接 處理順序 經過單線總線接口訪問 DS18B20 的協(xié)議如下: 步驟 1:初始化 步驟 2: ROM 操作指令 步驟 3: DS18B20 功能指令 5UA Typ RX TX +5V 100Ω MOSFET RX XOR XOR XOR INPUT (MSB) (LSB) 基于 DS18B20 單線多點溫度測量系統(tǒng) 12 初始化 通過單總線的所有執(zhí)行操作處理都從一個初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和其后由從機發(fā)出的存在脈沖。存在脈沖讓總線控制器知道 DS18B20 在總線上且已準備好操作。 ROM 操作指令 一旦總線控制器探測到一個存在脈沖,它就發(fā)出一條 ROM指令。如果總線上掛有多只 DS18B20,這些指令將基于器件獨有的 64 位 ROM 片序列碼使得總線控制器選出特定要進行操作的器件。這些指令同樣也可以使總線控制器識別有多少個什么型號的器件掛在總線上,同樣,它們也可以識別哪些器件已經符合報警條件。 ROM指令有 5條,都是 8 位長度??偩€控制器在發(fā)起一條 DS18B20 功能指令之前必須先發(fā)出一條 ROM 指令。 表 23 ROM 操作指令 DS18B20 功能指令 在總線控制器發(fā)給欲連接的 DS18B20 一條 ROM 命令后,跟著可以發(fā)送一條 DS18B20 功能指令。這些命令允許總線控制器讀寫 DS18B20 的暫存器,發(fā)起溫度轉換和識別電源模式。 DS18B20 功能指令如下圖所示: 指令名稱 指令代碼 指令功能 讀 ROM 33H 讀 DS18B20 ROM 中的編碼 (即讀 64 位地址編碼) ROM 匹配 55H 發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與編碼相對應 DS18B20使之作出響應,為下一步對該 DS18B20的讀寫作準備 搜索 ROM 0F0H 用于確定接在同一總線上 DS18B20的個數(shù)和識別 64位 ROM 地址,為操作各器件作好準備 跳過 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度變換命令,適用于單片機工作 報警搜索 0ECH 該指令執(zhí)行后,只有溫度超過設定值上限或下限的片子才做出響應 基于 DS18B20 單線多點溫度測量系統(tǒng) 13 表 24 DS18B20 功能指令 指令名稱 指令代碼 指令功能 溫度變換 44H 啟動 DS18B20 進行溫度轉換,轉換時間最長為 500ms(典型為 200ms),結果存入內部 9 字節(jié) RAM 中 讀暫存器 0BEH 讀內部 RAM 中 9 字節(jié)的內容 寫暫存器 4EH 發(fā)出向內部 RAM 的第 3,4 字節(jié)寫上,下限溫度數(shù)據(jù)命令,緊跟著該命令之后是傳送兩字節(jié)的數(shù)據(jù) 復制暫存器 48H 將 RAM 的第 3,4字節(jié)的內容復制到 EEPROM中 重調 EEPROM 0B8H EEPROM 中的內容恢復到 RAM 中的第 3,4 字節(jié) 讀供電方式 0B4H 讀 DS18B20 的供電模式,寄生供電時 DS18B20 發(fā)送 “0” ,外接供電時DS18B20發(fā)送 “1” 基于 DS18B20 單線多點溫度測量系統(tǒng) 14 第三章 系統(tǒng)軟件設計 整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調各執(zhí)行模塊和操作者的關系。二 是執(zhí)行軟件(子程序),它是用來完成各種實質性的功能如測量、計算、顯示、報警等。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。以下是系統(tǒng)軟件結構圖 : 圖 31 系統(tǒng)軟件結構圖 DSl8B20 溫度測量 單點測量溫度 如果總線上只有一個器件 , 則不需要識別器件的編碼 , 直接訪問該器件即可。訪問流程圖如下: 主程序 液晶顯示子程序 溫度測量子程序 中斷程序控制 鍵盤掃描選擇程序 基于 DS18B20 單線多點溫度測量系統(tǒng) 15 圖 32 單點溫度測量流程圖 多點測量溫度 多點測量溫度中需每一片 DSl8B20在 ROM中都存有唯一的序列號 , 在出廠前己寫入片內 ROM中 ,主機在進入操作程序前必須逐一接入 DS18B20用讀 ROM(33H)命令將該 DS18B20 的序列號讀出并登錄。當主機需要對眾多在線 DS18B20 的某一個進行操作時 , 首先要發(fā)出匹配 ROM 命令 (55H),緊接著主機提供 64 位序列號 ,之后的操作就是針對該 DS18B20 的。而所謂跳過 ROM命令即為:之后的操作是對初始化 DS18B20 開始 發(fā) Skip ROM 命令 溫度轉換 延時 500ms 等待溫度轉換 初始化 DS18B20 發(fā) Skip ROM 命令 發(fā)讀溫度命令 讀 DS18B20 返回 EEPROM 中的內容,順序從字節(jié) 0 的 LSB 位開始 讀兩次,即讀出溫度值的高低 兩字 將二進制溫度轉換成十進制溫度取整數(shù)部分的 7 位至 ACC 各位中以實現(xiàn)溫度轉換 結束 基于 DS18B20 單線多點溫度測量系統(tǒng) 16 所有 DS18B20 的??驁D 中先有跳過 ROM,即是啟動所有 DS18B20 進行溫度變換 ,之后通過匹配 ROM,再逐一地讀回每個 DS18B20 的溫度數(shù)據(jù)。在 DS18B20 組成的測溫系統(tǒng)中 ,主機在發(fā)出跳過 ROM 命令之后 , 再發(fā)出統(tǒng)一的溫度轉換啟動碼 44H, 就可以實現(xiàn)所有 DS18B20的統(tǒng)一轉換 ,再經過 1秒后 ,就可以用很少的時間去逐一讀取。 圖 33 多點溫度測量流程圖 開始 結束 初始化 DS18B20 發(fā)送搜索 ROM 命令 讀在線 DS18B20序列號 初始化 DS18B20 存在一個 DS18B20 發(fā)送溫度轉換命令 發(fā)送匹配 ROM 命令 發(fā)送匹配溫度傳感器序列號 所有傳感器溫度讀取完畢 讀取溫度 N YN N Y 基于 DS18B20 單線多點溫度測量系統(tǒng) 17 DS18B20 ROM 搜索 算法 搜索算法采用的是二叉樹型結構,搜索過程沿各分節(jié)點進行,直到找到器件的 ROM 碼即葉子為止;后續(xù)的搜索操作沿著節(jié)點上的其它路徑進行,按照同樣的方式直到找到 總線 上的所有器件代碼。 搜索算法首先通過復位( reset)和在線應答脈沖( presence pulse)時隙將 1Wire 總線上的所有器件復位;成功地執(zhí)行該操作后,發(fā)送 1 個字節(jié)的搜索命令;搜索命令使 1Wire 器件準備就緒、開始進行搜索操作。 搜索命令分為兩類:標準搜索命令 (F0 hex)用來搜索連接到網(wǎng)絡中所有器件;報警或有條件搜索命令 (EC hex)只 用來搜索那些處于報警狀態(tài)下的器件 ,這種方式縮小了搜索范圍,可以快速查找到所需要注意的器件。 當單線總線上掛有多個 DS18B20 時,系統(tǒng)對總線上器件的數(shù)量和每個器件的ROM的識別與搜索是通過 DS18820 ROM 搜索命令與算法配合來實現(xiàn)的。下面具體介紹 ROM 搜索命令的工作過程。對 64 位 ROM 編碼識別從最低位開始, ROM 編碼的每一位搜索過程可總結為 “ 兩讀一寫 ” :讀一位,讀該位補碼;寫一位??偩€主機在 ROM 編碼每一位上完成這三步就可以獲得一個器件的 ROM 編碼。 (1)讀兩位 總線主機發(fā)布 ROM 搜索 命令后執(zhí)行一次讀,總線上所有器件就把它們各自 ROM 編碼的第一位放到總線來作出響應。這次讀獲得的數(shù)據(jù)是所有器件放在總線上數(shù)據(jù)的 “ 與 ” 。再執(zhí)行一次讀,因為 ROM 搜索命令正在執(zhí)行所以總線上所有器件把各自 ROM 編碼的第一位的補碼放在總線上,第二次讀獲得的數(shù)據(jù)也是所有器件放在總線上數(shù)據(jù)的 “ 與 ” 。對第一位的 “ 兩讀 ” 就此完成。之后主機再次進行的 “ 兩讀 ” 則是針對 ROM 編碼的第二位,以此類推。從 “ 兩讀 ” 獲得的數(shù)據(jù)有以下解釋,如 下 表所列。 表 31
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1