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

正文內(nèi)容

簡易數(shù)字溫度計的設(shè)計(編輯修改稿)

2025-07-08 00:32 本頁面
 

【文章內(nèi)容簡介】 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0000 0191H + 0000 0000 1010 0001 00A2H + 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H 1111 1111 1111 0000 FFF8H 1111 1111 0101 1110 FF5EH 1111 1110 0110 1111 FE6FH 55 1111 1100 1001 0000 FC90H DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 RAM 中的 TH、 TL 字節(jié)內(nèi)容作比較。若 T> TH 或 T< TL,則將該器件內(nèi)的報警標志位置位,并對主機發(fā)出的報警搜索命令作出響應。因此,可用多只 DS18B20 同時測量溫度并進行報警搜索。 在 64 位 ROM 的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼( CRC)。主機 ROM 的前 56位來計算 CRC值,并和存入 DS18B20 的 CRC 值作比較,以判斷主機收到的 ROM 數(shù)據(jù)是否正確。 DS18B20的測溫原理 如圖 310所示 ,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器 2的脈沖輸入。器件中還有一個計數(shù)門,當計數(shù)門打開時, DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而完成溫度測量。計數(shù)門的開啟時 間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應的一個基數(shù)分別置入減法計數(shù)器 溫度寄存器中,計數(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ù)器計數(shù) 2 計數(shù) 到 0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。 圖 410 中的累加器用于補償和修正測溫過程中的 非線形性, 其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)器門仍未關(guān)閉就重復上述過程,直到溫度寄存器值 達到 被測溫度值。 圖 310 DS18B20測溫原理圖 DS18B20 的單線協(xié)議和命令 由于 DS18B20 單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對 DS18B20 的各種操作按協(xié)議進行。操作協(xié)議為:初使化 DS18B20(發(fā)復位脈沖)→發(fā) ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。 初始化 通過單線總線的所有執(zhí)行(處理)都從一個初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和跟有其后由從機發(fā)出的應答脈沖。應答脈沖讓總線控制器知道 DS18B20 在總線上且已準備好操作。 DS18B20 的各個 ROM 操作命令 一旦總線控制器探測到一個應答脈沖,它就可以發(fā)出 5 個 ROM 命令中的任一個。所有 ROM 操作命令都是 8 位長度。下面是這些命令: Read ROM [33h] 這個命令允許總線控制器讀到 DS18B20 的 8 位系列編碼、唯一的序列號和 8 位 CRC 碼。只有在總線上存在單只 DS18B20 的時候才能使用這個命令。如果總線上有不止一個從機,當 所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成相 “ 與 ” 的效果) 。 Match ROM [55h] 這是個 匹配 ROM 命令,后跟 64 位 ROM 序列,讓總線控制器在多點總線上定位一只特定的 DS18B20 。只有和 64 位 ROM 序列完全匹配的 DS18B20 才能響應隨后的存儲器操作命令。所有和 64 位 ROM 序列不匹配的從機都將等待復位脈沖。這條命令在總線上有單個或多個器件時都可以使用。 Skip ROM [0CCh] 這條命令允許總線控制器不用提供 64 位 ROM 編碼就使用存儲器 操作命令,在單點總線情況下右以節(jié)省時間。如果總線上不止一個從機,在 Skip ROM 命令之后跟著發(fā)一條讀命令,由于多個從機同時 傳送信號,總線上就會發(fā)生數(shù)據(jù)沖突(漏極開路下拉效果相當于相與) 。 Search ROM [0F0h] 當一個系統(tǒng)初次啟動時,總線控制器可能并不知道單線總線上有多少器件或它們的64 位 ROM 編碼。搜索 ROM 命令允許總線控制器用排除法識別總線上的所有從機的 64 位編碼 。 Alarm Search [0ECh] 這條命令的流程圖和 Search ROM 相同。然而,只有在最近一次 測溫后遇到符合報警條件的情況 , DS18B20 才會響應這條命令。報警條件定義為溫度高于 TH 或低于 TL。只要 DS18B20 不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。 存儲器操作命令 Write Scratchpad [4E] 這個命令向 DS18B20 的暫存器中寫入數(shù)據(jù),開始位置在地址 2。接下來寫入的兩個字節(jié)將被存到暫存器中的地址位置 2 和 3??梢栽谌魏螘r刻發(fā)出復位命令來中止寫入。 Read Scratchpad [0BEh] 這個命令讀取暫存器的內(nèi)容。讀取將從字 節(jié) 0 開始,一直進行下去,直到字節(jié) 8(第 9 個字節(jié), CRC)。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。 Copy Scratchpad [48h] 這條命令把暫存器的內(nèi)容拷貝到 DS18B20 的 E2 存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而 DS18B20 又正在忙于把暫存器拷貝到 E2 存儲器, DS18B20 就會輸出一個 “ 0” ,如果拷貝結(jié)束的話, DS18B20 則輸出 “ 1” 。如果使用寄生電源,總線控制器必須在 這條命令發(fā)出后立即起動強上拉并最少保持 10ms 。 Convert T [44h] 這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后 DS18B20 保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而 DS18B20 又忙于做時間轉(zhuǎn)換的話, DS18B20 將在總線上輸出 “ 0” ,若溫度轉(zhuǎn)換完成,則輸出 “ 1” 。如果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即起動強上拉,并保持 500ms 。 Recall E2[0B8h] 這條命令把報警觸發(fā)器里的值拷回暫存器。這種拷回操 作在 DS18B20 上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀時間隙,器件會輸出溫度轉(zhuǎn)換忙的標識: “ 0” = 忙, “ 1” = 完成。 Read Power Supply [B4h] 若把這條命令發(fā)給 DS18B20 后發(fā)出讀時間隙,器件會返回它的電源模式: “ 0” = 寄生電源, “ 1” = 外部電源。 時序 主機使用時間隙 (time slots)來讀寫 DSl820 的數(shù)據(jù)位和寫命令字的位 (1)初始化 時序見圖 311。 主機總線 to 時刻發(fā)送一復位脈沖 (最短為 480us 的低電平信號 ),接著在 tl 時刻釋放總線并進入接收狀態(tài) , DSl820 在檢測到總線的上升沿之后 , 等待1560us, 接著 DS1820 在 t2 時刻發(fā)出存在脈沖 (低電平 , 持續(xù) 60240 us), 如圖中虛線所示 。 圖 311 初始化時序 (2)寫時間隙 寫時間隙如圖 311(a)和 311(b)所示, 當主機把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平的時候,寫時間隙開始。有兩種寫時間隙:寫 1 時間隙和寫 0 時間隙。所有寫時間隙必須最少持續(xù) 60μs,包括兩個寫周期間至少 1μs 的恢復時間。 I/O 線 電平變低后,DS18B20 在一個 15μs 到 60μs 的窗口內(nèi)對 I/O 線采樣。如果線上是高電平,就是寫 1,如果線上是低電平,就是寫 0。主機要生成一個寫時間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時間隙開始后的 15μs 內(nèi)允許數(shù)據(jù)線拉到高電平。主機要生成一個寫 0時間隙,必須把數(shù)據(jù)線拉到低電平并保持 60μs。 (3)讀時間隙 讀時間隙如圖 312 所示, 當從 DS18B20 讀取數(shù)據(jù)時,主機生成讀時間隙。當主機把數(shù)據(jù)線從高高平拉到低電平時,寫時間隙開始。數(shù)據(jù)線必須保持至少 1μs;從 DS18B20 輸出的數(shù)據(jù)在讀時間隙的下降沿出現(xiàn)后 15μs 內(nèi)有效。因此,主機在讀時間隙開始后必須停止把 DQ 腳驅(qū)動為低電平 15μs,以讀取 DQ 腳狀態(tài)。在讀時間隙的結(jié)尾, DQ 引腳將被外部上拉電阻拉到高電平。所有讀時間隙必須最少 60μs,包括兩個讀周期間至少 1μs的恢復時間 。 圖 311(a) 寫 0 時序 圖 311(b) 寫 1 時序 圖 312 DS18B20的讀時序 溫度數(shù)據(jù)的計算處理方法 從 DS18B20 讀取出的二進制必須先轉(zhuǎn)換成十進制,才能用于字符的顯示。因為DS18B20 的轉(zhuǎn)換精度為 9~ 12 位可 選的,為了提高精度采用 12 位。在采用 12位精度轉(zhuǎn)換時,溫度寄存器里的值以 為步進的,即溫度值為溫度寄存器里的二進制值乘以 ,就是實際的十進制溫度值。 通過觀察表 35可以發(fā)現(xiàn)一個十進制和二進制之間有很明顯的關(guān)系,就是二進制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一個字節(jié),這個字節(jié)的二進制值化為十進制后,就是溫度值的百、十、個位值,而剩下的低字節(jié)的低半字節(jié)化成十進制后,就是溫度值的小數(shù)部分。小數(shù)部分因為是半個字節(jié),所以二進制值范圍是 0~ F,轉(zhuǎn)換成十進制小數(shù)就是 的倍數(shù) (0~ 15 倍 )。這樣需要 4位的數(shù)碼管來顯示小數(shù)部分,實際應用不必有這么高的精度,采用 1位數(shù)碼管來顯示小數(shù),可以精確到 ℃ 。下表就是二進制和十進制的近似對應關(guān)系表。 表 35 小數(shù)部分二進制和十進制的近似對應關(guān)系表 小數(shù)部分二進制值 0 1 2 3 4 5 6 7 8 9 A B C D E F 十進制值 0 0 1 1 2 3 3 4 5 5 6 6 7 8 8 9 4 系統(tǒng)硬件電路的設(shè)計 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警調(diào)整電路,單片機主板電路等,如圖 41 所示。 圖 41中有三個獨立式按鍵可以分別調(diào)整溫度計的上下限報警設(shè)置,圖中蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時,發(fā)出報警鳴叫聲音,同時 LED 數(shù)碼管將沒有被測溫度值顯示,這時可以調(diào)整報警上下限,從而測出被測的溫度值。 圖 41中的按健復位電路是上電復位加手動復位,使用比較方便,在程序跑飛時,可以手動復位,這樣就不用在重起單片機電源,就可以實現(xiàn)復位。 顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點就是使用口資源比較少,只用p3口的 RXD,和 TXD,串口的發(fā)送和接收,四只數(shù)碼管采用 74LS164 右移寄存器驅(qū)動,顯示比較清晰。如圖 42所示。 圖 41 單片機主板電路 圖 42 溫度顯示電路 DS18B20 溫度傳感器與單片機的接口電路 DS18B20 可以采用兩種方式供電,一種是寄生電源供電方式,如圖 53 所示,單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。 這個電路會在 I/O或 VDD引腳處于高電平時 “ 偷 ” 能量。當有特定的時間和電壓需求時, I/O 要提供足夠的能量。寄生電源有兩個好處:進行遠距離測溫時,無需本地電 源;可以在沒有常規(guī)電源的條件下讀 ROM。 當 DS18B20 處于寫存儲器操作和溫度 A/D 轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為 10us。 要想使 DS18B20 能夠進行精確的溫度轉(zhuǎn)換, I/O 線必須在轉(zhuǎn)換期間保證供電。由于 DS18B20 的工作電流達到 ,所以僅靠 5K上拉電阻提供電源是不行的,當幾只 DS18B20 掛在同一根 I/O 線上并同時想進行溫度轉(zhuǎn)換時,這個問題變得更加尖銳。 有兩種方法能夠使 DS18B20 在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應。第一種方法,當進行溫度轉(zhuǎn)換或拷貝到 E2 存儲器 操作時,給 DQ線提供一個強上拉。用 MOSFET 把 DQ線直接拉到電源上就可以實現(xiàn),見圖 43。在發(fā)出任何涉及拷貝到 E2存儲器或啟動溫度轉(zhuǎn)換的協(xié)議之后,必須在最多 10μs 之內(nèi)把 I/O 線轉(zhuǎn)換到強上拉。 采用寄生電源供電方式時 VDD 和
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1