版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、12、溫度顯示實驗,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20簡介DS18B20 單線數字溫度傳感器,即“一線器件”,其具有獨特的優(yōu)點: ( 1 )采用單總線的接口方式 與微處理器連接時 僅需要一條口線即可實現微處理器與 DS18B20 的雙向通訊。 單總線具有經濟性好,抗干擾能力強,
2、適合于惡劣環(huán)境的現場溫度測量,使用方便等優(yōu)點,使用戶可輕松地組建傳感器網絡,為測量系統(tǒng)的構建引入全新概念。 ( 2 )測量溫度范圍寬,測量精度高 DS18B20 的測量范圍為 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C 范圍內,精度為 ± 0.5°C 。 ( 4 )持多點組網功能 多個 DS1
3、8B20 可以并聯(lián)在惟一的單線上,實現多點測溫。 ( 5 )供電方式靈活 DS18B20 可以通過內部寄生電路從數據線上獲取電源。因此,當數據線上的時序滿足一定的要求時,可以不接外部電源,從而 使系統(tǒng)結構更趨簡單,可靠性更高。 ( 6 )測量參數可配置 DS18B20 的測量分辨率可通過程序設定 9~12 位。 &
4、#160; DS18B20 具有體積更小、適用電壓更寬、更經濟、可選更小的封裝方式,更寬的電壓適用范圍,適合于構建自己的經濟的測溫系統(tǒng),因此也就被設計者們所青睞。,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,單線總線特點單總線即只有一根數據線,系統(tǒng)中的數據交換,控制都由這根線完成。單總線通常要求外接一個約為 4.7K—10K 的上拉電阻
5、,這樣,當總線閑置時其狀態(tài)為高電平。,原理圖解析,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20單總線的工作方式,DS18B20的初始化,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,主機首先發(fā)出一個480-960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖剑?/p>
6、在隨后的480微秒時間內對總線進行檢測,如果有低電平出現說明總線上有器件已做出應答。若無低電平出現一直都是高電平說明總線上無器件應答?! ∽鰹閺钠骷腄S18B20在一上電后就一直在檢測總線上是否有480-960微秒的低電平出現,如果有,在總線轉為高電平后等待15-60微秒后將總線電平拉低60-240微秒做出響應存在脈沖,告訴主機本器件已做好準備。若沒有檢測到就一直在檢測等待。,普中科技 單片機開發(fā)儀視
7、頻教程,,www.prechin.comwww.prechin.net,初始化時序圖,/****************************************************************************** 函數名 : Ds18b20Init* 函數功能 : 初始化* 輸入 : 無* 輸出 : 初始化成功返回1,失敗返回0*
8、****************************************************************************/unsigned char Ds18b20Init(){unsigned int i;DSIO=0; //將總線拉低480us~960usi=70;while(i--);//延時642usDSIO=1;//然后拉高總線,若DS18B20做出反應會將在15
9、us~60us后將總線拉低i=0;while(DSIO)//等待DS18B20拉低總線{i++;if(i>50000)//等待>50MSreturn 0;//初始化失敗}return 1;//初始化成功},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,普中科技 單片
10、機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,主機發(fā)出各種操作命令都是向DS18B20寫0和寫1組成的命令字節(jié),接收數據時也是從DS18B20讀取0或1的過程。因此首先要搞清主機是如何進行寫0、寫1、讀0和讀1的。寫周期最少為60微秒,最長不超過120微秒。寫周期一開始做為主機先把總線拉低1微秒表示寫周期開始。隨后若主機想寫0,則將總線置為低電平,若主機想寫1,則將總線置為高電平,持續(xù)時間最少60
11、微秒直至寫周期結束,然后釋放總線為高電平至少1微秒給總線恢復 。而DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us開始對總線采樣,在采樣期內總線為高電平則為1,若采樣期內總線為低電平則為0。,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,讀操作時序圖,/***************************************
12、***************************************** 函數名 : Ds18b20WriteByte* 函數功能 : 向18B20寫入一個字節(jié)* 輸入 : com* 輸出 : 無*******************************************************************************/
13、void Ds18b20WriteByte(unsigned char dat){unsigned int i,j;for(j=0;j>=1;}},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,對于讀數據操作時序也分為讀0時序和讀1時序兩個過程。讀周期是從主機把單總線拉低1微秒之后就得釋放單總線為高電平,以讓DS18B20把數據
14、傳輸到單總線上。作為從機DS18B20在檢測到總線被拉低1微秒后,便開始送出數據,若是要送出0就把總線拉為低電平直到讀周期結束。若要送出1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內的15微秒時間內完成對總線進行采樣檢測,采樣期內總線為低電平則確認為0。采樣期內總線為高電平則確認為1。完成一個讀時序過程,至少需要60微秒才能完成,普中科技 單片機開發(fā)儀視
15、頻教程,,www.prechin.comwww.prechin.net,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,寫操作時序圖,/******************************************************************************** 函數名 : Ds18b20ReadByt
16、e* 函數功能 : 讀取一個字節(jié)* 輸入 : com* 輸出 : 無*******************************************************************************/unsigned char Ds18b20ReadByte(){unsigned char byte,bi;unsigned int i,j;
17、for(j=8;j>0;j--){DSIO=0;//先將總線拉低1usi++;DSIO=1;//然后釋放總線i++;i++;//延時6us等待數據穩(wěn)定bi=DSIO; //讀取數據,從最低位開始讀取byte=(byte>>1)|(bi<<7); /*將byte左移一位,然后與上右移7位后的bi,注意移動之后移掉那位補0。*/ i=4;
18、//讀取完之后等待48us再接著讀取下一個數while(i--);}return byte;},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20的操作步驟,DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數據傳輸。其工作時序包括:初始化時序寫時序讀時序,普中科技
19、 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20 內部結構主要由四部分組成: 64 位光刻 ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL 、配置寄存器。光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以
20、看作是該 DS18B20 的地址序列碼。 64 位光刻 ROM 的排列是:開始 8 位(地址: 28H )是產品類型標號,接著的 48 位是該 DS18B20 自身的序列號,并且每個 DS18B20 的序列號都不相同,因此它可以看作是該 DS18B20 的地址序列碼;最后 8 位則是前面 56 位的循環(huán)冗余校驗碼( CRC=X8+X5+X4+1 )。由于每一個 DS18B20 的 ROM 數據都各不相同,因此微控制器就可以通過單總線對多
21、個 DS18B20 進行尋址,從而實現一根總線上掛接多個 DS18B20 的目的。,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20的存儲器由一個高速暫存RAM和一個非易失性、電可擦除(E2)RAM組成。,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,配置寄存
22、器,其中配置寄存器的格式如下:,出場設置默認R0、R1為11。也就是12位分辨率,也就是1位代表0.0625攝氏度。,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,DS18B20經轉換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。所以當我們只想簡單的讀取溫度值的時候,只用讀取暫存器中的第0和第1個字節(jié)就可以了。簡單的讀取溫度值的步
23、驟如下:跳過ROM操作發(fā)送溫度轉換命令跳過ROM操作發(fā)送讀取溫度命令讀取溫度值,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,/********************************************
24、****************************** 函數名 : Ds18b20ReadTemp* 函數功能 : 讀取溫度* 輸入 : com* 輸出 : 無*************************************************************************/int Ds18b20ReadTemp(){
25、unsigned int temp=0;unsigned char tmh,tml;Ds18b20ChangTemp();//先寫入轉換命令Ds18b20ReadTempCom();//然后等待轉換完后發(fā)送讀取溫度命令tml=Ds18b20ReadByte();//讀取溫度值共16位,先讀低字節(jié)tmh=Ds18b20ReadByte();//再讀高字節(jié)temp=tmh;temp<<=8;
26、temp|=tml;return temp;},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,/************************************************************* 函數名 : Ds18b20ChangTemp* 函數功能 : 讓18b20開始轉換溫度* 輸入
27、 : com* 輸出 : 無************************************************************/void Ds18b20ChangTemp(){Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc);//跳過ROM操作命令 Ds18b20WriteByte(0x44);
28、 //溫度轉換命令Delay1ms(100);},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,/************************************************************* 函數名 : Ds18b20ReadTempCom* 函數功能 : 發(fā)送讀取溫度命令* 輸入
29、 : com* 輸出 : 無************************************************************/void Ds18b20ReadTempCom(){Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc); //跳過ROM操作命令Ds18b20WriteByte(0xbe); /
30、/發(fā)送讀取溫度命令},普中科技 單片機開發(fā)儀視頻教程,,www.prechin.comwww.prechin.net,什么是補碼正數的補碼是正數本身負數的補碼是原碼取反,然后再加1。DS18B20存儲的溫度值是以補碼的形式存儲的,所以讀出來的溫度值是實際溫度值的補碼,要把的轉換為原碼。正溫度的話,原碼就是補碼本身,所以在12位分辨率下,溫度的計算公式是:溫度值=讀取值*0.0625負溫度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ds18b20 單線溫度傳感器外文翻譯
- ds18b20 單線溫度傳感器外文翻譯
- 溫度傳感器ds18b20資料
- 數字溫度傳感器ds18b20的原理與應用
- 數字溫度傳感器ds18b20介紹及應用
- 溫度傳感器應用------以ds18b20為例
- 畢業(yè)設計---ds18b20做溫度傳感器的數字溫度計
- 基于ds18b20溫度傳感器的數字溫度計設計說明
- 基于ds18b20單線多點溫度測量系統(tǒng)
- 基于ds18b20溫度傳感器的數字溫度計設計說明
- 智能溫度傳感器ds18b20的原理與應用
- 基于ds18b20溫度傳感器的數字溫度計設計畢業(yè)設計
- 傳感器課程設計-----ds18b20數字溫度計的設計
- 基于ds18b20溫度傳感器的數字溫度計設計畢業(yè)設計
- ds18b20 數字溫度計外文翻譯
- 外文翻譯---ds18b20 數字溫度計
- ds18b20數字溫度計的設計
- 外文資料翻譯---智能溫度傳感器ds18b20的原理及其應用
- 課程設計--ds18b20數字溫度計
- ds18b20 數字溫度計外文資料翻譯
評論
0/150
提交評論