實驗程序-庫函數(shù)版輸出_第1頁
實驗程序-庫函數(shù)版輸出_第2頁
實驗程序-庫函數(shù)版輸出_第3頁
實驗程序-庫函數(shù)版輸出_第4頁
實驗程序-庫函數(shù)版輸出_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

14DS18B20溫度差別較大,所以本章向大家介紹如何通過STM32來外部數(shù)字溫線技術(shù),通過它來實現(xiàn)STM32和外部溫度傳感器(DS18B20)的通信,并把從溫度傳感器得到的溫度數(shù)據(jù)通過printf打印輸出在串口助手上。本章分為以下學DS18B20DS18B20DS18B20DALLAS5.5V的電壓范圍,采用多種封裝形式,從而使系統(tǒng)設計靈活、方便,設定分辨率及用戶 在EEPROM中,掉電后依然保存。其內(nèi)部結(jié)構(gòu)如圖所示:每個DS18B20的64位序列號均不相同。64位ROM的排列是:前8位是產(chǎn)品碼,接著48位是DS18B20的序列號,最后8位是前面56位的循環(huán)冗余(CRC=X8+X5DS18B206號類型:復位脈沖、應答脈沖、寫0、寫101。所有這些信號,除了應答脈沖復位脈沖和應答脈沖若為低電平,再延時480us。寫時序0160us21us1然后釋放總線,延時2us。讀時序獨立的讀時序之間至少需要1us的恢復時間。每個讀時序都由主機發(fā)起,至少拉低總線1us15us2us12us,然后讀50us在了解了單總線時序之后,我們來看看DS18B20的典型溫度過程,DS18B20的典型溫度過程為:復位→發(fā)SKIPROM命令(0XCC)→發(fā)開始轉(zhuǎn)換命令(0X44)→延時→復位→發(fā)送SKIPROM命令(0XCC)→發(fā)讀器命令(0XBE)→連續(xù)讀出兩個字DS18B20DS18B20PG11DS18B20IO*函數(shù) : : :/void{GPIO_InitTypeDef}#definedq(GPIO_Pin_11//PG11#defineGPIO_ds18b20GPIOG#defineds18b20_dq_HGPIO_SetBits(GPIO_ds18b20,dq)#defineds18b20_dq_LGPIO_ResetBits(GPIO_ds18b20,dq)DS18B20主機首先發(fā)出一個480-960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖剑⒃陔S480若無低電平出現(xiàn)一直都是高電平說明總線上無器件應答。DS18B20480-960微秒的低15-6060-240微函數(shù) : :DS18B20初始化時 : :/void{}DS18B20操主機發(fā)出命令都是向DS18B20寫0和寫1組成令字節(jié),接收數(shù)據(jù)160120101,則將601微秒給總線恢復。而DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us1,若采樣期內(nèi)總線為低電平則為0函數(shù) : :DS18B20讀數(shù)據(jù)時 : :/u8{u8{ delay_us(4);//延時4微妙delay_us(10);//延時10微妙 {}}}DS18B20操對于讀數(shù)據(jù)操作時序也分為讀0時序和讀1時序兩個過程。讀周期是從主機把單總線拉低1微秒之后就得釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。作為從機DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時間內(nèi)完0。采樣期內(nèi)總線為高電平則確認為1。完成一個讀時序過程,至少需要60微秒才能完成。函數(shù) : :DS18B20寫數(shù)據(jù)時 : :{u8i=0;{ {}{}}}.6DS18B20寄存器簡DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成64光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B2064ROM的排列是:開始8位(28H)是產(chǎn)品48DS18B20DS18B20的序DS18B208位則是前56(CRC=X8+X5+X4+1)DS18B20的ROMDS18B20進行尋址,從而實現(xiàn)一根總線上掛接多個DS18B20的目的。非揮發(fā)的溫度觸發(fā)器TH和DS18B20的器由一個高速暫存RAM和一個非易失性、電可擦除RAMR0R1111210.06251.7DS18B201.8溫度操1.溫度操DS18B20經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存器的第0和第就可以了。一次D18B20溫度的操作步驟如下:跳過ROM操作(ROM里面可以DS18B20的地址、型號,還有配置分辨率等,我們只使用一個DS18B20,所以不用地址型號,配置直接使用默認的12位分辨率就好了。)ROMDS18B20的溫度值是以補碼的形式的,所以讀出來的溫度值是實際溫度112度值=-(值減1再取反)*0.0625函數(shù) : : :double {u8a,b; //發(fā)送忽

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論