




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目十路溫采集監(jiān)控系統(tǒng)項目十路溫采集監(jiān)控系統(tǒng)1DS18B20溫度傳感器溫度測量與控制技術(shù)在工業(yè)、農(nóng)業(yè)、國防等行業(yè)有著廣泛的應用。
DS18B20單線數(shù)字溫度傳感器因測量精度高電路簡單,價格低廉而被廣泛使用。每片DS18B20都有唯一的產(chǎn)品序列號并存儲在內(nèi)部ROM中,以便在構(gòu)成大型溫度測控系統(tǒng)時在單線上掛接任意多個DS18B20芯片,為測量系統(tǒng)的構(gòu)建引入全新概念。
第1頁/共33頁DS18B20溫度傳感器溫度測量與控制技術(shù)在工業(yè)、農(nóng)業(yè)、國2DS18B20引腳功能DS18B20通過一個單線接口發(fā)送或接收信息,因此在單片機和DS18B20之間僅需一條連接線(加上地線)。
引腳符號說明1GND接地2DQ數(shù)據(jù)輸入/輸出腳3VDD可選的VDD引腳第2頁/共33頁DS18B20引腳功能DS18B20通過一個單線接口發(fā)送或DS18B20供電方式寄生電源方式是在信號線處于高電平期間把能量儲存在內(nèi)部寄生電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。
外部供電方式外部供電方式是從VDD引腳接入一個外部電源。
第3頁/共33頁DS18B20供電方式寄生電源方式第3頁/共33頁4DS18B20內(nèi)部結(jié)構(gòu)及功能主要包括:寄生電源、溫度傳感器、64位ROM和單總線接口、存放中間數(shù)據(jù)的高速暫存器RAM、用于存儲用戶設(shè)定溫度上下限值的TH和TL觸發(fā)器、存儲與控制邏輯、8位循環(huán)冗余校驗碼(CRC)產(chǎn)生器、配置寄存器等部分。
第4頁/共33頁DS18B20內(nèi)部結(jié)構(gòu)及功能主要包括:第4頁/共33頁564位光刻ROM光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號;接著的48位是該DS18B20自身的序列號;最后8位是前面56位的循環(huán)冗余校驗碼。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。
第5頁/共33頁64位光刻ROM光刻ROM中的64位序列號是出廠前被光刻好6溫度傳感器
完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供;這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在兩個8比特的RAM中,二進制中的前面5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。
第6頁/共33頁溫度傳感器完成對溫度的測量,以12位轉(zhuǎn)化為例:第6頁/共37溫度/數(shù)據(jù)轉(zhuǎn)換關(guān)系
溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+125℃000001111101000007D0h+85℃00000101010100000550h+25.0625℃00000001100100010191h+10.125℃000000001010001000A2h+0.5℃00000000000010000008h0℃00000000000000000000h-0.5℃1111111111111000FFF8h-10.125℃1111111101011110FF5Eh-25.0625℃1111111001101111FE6Fh-55℃1111110010010000FC90h第7頁/共33頁溫度/數(shù)據(jù)轉(zhuǎn)換關(guān)系溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制存儲器
暫存存儲器包含了8個連續(xù)字節(jié)第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是配置寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。
一個非易失性的可電擦除的EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和配置寄存器。
第8頁/共33頁存儲器暫存存儲器包含了8個連續(xù)字節(jié)第8頁/共33頁9配置寄存器
配置寄存器字節(jié)各位的意義如下:低五位一直都是1。TM用于設(shè)置DS18B20在工作模式還是在測試模式。出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,出廠時被設(shè)置為12位。
R1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms第9頁/共33頁配置寄存器配置寄存器字節(jié)各位的意義如下:R1R0分辨率溫度DS18B20通訊協(xié)議通過單線總線端口訪問DS18B20的協(xié)議主要包括初始化;ROM操作命令;存儲器操作命令及執(zhí)行/數(shù)據(jù)。
第10頁/共33頁DS18B20通訊協(xié)議通過單線總線端口訪問DS18B20的11初始化
和DS18B20之間的任何通訊都需要以初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和跟有其后由從機發(fā)出的存在脈沖。DS18B20初始化代碼如下:voidInit_DS18B20(void){ DQ=1; //DQ復位
Delay(8); //稍做延時
DQ=0; //單片機將DQ拉低
Delay(80); //精確延時大于480us DQ=1; //拉高總線,釋放總線
Delay(14); Delay(20);}
第11頁/共33頁初始化和DS18B20之間的任何通訊都需要以初始化序列開始12ROM操作命令一旦總線控制器探測到一個存在脈沖,它就可以發(fā)出5個ROM命令中的任一個,所有ROM操作命令都8位長度。
第12頁/共33頁ROM操作命令一旦總線控制器探測到一個存在脈沖,它就可以13ReadROM[33h]這個命令允許總線控制器讀到DS18B20的8位系列編碼、唯一的序列號和8位CRC碼。只有在總線上存在單只DS18B20的時候才能使用這個命令。如果總上有不止一個從機,當所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起開成相與的效果)。
第13頁/共33頁ReadROM[33h]這個命令允許總線控制器讀到DS1814MatchROM[55h]匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點總線上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能響應隨后的存儲器操作命令。所有和64位ROM序列不匹配的從機都將等待復位脈沖。這條命令在總線上有單個或多個器件時都可以使用。
第14頁/共33頁MatchROM[55h]匹配ROM命令,后跟64位ROM15SkipROM[CCh]這條命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單點總線情況下用以節(jié)省時間。例如:向DS18B20寫一個dat=0xCC字節(jié),跳過讀序列號的操作,代碼如下:voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){ DQ=0; DQ=dat&0x01;//先寫低位 Delay(5);
DQ=1; dat>>=1;}}第15頁/共33頁SkipROM[CCh]這條命令允許總線控制器不用提供6416SearchROM[F0h]當一個系統(tǒng)初次啟動時,總線控制器可能并不知道單線總線上有多少器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。
第16頁/共33頁SearchROM[F0h]當一個系統(tǒng)初次啟動時,總線控制17AlarmSearch[ECh]這條命令和SearchROM相同,只有在最近一次測溫后遇到符合報警條件的情況,DS18B20才會響應這條命令。報警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。
第17頁/共33頁AlarmSearch[ECh]這條命令和SearchR18存儲器操作命令WriteScratchpad[4E]這個命令向DS18B20的暫存器中寫入數(shù)據(jù),開始位置在地址2。接下來寫入的兩個字節(jié)將被存到暫存器中的地址位置2和3。可以在任何時刻發(fā)出復位命令來中止寫入。第18頁/共33頁存儲器操作命令WriteScratchpad[4E]第1819存儲器操作命令ReadScratchpad[BEh]這個命令讀取暫存器的內(nèi)容。讀取將從字節(jié)0開始,一直進行下去,直到第9(字節(jié)8,CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。例如:讀取溫度轉(zhuǎn)換結(jié)果步驟如下:發(fā)讀取暫存器命令,代碼與實現(xiàn)跳過讀序列號操作代碼一樣;
WriteOneChar(0xBE);
讀取溫度轉(zhuǎn)換結(jié)果的低8位
a=ReadOneChar();讀取溫度轉(zhuǎn)換結(jié)果的高8位
b=ReadOneChar();第19頁/共33頁存儲器操作命令ReadScratchpad[BEh]第1920ReadOneChar()函數(shù)unsignedcharReadOneChar(void)//讀一個字節(jié){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0; //給脈沖信號
dat>>=1; DQ=1; //給脈沖信號
if(DQ_7) dat|=0x80; Delay(4); } return(dat);}第20頁/共33頁ReadOneChar()函數(shù)unsignedchar21存儲器操作命令CopyScratchpad[48h]這條命令把暫存器的內(nèi)容拷貝到DS18B20的EEPROM里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。
第21頁/共33頁存儲器操作命令CopyScratchpad[48h]第2122存儲器操作命令ConvertT[44h]這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做時間轉(zhuǎn)換的話,DS18B20將在總線上輸出“0”,若溫度轉(zhuǎn)換完成,則輸出“1”。例如:向DS18B20寫一個字節(jié)0x44,就可以啟動DS18B20進行溫度轉(zhuǎn)換,代碼與實現(xiàn)跳過讀序列號操作代碼一樣。
第22頁/共33頁存儲器操作命令ConvertT[44h]第22頁/共33頁23存儲器操作命令RecallEEPROM[B8h]這條命令把報警觸發(fā)器里的值拷回暫存器。這種拷回操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀時間隙,器件會輸出溫度轉(zhuǎn)換忙的標識:“0”=忙,“1”=完成。第23頁/共33頁存儲器操作命令RecallEEPROM[B8h]第23頁/24存儲器操作命令ReadPowerSupply[B4h]若把這條命令發(fā)給DS18B20后發(fā)出讀時間隙,器件會返回它的電源模式:“0”=寄生電源,“1”=外部電源。第24頁/共33頁存儲器操作命令ReadPowerSupply[B4h]第25工作模塊25
8路溫度采集監(jiān)控電路設(shè)計
利用AT89S52單片機及DS18B20單線數(shù)字傳感器,設(shè)計一個8路溫度采集監(jiān)控電路。此電路由AT89S52單片機最小系統(tǒng)、8路DS18B20溫度采集、3個獨立按鍵鍵盤以及6個數(shù)碼管動態(tài)掃描顯示構(gòu)成。I/O口分配:8路DS18B20溫度采集接P2口;3個獨立按鍵鍵盤接P3口;6個數(shù)碼管動態(tài)掃描顯示接P0口和P1口。第25頁/共33頁工作模塊25
8路溫度采集監(jiān)控電路設(shè)計利用AT89S52單26溫度采集電路設(shè)計
DQ引腳電路把8個DS18B20的DQ引腳分別接到P2口的8個引腳;DQ引腳還需要接上拉電阻4.7k和電源。供電方式選擇為了提高溫度測量速度,選擇外部供電方式。在VDD引腳接入一個外部電源,GND引腳接地,GND引腳不能懸空。第26頁/共33頁溫度采集電路設(shè)計DQ引腳電路第26頁/共33頁27監(jiān)控電路設(shè)計
鍵盤電路設(shè)計8路溫度采集監(jiān)控系統(tǒng)有兩種工作模式。用MODE按鍵進行工作模式切換,在手動模式下按UP鍵通道加1,按DOWN鍵通道減1。這3個按鍵分別接到P3口的P3.0、P3.1和P3.2引腳。
顯示電路設(shè)計數(shù)碼管動態(tài)掃描顯示電路由6個共陰極數(shù)碼管、74LS245及電阻組成。P0口輸出顯示段碼,經(jīng)由一片74LS245驅(qū)動輸出給數(shù)碼管,P1口輸出位碼(片選)。
第27頁/共33頁監(jiān)控電路設(shè)計鍵盤電路設(shè)計第27頁/共33頁288路溫度采集監(jiān)控電路設(shè)計與實現(xiàn)第28頁/共33頁8路溫度采集監(jiān)控電路設(shè)計與實現(xiàn)第28頁/共33頁29工作模塊26
8路溫度采集監(jiān)控程序設(shè)計工作任務(wù)對8路溫度采集監(jiān)控系統(tǒng)進行程序設(shè)計,循環(huán)采集監(jiān)控八個通道的溫度值,能實現(xiàn)手動控制和自動控制兩種工作模式。自動模式下:每3秒鐘更換一個通道,每個循環(huán)更換8次,一直循環(huán)下去。手動模式下:按UP通道加1,按DOWN通道減1。
第29頁/共33頁工作模塊26
8路溫度采集監(jiān)控程序設(shè)計工作任務(wù)第29頁/30鍵盤處理程序設(shè)計
鍵盤接口以及相關(guān)變量定義工作模式切換
手動模式
自動模式
第30頁/共33頁鍵盤處理程序設(shè)計鍵盤接口以及相關(guān)變量定義第30頁/共33頁318路溫度采集程序設(shè)計溫度采集接口定義
讀取溫度
第31頁/共33頁8路溫度采集程序設(shè)計溫度采集接口定義第31頁/共33頁328路溫度顯示程序設(shè)計獲取各顯示位通道編號是存放在display[0];按照顯示溫度格式獲取通道編號、溫度百位、溫度十位、溫度個位及溫度十分位。
數(shù)碼管接口以及相關(guān)變量定義
數(shù)碼管顯示
顯示說明:正常狀態(tài)下,每通道均以XXX.X的格式顯示溫度(環(huán)境溫度)。
第32頁/共33頁8路溫度顯示程序設(shè)計獲取各顯示位第32頁/共33頁33項目十路溫采集監(jiān)控系統(tǒng)項目十路溫采集監(jiān)控系統(tǒng)34DS18B20溫度傳感器溫度測量與控制技術(shù)在工業(yè)、農(nóng)業(yè)、國防等行業(yè)有著廣泛的應用。
DS18B20單線數(shù)字溫度傳感器因測量精度高電路簡單,價格低廉而被廣泛使用。每片DS18B20都有唯一的產(chǎn)品序列號并存儲在內(nèi)部ROM中,以便在構(gòu)成大型溫度測控系統(tǒng)時在單線上掛接任意多個DS18B20芯片,為測量系統(tǒng)的構(gòu)建引入全新概念。
第1頁/共33頁DS18B20溫度傳感器溫度測量與控制技術(shù)在工業(yè)、農(nóng)業(yè)、國35DS18B20引腳功能DS18B20通過一個單線接口發(fā)送或接收信息,因此在單片機和DS18B20之間僅需一條連接線(加上地線)。
引腳符號說明1GND接地2DQ數(shù)據(jù)輸入/輸出腳3VDD可選的VDD引腳第2頁/共33頁DS18B20引腳功能DS18B20通過一個單線接口發(fā)送或DS18B20供電方式寄生電源方式是在信號線處于高電平期間把能量儲存在內(nèi)部寄生電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。
外部供電方式外部供電方式是從VDD引腳接入一個外部電源。
第3頁/共33頁DS18B20供電方式寄生電源方式第3頁/共33頁37DS18B20內(nèi)部結(jié)構(gòu)及功能主要包括:寄生電源、溫度傳感器、64位ROM和單總線接口、存放中間數(shù)據(jù)的高速暫存器RAM、用于存儲用戶設(shè)定溫度上下限值的TH和TL觸發(fā)器、存儲與控制邏輯、8位循環(huán)冗余校驗碼(CRC)產(chǎn)生器、配置寄存器等部分。
第4頁/共33頁DS18B20內(nèi)部結(jié)構(gòu)及功能主要包括:第4頁/共33頁3864位光刻ROM光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號;接著的48位是該DS18B20自身的序列號;最后8位是前面56位的循環(huán)冗余校驗碼。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。
第5頁/共33頁64位光刻ROM光刻ROM中的64位序列號是出廠前被光刻好39溫度傳感器
完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供;這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在兩個8比特的RAM中,二進制中的前面5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。
第6頁/共33頁溫度傳感器完成對溫度的測量,以12位轉(zhuǎn)化為例:第6頁/共340溫度/數(shù)據(jù)轉(zhuǎn)換關(guān)系
溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+125℃000001111101000007D0h+85℃00000101010100000550h+25.0625℃00000001100100010191h+10.125℃000000001010001000A2h+0.5℃00000000000010000008h0℃00000000000000000000h-0.5℃1111111111111000FFF8h-10.125℃1111111101011110FF5Eh-25.0625℃1111111001101111FE6Fh-55℃1111110010010000FC90h第7頁/共33頁溫度/數(shù)據(jù)轉(zhuǎn)換關(guān)系溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制存儲器
暫存存儲器包含了8個連續(xù)字節(jié)第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是配置寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。
一個非易失性的可電擦除的EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL和配置寄存器。
第8頁/共33頁存儲器暫存存儲器包含了8個連續(xù)字節(jié)第8頁/共33頁42配置寄存器
配置寄存器字節(jié)各位的意義如下:低五位一直都是1。TM用于設(shè)置DS18B20在工作模式還是在測試模式。出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,出廠時被設(shè)置為12位。
R1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms第9頁/共33頁配置寄存器配置寄存器字節(jié)各位的意義如下:R1R0分辨率溫度DS18B20通訊協(xié)議通過單線總線端口訪問DS18B20的協(xié)議主要包括初始化;ROM操作命令;存儲器操作命令及執(zhí)行/數(shù)據(jù)。
第10頁/共33頁DS18B20通訊協(xié)議通過單線總線端口訪問DS18B20的44初始化
和DS18B20之間的任何通訊都需要以初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和跟有其后由從機發(fā)出的存在脈沖。DS18B20初始化代碼如下:voidInit_DS18B20(void){ DQ=1; //DQ復位
Delay(8); //稍做延時
DQ=0; //單片機將DQ拉低
Delay(80); //精確延時大于480us DQ=1; //拉高總線,釋放總線
Delay(14); Delay(20);}
第11頁/共33頁初始化和DS18B20之間的任何通訊都需要以初始化序列開始45ROM操作命令一旦總線控制器探測到一個存在脈沖,它就可以發(fā)出5個ROM命令中的任一個,所有ROM操作命令都8位長度。
第12頁/共33頁ROM操作命令一旦總線控制器探測到一個存在脈沖,它就可以46ReadROM[33h]這個命令允許總線控制器讀到DS18B20的8位系列編碼、唯一的序列號和8位CRC碼。只有在總線上存在單只DS18B20的時候才能使用這個命令。如果總上有不止一個從機,當所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起開成相與的效果)。
第13頁/共33頁ReadROM[33h]這個命令允許總線控制器讀到DS1847MatchROM[55h]匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點總線上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能響應隨后的存儲器操作命令。所有和64位ROM序列不匹配的從機都將等待復位脈沖。這條命令在總線上有單個或多個器件時都可以使用。
第14頁/共33頁MatchROM[55h]匹配ROM命令,后跟64位ROM48SkipROM[CCh]這條命令允許總線控制器不用提供64位ROM編碼就使用存儲器操作命令,在單點總線情況下用以節(jié)省時間。例如:向DS18B20寫一個dat=0xCC字節(jié),跳過讀序列號的操作,代碼如下:voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){ DQ=0; DQ=dat&0x01;//先寫低位 Delay(5);
DQ=1; dat>>=1;}}第15頁/共33頁SkipROM[CCh]這條命令允許總線控制器不用提供6449SearchROM[F0h]當一個系統(tǒng)初次啟動時,總線控制器可能并不知道單線總線上有多少器件或它們的64位ROM編碼。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。
第16頁/共33頁SearchROM[F0h]當一個系統(tǒng)初次啟動時,總線控制50AlarmSearch[ECh]這條命令和SearchROM相同,只有在最近一次測溫后遇到符合報警條件的情況,DS18B20才會響應這條命令。報警條件定義為溫度高于TH或低于TL。只要DS18B20不掉電,報警狀態(tài)將一直保持,直到再一次測得的溫度值達不到報警條件。
第17頁/共33頁AlarmSearch[ECh]這條命令和SearchR51存儲器操作命令WriteScratchpad[4E]這個命令向DS18B20的暫存器中寫入數(shù)據(jù),開始位置在地址2。接下來寫入的兩個字節(jié)將被存到暫存器中的地址位置2和3??梢栽谌魏螘r刻發(fā)出復位命令來中止寫入。第18頁/共33頁存儲器操作命令WriteScratchpad[4E]第1852存儲器操作命令ReadScratchpad[BEh]這個命令讀取暫存器的內(nèi)容。讀取將從字節(jié)0開始,一直進行下去,直到第9(字節(jié)8,CRC)字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復位命令來中止讀取。例如:讀取溫度轉(zhuǎn)換結(jié)果步驟如下:發(fā)讀取暫存器命令,代碼與實現(xiàn)跳過讀序列號操作代碼一樣;
WriteOneChar(0xBE);
讀取溫度轉(zhuǎn)換結(jié)果的低8位
a=ReadOneChar();讀取溫度轉(zhuǎn)換結(jié)果的高8位
b=ReadOneChar();第19頁/共33頁存儲器操作命令ReadScratchpad[BEh]第1953ReadOneChar()函數(shù)unsignedcharReadOneChar(void)//讀一個字節(jié){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0; //給脈沖信號
dat>>=1; DQ=1; //給脈沖信號
if(DQ_7) dat|=0x80; Delay(4); } return(dat);}第20頁/共33頁ReadOneChar()函數(shù)unsignedchar54存儲器操作命令CopyScratchpad[48h]這條命令把暫存器的內(nèi)容拷貝到DS18B20的EEPROM里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。
第21頁/共33頁存儲器操作命令CopyScratchpad[48h]第2155存儲器操作命令ConvertT[44h]這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做時間轉(zhuǎn)換的話,DS18B20將在總線上輸出“0”,若溫度轉(zhuǎn)換完成,則輸出“1”。例如:向DS18B20寫一個字節(jié)0x44,就可以啟動DS18B20進行溫度轉(zhuǎn)換,代碼與實現(xiàn)跳過讀序列號操作代碼一樣。
第22頁/共33頁存儲器操作命令ConvertT[44h]第22頁/共33頁56存儲器操作命令RecallEEPROM[B8h]這條命令把報警觸發(fā)器里的值拷回暫存器。這種拷回操作在DS18B20上電時自動執(zhí)行,這樣器件一上電暫存器里馬上就存在有效的數(shù)據(jù)了。若在這條命令發(fā)出之后發(fā)出讀時間隙,器件會輸出溫度轉(zhuǎn)換忙的標識:“0”=忙,“1”=完成。第23頁/共33頁存儲器操作命令RecallEEPROM[B8h]第23頁/57存儲器操作命令ReadPowerSupply[B4h]若把這條命令發(fā)給DS18B20后發(fā)出讀時間隙,器件會返回它的電源模式:“0”=寄生電源,“1”=外部電源。第24頁/共33頁存儲器操作命令ReadPowerSupply[B4h]第58工作模塊25
8路溫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年高中生物第2單元第2章第1節(jié)核酸的結(jié)構(gòu)和功能教案中圖版必修1
- 搪瓷保溫杯的優(yōu)勢與選購指南考核試卷
- 方便面餅的復水性測試與品質(zhì)評價考核試卷
- 科技引領(lǐng)的商業(yè)運輸領(lǐng)域中如何更好地利用綠色物流和新能源自卸車
- 電商平臺的物流信息系統(tǒng)建設(shè)
- 科技助力傳統(tǒng)文化煥發(fā)新活力
- 時尚產(chǎn)品設(shè)計實踐考核試卷
- 智慧路燈合同范本
- 摩托車點火系統(tǒng)原理與維修考核試卷
- 電子商務(wù)平臺戰(zhàn)略運營解析與盈利路徑探討
- Q∕GDW 11612.2-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第2部分:技術(shù)要求
- 公司辦公室5S管理規(guī)定(實用含圖片)
- (完整版)餐飲員工入職登記表
- 智能化工程施工工藝圖片講解
- 人教版小學五年級數(shù)學下冊教材解讀
- 2022年最新蘇教版五年級下冊科學全冊教案
- 咳嗽與咳痰課件
- 小學四年級數(shù)學奧數(shù)應用題100題
- 綜合布線驗收報告材料
- 《初三心理健康教育》ppt課件
- 重慶鐵塔公司配套設(shè)備安裝施工服務(wù)技術(shù)規(guī)范書
評論
0/150
提交評論