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

正文內(nèi)容

單片機應用技術(shù)課程設計報告-基于單片機的數(shù)字溫度計設計(編輯修改稿)

2024-12-02 14:17 本頁面
 

【文章內(nèi)容簡介】 料中均未提及單總線上所掛 DS18B20 數(shù)量問題,容易使人誤認為可以掛任意多個 DS18B20,在實際應用中并非如此,當單總線上所掛 DS18B20 超過 8 個時,就需要解決微處理器的 總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。 ●在 DS18B20測溫程序設計中,向 DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS18B20的返回信號,一旦某個 DS18B20 接觸不好或斷線,當程序讀該 DS18B20 時,將沒有返回信號,程序進入死循環(huán),這一點在進行 DS18B20硬件連接和軟件設計時也要給予一定的重視。 DS18B20 內(nèi)部結(jié)構(gòu) 圖為 DS1820 的內(nèi)部框圖,它主要包括 寄生電源 、 溫度傳感器 、 64 位激光 ROM 單線接口 、 存放中間數(shù)據(jù)的高速暫存器 (內(nèi)含便箋式 RAM),用于存儲用戶 設定的溫度上下限值的 TH 和 TL觸發(fā)器存儲與控制邏輯、 8 位循環(huán)冗余校驗碼( CRC)發(fā)生器等七部分。 DS18B20采用3腳 PR- 35 封裝或8腳 SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖 14 圖 DS18B20內(nèi)部結(jié)構(gòu)框圖 64 b 閃速 ROM 的結(jié)構(gòu)如下: 開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有 48 位,最后8位是前面 56 位的 CRC 檢驗碼,這也是多個 DS18B20 可以采用一線進行通信的原因。溫度報警觸發(fā)器TH和TL ,可通過軟件寫入戶報警上下限。主機操作 ROM的命令有五種,如表所列 15 DS18B20 溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的 EERAM。高速暫存 RAM 的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖 。 圖 高速暫存 RAM結(jié)構(gòu)圖 前2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn) 換分辨率。 DS18B20 工作時寄存器中的分辨率轉(zhuǎn)換為相應精度的溫度數(shù)值。 溫度低位 溫度高位 TH TL 配置 保留 保留 保留 8 位 CRC LSB MSB 指 令 說 明 讀 ROM( 33H) 讀 DS1820的序列號 匹配 ROM( 55H) 繼讀完 64位序列號的一個命令,用于多個 DS1820時定位 跳過 ROM( CCH) 此命令執(zhí)行后的存儲器操作將針對在線的所有 DS1820 搜 ROM( F0H) 識別總線上各器件的編碼,為操作各器件作好準備 報警搜索( ECH) 僅溫度越限的器件對此命令作出響應 16 當 DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第 1,2 字節(jié)。單片 機 可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式以 5 ℃ /LSB 形式表示。溫度值格式如下: 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18B20 的兩個 8 比特的 RAM中,二進制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 即可得到實際溫度;如果溫度小于 0,這 5位為 1,測到的數(shù)值需要取反加 1 再乘于 即可得到實際溫度 。圖 中,S 表示位。 對應的溫度計算:當符號位 S=0 時, 表示測得的溫度植為正值,直接將二進制位轉(zhuǎn)換為十進制;當 S=1 時, 表示測得的溫度植為負值, 先將補碼變換為原碼,再計算十進制值。 例如 +125℃ 的數(shù)字輸出為 07D0H,+℃ 的數(shù)字輸出為 0191H, ℃ 的數(shù)字輸出為 FF6FH, 55℃ 的數(shù)字輸出為 FC90H。 DS18B20 溫度傳感器主要用于對溫度進行測量,數(shù)據(jù)可用 16 位符號擴展的二進制補碼讀數(shù)形式提供,并以 ℃ / LSB 形式表示 。 表 2 是 部分溫度值對應的二進制溫度表示數(shù)據(jù)。 表 2 部分溫度值 17 DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 RAM 中的 TH、 TL 字節(jié)內(nèi)容 作比較,若 TTH 或 TTL,則將該器件內(nèi)的告警標志置位,并對主機發(fā)出的告警搜索命令作出響應。因此,可用多只 DS18B20 同時測量溫度并進行告警搜索。 在 64 位 ROM 的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼( CRC)。主機根據(jù) ROM 的前 56 位來計算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機收到的 ROM 數(shù) 據(jù)是否正確。 DS18B20 測溫原理 DS18B20 的測溫原理如圖 2 所示,圖中低溫度系 數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器 2 的脈沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時, DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量 .計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將 55 ℃ 所對應的基數(shù)分別置入減法計數(shù)器 1 和溫度寄存器中,減法計數(shù)器 1 和溫度寄存器被預置在 55 ℃所對應的一個基數(shù)值。 減法計數(shù)器 1 對低溫 度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器 1 的預置值減到 0 時溫度寄存器的值將加 1,減法計數(shù)器 1 的預置將重新被裝入 ,減法計數(shù)器 1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù) ,如此循環(huán)直到減法計數(shù)器 2 計數(shù)到 0 時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫圖 2 中的斜率累加器用于補償和修正測溫過程中的非線性其輸出用,于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值,這就 是 DS18B20的測溫原理。 另外,由于 DS18B20 單線通信功能是分時完成的, 他有嚴格的時隙概念,因此讀寫時 序很重要。系統(tǒng)對 DS18B20 的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化 DS18B20 (發(fā)復位脈沖) → 發(fā) ROM 功能命令→ 發(fā)存儲器操作命令 → 處理數(shù)據(jù)。 18 圖( 2) DS18B20 測溫原理圖 在正常測溫情況下, DS1820 的測溫分辨力為 ℃,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用 DS1820 提供的讀暫存器指令( BEH)讀出以 ℃為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位( LSB),得到所測實際溫度的整數(shù)部分 Tz,然后再用 BEH 指令取計 數(shù)器 1的計數(shù)剩余值 Cs 和每度計數(shù)值 CD??紤]到 DS1820 測量溫度的整數(shù)部分以℃、 ℃為進位界限的關系,實際溫度 Ts 可用下式計算: Ts=( ℃) +(CDCs)/CD 提高 DS1820 測溫精度的途徑 ( 1)、 DS1820 高精度測溫的理論依據(jù) DS1820 正常使用時的測溫分辨率為 ℃ ,這對于水輪發(fā)電機組軸瓦溫度監(jiān)測來講略顯不足,在對 DS1820 測溫原理詳細分析的基礎上,我們采取直接讀取 DS1820 內(nèi)部暫存寄存器的方法,將 DS1820 的測溫分辨率提高到 ℃ ~ ℃ . DS1820 內(nèi)部暫存寄存器的分布如表 1 所示,其中第 7 字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器 1 的計數(shù)剩余值,第 8 字節(jié)存放的是每度所對 19 應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用 DS1820 提供的讀暫存寄存器指令 (BEH)讀出以 ℃ 為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位 (LSB),得到所測實際溫度整數(shù)部分 T 整數(shù),然后再用 BEH 指令讀取計數(shù)器 1 的計數(shù)剩余值 M 剩余和每度計數(shù)值 M 每度,考慮到 DS1820 測量溫度的整數(shù)部分以 ℃ 、 ℃為進位界限的關系,實際溫度 T 實際可用下式計算得到: T 實際 =(T 整數(shù)-℃ )+(M 每度- M 剩余 )/M 每度 。 表 1 DS18B20 暫存寄存器分布 該字節(jié)各位的定義如下: 低 5 位一直都是 1, TM 是測試模式位,用于設置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設置為 0,用戶不要去改動, R1 和 R0 決定溫度轉(zhuǎn)換的精度位數(shù) , 即是來設置分辨率,如表 1 所示( DS18B20 出廠時被設置為 12 位)。 R1 R0 分辨率 溫度最大 轉(zhuǎn)換時 /mm 0 0 9 位 0 1 10 位 1 0 11 位 1 1 12 位 表 1 R1 和 R2 模式表 由表 1 可見,設定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長。因此,在實際應用中要在分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存存儲器除了TM R1 R0 1 1 1 1 1 20 配置寄存器外,還有其他 8 個字節(jié)組成,其分配如下所示。其中溫度信息(第1, 2 字節(jié))、 TH 和 TL 值第 3, 4 字節(jié)、第 6~ 8 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有 8 個字節(jié)的 CRC 碼,可用來保證通信正確。 根據(jù) DS18B20 的通訊協(xié)議,主機控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前 都要對 DS18B20 進行復位,復位成功后發(fā)送一條 ROM
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1