DS18B20相關(guān)總結
5,執行或數據讀寫(xiě):一個(gè)存儲器操作指令結束后則將進(jìn)行指令執行或數據的讀寫(xiě),這個(gè)操作要視存儲器操作指令而定。如執行溫度轉換指令則控制器(單片機)必須等待 18B20 執行其指令,一般轉換時(shí)間為 500uS。如執行數據讀寫(xiě)指令則需要嚴格遵循 18B20 的讀寫(xiě)時(shí)序來(lái)操作。數據的讀寫(xiě)方法將有下文有詳細介紹。
若要讀出當前的溫度數據我們需要執行兩次工作周期,第一個(gè)周期為復位、跳過(guò) ROM 指令、執行溫度轉換存儲器操作指令、等待 500uS 溫度轉換時(shí)間。緊接著(zhù)執行第二個(gè)周期為復位、跳過(guò) ROM指令、執行讀 RAM 的存儲器操作指令、讀數據(最多為 9 個(gè)字節,中途可停止,只讀簡(jiǎn)單溫度值則讀前 2 個(gè)字節即可)。其它的操作流程也大同小異,在此不多介紹。
DS28B20 芯片 ROM 指令表:
Read ROM(讀 ROM)[33H] (方括號中的為16進(jìn)制的命令字) 這個(gè)命令允許總線(xiàn)控制器讀到 DS18B20 的 64位 ROM。只有當總線(xiàn)上只存在一個(gè) DS18B20 的時(shí)候才可以使用此指令,如果掛接不只一個(gè),當通信時(shí)將會(huì )發(fā)生數據沖突。
Match ROM(指定匹配芯片)[55H]
這個(gè)指令后面緊跟著(zhù)由控制器發(fā)出了 64 位序列號,當總線(xiàn)上有多只 DS18B20 時(shí),只有與控制發(fā)出的序列號相同的芯片才可以做出反應,其它芯片將等待下一次復位。這條指令適應單芯片和多芯片掛接。
Skip ROM(跳躍 ROM 指令)[CCH]
這條指令使芯片不對 ROM 編碼做出反應,在單總線(xiàn)的情況之下,為了節省時(shí)間則可以選用此指令。如果在多芯片掛接時(shí)使用此指令將會(huì )出現數據沖突,導致錯誤出現。
Search ROM(搜索芯片)[F0H]
在芯片初始化后,搜索指令允許總線(xiàn)上掛接多芯片時(shí)用排除法識別所有器件的 64位 ROM。
Alarm Search(報警芯片搜索)[ECH]
在多芯片掛接的情況下,報警芯片搜索指令只對附合溫度高于 TH 或小于 TL報警條件的芯片做出反應。只要芯片不掉電,報警狀態(tài)將被保持,直到再一次測得溫度什達不到報警條件為止。
DS28B20 芯片存儲器操作指令表:
Write Scratchpad(向 RAM中寫(xiě)數據)[4EH]
這是向 RAM 中寫(xiě)入數據的指令,隨后寫(xiě)入的兩個(gè)字節的數據將會(huì )被存到地址 2 (報警RAM 之 TH)和地址 3(報警 RAM 之 TL)。寫(xiě)入過(guò)程中可以用復位信號中止寫(xiě)入。
Read Scratchpad (從RAM 中讀數據)[BEH]
此指令將從 RAM 中讀數據,讀地址從地址 0 開(kāi)始,一直可以讀到地址 9,完成整個(gè) RAM 數據的讀出。芯片允許在讀過(guò)程中用復位信號中止讀取,即可以不讀后面不需要的字節以減少讀取時(shí)間。
Copy Scratchpad (將 RAM 數據復制到 EEPROM中)[48H]
此指令將 RAM 中的數據存入 EEPROM中,以使數據掉電不丟失。此后由于芯片忙于 EEPROM儲存處理,當控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當儲存工作完成時(shí),總線(xiàn)將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強上拉并至少保持 10MS,來(lái)維持芯片工作。
Convert T(溫度轉換)[44H]
收到此指令后芯片將進(jìn)行一次溫度轉換,將轉換的溫度值放入 RAM 的第 1、2 地址。此后由于芯片忙于溫度轉換處理,當控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當儲存工作完成時(shí),總線(xiàn)將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強上拉并至少保持 500MS,來(lái)維持芯片工作。
Recall EEPROM(將 EEPROM中的報警值復制到 RAM)[B8H]
此指令將 EEPROM中的報警值復制到 RAM 中的第 3、4 個(gè)字節里。由于芯片忙于復制處理,當控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線(xiàn)上輸出“0”,當儲存工作完成時(shí),總線(xiàn)將輸出“1”。另外,此指令將在芯片上電復位時(shí)將被自動(dòng)執行。這樣 RAM 中的兩個(gè)報警字節位將始終為 EEPROM中數據的鏡像。
Read Power Supply(工作方式切換)[B4H]
此指令發(fā)出后發(fā)出讀時(shí)間隙,芯片會(huì )返回它的電源狀態(tài)字,“0”為寄生電源狀態(tài),“1”為外部電源狀態(tài)。本文引用地址:http://dyxdggzs.com/article/201612/324456.htm
評論