




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
淘寶店鋪:技術(shù)論壇《手把手教你學(xué)STM32》主講人:正點原子團(tuán)隊硬件平臺:正點原子STM32開發(fā)板:廣州市星翼電子科技有限公司淘寶店鋪:技術(shù)論壇:開源電子網(wǎng)公眾平臺:“正點原子”官方網(wǎng)站:聯(lián)系電話:ALIENTEK《手把手教你學(xué)STM32》
DS18B20實驗STM32F1xx開發(fā)板(正點原子)STM32F4xx開發(fā)板(正點原子)適用平臺淘寶店鋪:技術(shù)論壇DS18B20實驗淘寶店鋪:技術(shù)論壇參考資料:戰(zhàn)艦STM32F1開發(fā)板
《STM32F1開發(fā)指南-庫函數(shù)版本》-第35章DS18B20溫度傳感器實驗精英STM32F1開發(fā)板
《STM32F1開發(fā)指南-庫函數(shù)版本》-第34章DS18B20溫度傳感器實驗miniSTM32F1開發(fā)板
《STM32不完全手冊-庫函數(shù)版本》-第28章DS18B20溫度傳感器實驗探索者STM32F4開發(fā)板
《STM32F4開發(fā)指南-庫函數(shù)版本》-第35章DS18B20溫度傳感器實驗?zāi)夸汥S18B20介紹1實驗程序講解2淘寶店鋪:技術(shù)論壇DS18B20介紹淘寶店鋪:技術(shù)論壇DS18B20技術(shù)性能特征①、獨(dú)特的單總線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實
現(xiàn)微處理器與DS18B20的雙向通訊。大大提高了系統(tǒng)的抗干擾性。②、測溫范圍-55℃~+125℃,精度為±0.5℃。③、支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,
實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)?/p>
不穩(wěn)定。④、工作電源:3.0~5.5V/DC(可以數(shù)據(jù)線寄生電源)。⑤、在使用中不需要任何外圍元件。⑥、測量結(jié)果以9~12位數(shù)字量方式串行傳送。DS18B20介紹淘寶店鋪:技術(shù)論壇DS18B20封裝DS18B20介紹淘寶店鋪:技術(shù)論壇連接方式DS18B20介紹淘寶店鋪:技術(shù)論壇
硬件連接戰(zhàn)艦精英mini探索者DS18B20介紹淘寶店鋪:技術(shù)論壇單總線是一種半雙工通信方式DS18B20共有6種信號類型:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1。所有這些信號,除了應(yīng)答脈沖以外,都由主機(jī)發(fā)出同步信號。并且發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前。邊講信號類型,邊講代碼配置的方式,讓大家了解STM32驅(qū)動18B20過程。DS18B20介紹淘寶店鋪:技術(shù)論壇信號線: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信號線: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信號線: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ù)位脈沖單總線上的所有通信都是以初始化序列開始。主機(jī)輸出低電平,保持低電平時間至少480us,,以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,4.7K的上拉電阻將單總線拉高,延時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)答信號。}DS18B20介紹淘寶店鋪:技術(shù)論壇②應(yīng)答信號//等待DS18B20的回應(yīng)//返回1:未檢測到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ù)論壇③寫時序?qū)憰r序包括寫0時序和寫1時序。所有寫時序至少需要60us,且在2次獨(dú)立的寫時序之間至少需要1us的恢復(fù)時間,兩種寫時序均起始于主機(jī)拉低總線。寫1時序:主機(jī)輸出低電平,延時2us,然后釋放總線,延時60us。寫0時序:主機(jī)輸出低電平,延時60us,然后釋放總線,延時2us。DS18B20介紹淘寶店鋪:技術(shù)論壇//寫一個字節(jié)到DS18B20//dat:要寫入的字節(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);//延時2usDS18B20_DQ_OUT=1;//釋放總線delay_us(60);//延時60us}else//輸出低{DS18B20_DQ_OUT=0;//主機(jī)輸出低電平delay_us(60);//延時60usDS18B20_DQ_OUT=1;//釋放總線delay_us(2);//延時2us}}}DS18B20介紹淘寶店鋪:技術(shù)論壇④讀時序單總線器件僅在主機(jī)發(fā)出讀時序時,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時序至少需要60us,且在2次獨(dú)立的讀時序之間至少需要1us的恢復(fù)時間。每個讀時序都由主機(jī)發(fā)起,至少拉低總線1us。主機(jī)在讀時序期間必須釋放總線,并且在時序起始后的15us之內(nèi)采樣總線狀態(tài)。典型的讀時序過程為:主機(jī)輸出低電平延時2us,然后主機(jī)轉(zhuǎn)入輸入模式延時12us,然后讀取單總線當(dāng)前的電平,然后延時50us。DS18B20介紹淘寶店鋪:技術(shù)論壇//從DS18B20讀取一個位//返回值: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);//延時12usif(DS18B20_DQ_IN)data=1;//讀取總線數(shù)據(jù)elsedata=0; delay_us(50);//延時50usreturndata;}典型的讀時序過程為:主機(jī)輸出低電平延時2us,然后主機(jī)轉(zhuǎn)入輸入模式延時12us,然后讀取單總線當(dāng)前的電平,然后延時50us。DS18B20介紹淘寶店鋪:技術(shù)論壇//從DS18B20讀取一個字節(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;}讀取一個字節(jié)數(shù)據(jù)DS18B20介紹淘寶店鋪:技術(shù)論壇我們來看看DS18B20的典型溫度讀取過程,DS18B20的典型溫度讀取過程為:復(fù)位發(fā)SKIPROM命令(0XCC)發(fā)開始轉(zhuǎn)換命令(0X44)延時復(fù)位發(fā)送SKIPROM命令(0XCC)發(fā)讀存儲器命令(0XBE)連續(xù)讀出兩個字節(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷月結(jié)協(xié)議合同范本
- 合同主體變更補(bǔ)充合同范本
- 動遷出售合同范例
- 合陽房子出租合同范本
- 不規(guī)則車位轉(zhuǎn)讓合同范本
- 水果存儲合同范本
- 公寓降價出租合同范例
- 農(nóng)田承包中介合同范本
- 發(fā)廊出兌合同范本
- 商務(wù)外貿(mào)合同范本
- 學(xué)術(shù)規(guī)范與寫作課件
- 《隆中對》教學(xué)講解課件
- 絕緣電阻測試儀安全操作規(guī)程
- DB6101T 197-2022 藤蔓類尾菜堆肥技術(shù)規(guī)程
- 西藏房屋建筑工程竣工材料全套表格
- 量子力學(xué)英文課件格里菲斯Chapter4
- 鍋爐節(jié)能管理制度
- 2023年道路交通安全法實施條例
- 鹽城市殘疾人康復(fù)機(jī)構(gòu)認(rèn)定暫行辦法
- 護(hù)理不良事件管理、上報制度及流程
- 房地產(chǎn)公司各崗位職責(zé)及組織結(jié)構(gòu)圖
評論
0/150
提交評論