第63講ds18b20溫度傳感器實(shí)驗(yàn)_第1頁(yè)
第63講ds18b20溫度傳感器實(shí)驗(yàn)_第2頁(yè)
第63講ds18b20溫度傳感器實(shí)驗(yàn)_第3頁(yè)
第63講ds18b20溫度傳感器實(shí)驗(yàn)_第4頁(yè)
第63講ds18b20溫度傳感器實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

淘寶店鋪:技術(shù)論壇《手把手教你學(xué)STM32》主講人:正點(diǎn)原子團(tuán)隊(duì)硬件平臺(tái):正點(diǎn)原子STM32開(kāi)發(fā)板:廣州市星翼電子科技有限公司淘寶店鋪:技術(shù)論壇:開(kāi)源電子網(wǎng)公眾平臺(tái):“正點(diǎn)原子”官方網(wǎng)站:聯(lián)系電話:ALIENTEK《手把手教你學(xué)STM32》

DS18B20實(shí)驗(yàn)STM32F1xx開(kāi)發(fā)板(正點(diǎn)原子)STM32F4xx開(kāi)發(fā)板(正點(diǎn)原子)適用平臺(tái)淘寶店鋪:技術(shù)論壇DS18B20實(shí)驗(yàn)淘寶店鋪:技術(shù)論壇參考資料:戰(zhàn)艦STM32F1開(kāi)發(fā)板

《STM32F1開(kāi)發(fā)指南-庫(kù)函數(shù)版本》-第35章DS18B20溫度傳感器實(shí)驗(yàn)精英STM32F1開(kāi)發(fā)板

《STM32F1開(kāi)發(fā)指南-庫(kù)函數(shù)版本》-第34章DS18B20溫度傳感器實(shí)驗(yàn)miniSTM32F1開(kāi)發(fā)板

《STM32不完全手冊(cè)-庫(kù)函數(shù)版本》-第28章DS18B20溫度傳感器實(shí)驗(yàn)探索者STM32F4開(kāi)發(fā)板

《STM32F4開(kāi)發(fā)指南-庫(kù)函數(shù)版本》-第35章DS18B20溫度傳感器實(shí)驗(yàn)?zāi)夸汥S18B20介紹1實(shí)驗(yàn)程序講解2淘寶店鋪:技術(shù)論壇DS18B20介紹淘寶店鋪:技術(shù)論壇DS18B20技術(shù)性能特征①、獨(dú)特的單總線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)

現(xiàn)微處理器與DS18B20的雙向通訊。大大提高了系統(tǒng)的抗干擾性。②、測(cè)溫范圍-55℃~+125℃,精度為±0.5℃。③、支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),

實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)?/p>

不穩(wěn)定。④、工作電源:3.0~5.5V/DC(可以數(shù)據(jù)線寄生電源)。⑤、在使用中不需要任何外圍元件。⑥、測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送。DS18B20介紹淘寶店鋪:技術(shù)論壇DS18B20封裝DS18B20介紹淘寶店鋪:技術(shù)論壇連接方式DS18B20介紹淘寶店鋪:技術(shù)論壇

硬件連接戰(zhàn)艦精英mini探索者DS18B20介紹淘寶店鋪:技術(shù)論壇單總線是一種半雙工通信方式DS18B20共有6種信號(hào)類型:復(fù)位脈沖、應(yīng)答脈沖、寫(xiě)0、寫(xiě)1、讀0和讀1。所有這些信號(hào),除了應(yīng)答脈沖以外,都由主機(jī)發(fā)出同步信號(hào)。并且發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前。邊講信號(hào)類型,邊講代碼配置的方式,讓大家了解STM32驅(qū)動(dòng)18B20過(guò)程。DS18B20介紹淘寶店鋪:技術(shù)論壇信號(hào)線:PG11(戰(zhàn)艦/精英)//IO方向設(shè)置#defineDS18B20_IO_IN(){GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=8<<12;}#defineDS18B20_IO_OUT(){GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=3<<12;}//IO操作

#define DS18B20_DQ_OUTPGout(11)//數(shù)據(jù)端口PA0#define DS18B20_DQ_INPGin(11)//數(shù)據(jù)端口 PA0信號(hào)線:PA0(mini)//IO方向設(shè)置#defineDS18B20_IO_IN(){GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8<<0;}#defineDS18B20_IO_OUT(){GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=3<<0;}////IO操作

#define DS18B20_DQ_OUTPAout(0)//數(shù)據(jù)端口 PA0#define DS18B20_DQ_INPAin(0)//數(shù)據(jù)端口 PA0信號(hào)線:PG9(探索者)//IO方向設(shè)置#defineDS18B20_IO_IN(){GPIOG->MODER&=~(3<<(9*2));GPIOG->MODER|=0<<9*2;} //PG9輸入模#defineDS18B20_IO_OUT(){GPIOG->MODER&=~(3<<(9*2));GPIOG->MODER|=1<<9*2;} //PG9輸出模////IO操作

#define DS18B20_DQ_OUTPGout(9)//數(shù)據(jù)端口PG9#define DS18B20_DQ_INPGin(9)//數(shù)據(jù)端口 PG9DS18B20介紹淘寶店鋪:技術(shù)論壇復(fù)位脈沖單總線上的所有通信都是以初始化序列開(kāi)始。主機(jī)輸出低電平,保持低電平時(shí)間至少480us,,以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,4.7K的上拉電阻將單總線拉高,延時(shí)15~60us,并進(jìn)入接收模式(Rx)。接著DS18B20拉低總線60~240us,以產(chǎn)生低電平應(yīng)答脈沖。

//復(fù)位DS18B20voidDS18B20_Rst(void) {DS18B20_IO_OUT();//設(shè)置為輸出模式DS18B20_DQ_OUT=0;//拉低DQdelay_us(750);//拉低750us(至少480us)DS18B20_DQ_OUT=1;//DQ=1拉高釋放總線

delay_us(15);//15US//進(jìn)入接受模式,等待應(yīng)答信號(hào)。}DS18B20介紹淘寶店鋪:技術(shù)論壇②應(yīng)答信號(hào)//等待DS18B20的回應(yīng)//返回1:未檢測(cè)到DS18B20的存在返回0:存在u8DS18B20_Check(void) {u8retry=0;DS18B20_IO_IN();//SETPA0INPUT while(DS18B20_DQ_IN&&retry<200){retry++;delay_us(1);}; if(retry>=200)return1;elseretry=0;while(!DS18B20_DQ_IN&&retry<240){retry++;delay_us(1);};if(retry>=240)return1; return0;}DS18B20介紹淘寶店鋪:技術(shù)論壇③寫(xiě)時(shí)序?qū)憰r(shí)序包括寫(xiě)0時(shí)序和寫(xiě)1時(shí)序。所有寫(xiě)時(shí)序至少需要60us,且在2次獨(dú)立的寫(xiě)時(shí)序之間至少需要1us的恢復(fù)時(shí)間,兩種寫(xiě)時(shí)序均起始于主機(jī)拉低總線。寫(xiě)1時(shí)序:主機(jī)輸出低電平,延時(shí)2us,然后釋放總線,延時(shí)60us。寫(xiě)0時(shí)序:主機(jī)輸出低電平,延時(shí)60us,然后釋放總線,延時(shí)2us。DS18B20介紹淘寶店鋪:技術(shù)論壇//寫(xiě)一個(gè)字節(jié)到DS18B20//dat:要寫(xiě)入的字節(jié)voidDS18B20_Write_Byte(u8dat){u8j;u8testb;DS18B20_IO_OUT();//設(shè)置PA0為輸出for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb)//輸出高{DS18B20_DQ_OUT=0;//主機(jī)輸出低電平delay_us(2);//延時(shí)2usDS18B20_DQ_OUT=1;//釋放總線delay_us(60);//延時(shí)60us}else//輸出低{DS18B20_DQ_OUT=0;//主機(jī)輸出低電平delay_us(60);//延時(shí)60usDS18B20_DQ_OUT=1;//釋放總線delay_us(2);//延時(shí)2us}}}DS18B20介紹淘寶店鋪:技術(shù)論壇④讀時(shí)序單總線器件僅在主機(jī)發(fā)出讀時(shí)序時(shí),才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至少需要60us,且在2次獨(dú)立的讀時(shí)序之間至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起,至少拉低總線1us。主機(jī)在讀時(shí)序期間必須釋放總線,并且在時(shí)序起始后的15us之內(nèi)采樣總線狀態(tài)。典型的讀時(shí)序過(guò)程為:主機(jī)輸出低電平延時(shí)2us,然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us,然后讀取單總線當(dāng)前的電平,然后延時(shí)50us。DS18B20介紹淘寶店鋪:技術(shù)論壇//從DS18B20讀取一個(gè)位//返回值:1/0u8DS18B20_Read_Bit(void) //readonebit{u8data;DS18B20_IO_OUT();//設(shè)置為輸出DS18B20_DQ_OUT=0;//輸出低電平2usdelay_us(2);DS18B20_DQ_OUT=1;//拉高釋放總線DS18B20_IO_IN();//設(shè)置為輸入delay_us(12);//延時(shí)12usif(DS18B20_DQ_IN)data=1;//讀取總線數(shù)據(jù)elsedata=0; delay_us(50);//延時(shí)50usreturndata;}典型的讀時(shí)序過(guò)程為:主機(jī)輸出低電平延時(shí)2us,然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us,然后讀取單總線當(dāng)前的電平,然后延時(shí)50us。DS18B20介紹淘寶店鋪:技術(shù)論壇//從DS18B20讀取一個(gè)字節(jié)//返回值:讀到的數(shù)據(jù)u8DS18B20_Read_Byte(void)//readonebyte{u8i,j,dat;dat=0;for(i=1;i<=8;i++){j=DS18B20_Read_Bit();dat=(j<<7)|(dat>>1);} returndat;}讀取一個(gè)字節(jié)數(shù)據(jù)DS18B20介紹淘寶店鋪:技術(shù)論壇我們來(lái)看看DS18B20的典型溫度讀取過(guò)程,DS18B20的典型溫度讀取過(guò)程為:復(fù)位發(fā)SKIPROM命令(0XCC)發(fā)開(kāi)始轉(zhuǎn)換命令(0X44)延時(shí)復(fù)位發(fā)送SKIPROM命令(0XCC)發(fā)讀存儲(chǔ)器命令(0XBE)連續(xù)讀出兩個(gè)字節(jié)數(shù)據(jù)(即溫度)結(jié)束。DS18B20介紹淘寶店鋪:技術(shù)論壇//從ds18b20得到溫度值//精度:0.1C//返回值:溫度值(-550~1250)shortDS18B20_Get_Temp(void){u8temp;u8TL,TH;shorttem;DS18B20_Start();//ds1820startconvertDS18B20_Rst();復(fù)位DS18B20_Check(); DS18B20_Write_Byte(0xcc);//skipromDS18B20_Write_Byte(0xbe);//convert TL=DS18B20_Read_Byte();TH=DS18B20_Read_Byte(); if(TH>7){TH=~TH;TL=~TL;temp=0;//溫度為負(fù)

}elsetemp=1;//溫度為正

tem=TH;//獲得高八位

tem<<=8;tem+=TL;//獲得底八位

tem=(float)tem*0.625;//轉(zhuǎn)換

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論